2011-08-02 21 views
1

私の仕事は、私の前任者によって構築されたレガシーシステムに新しい機能を追加することからほぼ完全になっています。コードにアップグレードする場所を教えてください。

新しい機能はそれほど問題ではありません。システムからいくつかのコーダをペーストしてコピーし、使用方法を十分に知っています。

私の問題は、私の新しい機能がどこにあるべきか、それが継承すべきものがどこにあるのかわからない565クラスです。アーキテクチャーのドキュメントはありません。これまでは、関数呼び出しをトレースしてコードを記述するのに適した場所を見つけるまで、私はソースを読み込んで読み込み、読み取らなければなりませんでした。

このような人のコードに取り組むことは、プログラマーには必要なスキルであるため、私が学ぶにはうまくいくいくつかの専門技術が必要であることは明らかです。

他のプログラマーのコードをアップグレードする際のヒントと秘訣はありますか?

プログラムは、データベース、WebサイトのGUIを備えたサーバーです。

+3

私は弾を噛んで、男の仕事を文書化するのに一週間かかる必要があると上司に伝えます。上司に、あなたとソースコードの良いリファレンスを持っているなら、あなたの後に来る皆さん、生産性を2倍にすると伝えてください。 – Patrick87

+0

@ Patrick87これは私の最初のプログラミング仕事です。私はちょうどインターン笑です。私が行くようにそれを文書化しようとしていますが、それは私のリーグのちょうど外です:( – Skeith

+0

あなたが座って、限られた時間内に、何がうまくいっているのかを理解できなければならないどのようにして、狩猟、狩り、運が良ければよいのですか? – Patrick87

答えて

1

一般的に、他のプログラマーとコードベースについて話し合うと便利です。運があれば、彼らは元の開発者とまだ接触しているかもしれません。

可能な限り文書化してください。あなたが学んだことを書き留めておくと、それを覚えておくのに役立ちます。それは、あなたと他の開発者にとって、将来の参考に役立ちます。

新しいコードベースに直面したときに私が時々思いつくことは、見つけたものの簡単なUML図です。私はこれを手で行います。手で行うと、物事をより良く理解するのに役立ちます。完全に正しいUMLを行う必要はなく、すべての図を作成する必要はありません。あなたが理解しようとするものを描き、何が起こっているのかを理解するのに役立つかどうかを確認してください。 (もちろん、これらの図をドキュメントの一部にする場合は、あいまいでないことを確認する必要があります)

あなたのプロジェクトに幸運を!

0

変更がどこにあるかを決めるのに役立つ3つの要素があります。

  • よく設計されたコードは、変更がどこに行くか(または少なくとも変更が必要なもの)を明確にする必要があります。
  • 体験。エクスペリエンス・プログラミングは、ニーズの変化する部分の選択に役立ちます。
  • 親しみやすさ。コードベースが大きいにもかかわらず、それに精通して、次の変更がどこに行かなければならないか(または少なくともどこから見始めるべきかを知る)を実現します。
+0

は今私が適用できるものをもっと探していました。本当にテクニックではありません:) – Skeith

1

何らかの種類の視覚化ツールを使用して、どのような依存関係モデルが得られたか把握します。次に、副作用が最も少ない場所に変更を加えることから始めます。あなたがそれを追加した場所とその理由を文書化する。単体テストと機能テストを書く。その後、あなたの仕事のレビューを求めます。その後、あなたのコードの宣伝と複製をゆっくり開始することができます。一部の開発環境では、コードの重複を見つけるのに役立ちます。重複はコードがどこに行くべきかのヒントを与えるでしょう。

SpringやDIフレームワークが使用されている場合、コンポジションモデルを見てください。おそらく、コードやその他のコードを明確に定義された明確なコンポーネントに抽出する必要があります。

関連する問題