17

コメントアウトされた数千行のコードを含む継承されたコードベースを使用しています。以前のコーダーは、単に削除するのではなく、後世のために彼のすべてのハードワークを保存することを意図していたことを私は知っていますが、私はそれを読むことは決してなく、邪魔になります。問題の例の1つは、特定のコードセグメントに対してテキスト検索を実行すると、コメント化されたコードで数十の「false」ヒットが発生することです。ピタ。

コメントアウトされたコードの大きなブロックをすばやく簡単に検出する方法はありますか?賢い正規表現かもしれませんか?

私はこの時点でたまたまVB.NETで作業しており、コメント文字は単一のアポストロフィです。

4

8 に答える 8

15

正規表現検索を使用できます。検索する

^.*'.*$

コメント付きの1行を検索します。コメントで始まる少なくとも3行を検索することをお勧めします。

^.*'.*\n.*'.*\n.*'.*$

猫をキーボードから遠ざけてください。

于 2010-03-10T22:27:17.903 に答える
5
(^\s*//.*\n)^10

スタイルのコメントアウトされた10行を同時に検索し//ます。

コメントアウトされたテスト:

\s*//\s*\[Test\].*\n
于 2010-08-16T10:13:36.427 に答える
4

私はduffymoに同意するのではないかと思います。コメントアウトされたコードを自動的に削除する信頼できる方法は見つからないと思います。十分に検索すれば見つかると思いますが、あなたの時間はあなたの仕事によりよく費やされるでしょう。

私は過去にこの状況にあり(あまりにも頻繁に)、さまざまなモジュールで作業しているときにコメントアウトされたコードを削除することになります。

例として、クラスPersonを開いて変更を加えると、まだ削除されていないコメントアウトされたコードが表示されます。コードをチェックアウトし(VSSを使用)、不正なコードを削除してチェックインし、最後にチェックアウトして作業を行います。

すべてがなくなるまでには時間がかかりますが、問題を解決するための時間の有効活用だと思います。

于 2010-03-10T22:28:21.147 に答える
1

MZ-toolsには、デッドコードをレビューする機能があります。

于 2011-04-20T09:42:45.717 に答える
1

ここで終わるC#の人は、次の正規表現を使用してコメント付きの行を見つけてください。

(^|[^/])//[^/]
于 2016-09-12T11:39:20.960 に答える
0

それがバージョン管理システムの目的です。

私はそれがバージョン管理下にあることを確認し(できればVisual Source Safeではない)、それをチェックアウトし、コメントされたコードをすべて削除して、再度チェックインします。

また、将来のために開発チームでの練習をお勧めしません。

于 2010-03-10T22:18:43.557 に答える
0

コメントの削除に役立つVisualStudio用のマクロを作成または検索することをお勧めします。

いくつかの疑似ロジック:

  • 行番号から始めて、最初の文字を読みます。この行番号を覚えておいてください。
  • がVBコメント文字の場合は、'続行します
  • 次の行の最初の文字を読みます。コメント文字の場合は続行します。
  • コメント文字ではない行を見つけるときは、通過した行の数を分析します。
  • 通過した行数がしきい値のnに一致する場合は、それらを削除します。
于 2010-03-10T22:29:25.200 に答える
0

これが古いスレッドであることは知っていますが、私を助けるトリックについては言及されていません。

私はこの正規表現を検索します:

(^ \ s *'。=。 \n)^

等号を含むコメントアウトされた行を検索します。私の経験では、コメントアウトされたコードのほとんどのブロックには、割り当てがあり、等号が実際のコメントに含まれる行が少なくとも1行含まれています。

置換を自動化せず、F3を押すだけで、1行に一致する場合は、Enterキーを押して、強調表示されたテキストを新しい行に置き換えます。コメントアウトされた行のブロックの一部である行に到達した場合は、手動で選択し、Enterキーを押して、もう一度F3キーを押します。

于 2017-05-23T06:22:31.997 に答える