4

テスト上の理由でコードの行をコメントアウトし、コメントされた行を使用してコードをリポジトリにチェックインすることになったのは偶然でした。

たとえば、EclipseRCPのジョブのルールを1行に設定しました。新しい機能を開発しているときに、ルールが設定されないように、この1行をコメントアウトしました。

数時間後、新機能が完成し、SVNにコミットする準備が整いました。私は多くのことを変更しましたが、通常はリポジトリとの同期(Eclipseの場合)を実行して変更をすばやく再確認し、すべてのクラスをざっと見て、ある種の心の健全性チェックを実行します(つまり、自分に本当に触れたかどうかを自問します)このクラス?)。しかし、私はすべての行をチェックするわけではありません。

したがって、この場合、コメントされた行を覚えておらず、SVNにコミットされました。

さて、このような間違いを防ぐための自動化を見つけることができるかどうか疑問に思いました。コードテンプレートまたはタスクタグを作成し、コメント行にこれをマークすることを考えました。次に、svnpre-commitフックでこのタスクタグを確認します。

しばらくグーグルで検索しましたが、何も見つかりませんでした。誰かがこれを行う方法を知っていますか?それとも、これに近づき、私が探しているものを達成するために小さな変更が必要なものですか?

4

3 に答える 3

1

そのようなことは pre-commit フックで確認できますが、トランクまたは他の統合ラインにマージする前に、最初にブランチを使用し、最後に確認することをお勧めします。一方、コメントアウトされたコードに基づいて、単体テストを使用してそれらを実行し、一部が赤くなっていることを確認することをお勧めします。そして最後になりましたが、削除されたコメントを見逃したことを思い出して、別のコミットを行うのは何が悪いのでしょうか? そして、私の頭に浮かぶのは、@TODOなどを使用しないのはなぜですか。Eclipseまたはより良い@COMMENTのタグを使用して、Eclipseのタスクリストを見てください。

于 2010-05-12T08:06:58.557 に答える
1

FIXMEspong のアイデアを借りて...コメントを外す必要がある場合は、コメント ( ) に何らかのインジケーターを入れてみてはいかがでしょうか。precommit フックは、コミットsvnlook diffを探してFIXME防止することができます。

于 2010-05-13T18:05:34.177 に答える
0

Eclipse でタスク ビューを開きます。FIXME次に、コメントのどこにいるかが表示されます。

// FIXME - uncomment this before checking in
// importantThing.execute();
于 2010-05-12T08:14:09.153 に答える