web-dev-qa-db-ja.com

大きなプロジェクトから始めて、より簡潔な部分に分割する必要がありますか?

背景:現在、企業のインターンとして、新しいハードウェアのテストに使用するために古いプログラム(まだ使用中ですが、異なる部門向け)の転用に取り組んでいます。新しいハードウェアは、レジスタのレイアウトとファームウェアインターフェイスの点で、以前のハードウェアのイテレーションとは異なります。このプロジェクトは新しいハードウェア専用に使用されるため、このプロジェクトのセットアップ方法を自由に統治できます。

現在、プログラムを構成する単一の.cファイルと5つの異なるヘッダーファイルがあります。 .cファイルは現在10000行以上あり、main()を使用するすべての単一関数で構成されています。

私の質問は、コードを.cファイルのより認識可能なチャンクに分割する必要があるかどうかです。必要な方法を調べて見つけるのは、現在のところわずかな煩わしさですが、時間がかかり、締め切りがあります。そうすることのメリットとトレードオフは、後でではなく、今ではどうですか?

私は来週までにプログラムの転用を完了することを目指しています(これは非常に楽観的です。おそらく2週間かかります)。今すぐコードのカリングと移動を開始する方が効率的ですか、それとも単にそのまま私の道を強制しますか?

6
ardent

既存のコードを管理しやすくすることが可能な場合は、リファクタリングを改善する必要があります。そうしないと、それを参照するたびに問題が発生します。そのコードを1〜2年後にもう一度操作する必要があると想像してください。楽しい経験になるとは思いません。

時間がない場合でも、リファクタリングする価値はあります。コードをいくつかの論理的な部分に分割し、それぞれに個別のファイルを作成するには、1日で十分だと思います。これは、コード全体の全体像を把握するのに役立ちます。次回は、どこを見るかが正確にわかるものを見つける必要があります。

同様の(重複していない)質問があります。それらを見てください:

5
superM

おそらく、そこに移行するためのビューを備えたボックスのコードをテストしています。したがって、並べて比較する場合などに使用する場合は、できるだけオリジナルに近いソフトウェアを使用することをお勧めします。それ以外の場合、ポイントは何ですか。

0
Wolf5370

これが前の仕事でしたことです。私もこの問題に直面し、コードをファイルに入れるのは良い考えだと馬鹿が考えました。彼はこれから何年も作業を続ける唯一の人なので、各関数/メソッドの行番号を大体知っていました。

コード全体をモジュール化しようとすると、問題が発生することがわかっていたので、変更しているメソッド/関数の一部を選択し始めました。たとえば、ショッピングカートの表示の問題を修正する必要があり、そのためにメソッド/関数clearShoppingCart()を変更する必要があったため、このコードを別のファイルShoppingCartUtility.Javaに配置しました。

3か月間、コードの75%を管理しやすく理解しやすい構造に移行しました。

乾杯!ディネシュ

0
Dinesh Arora