5

アプリケーションに新しい機能を導入すると、アプリケーションの他の領域で再利用できる便利なメソッドやクラスなどのアーティファクトが生成されることがよくあります。これらのアーティファクトは、通常、実装の選択の副作用であるため、必ずしも機能要件として文書化されているわけではありません。チームで開発することが多いため、やり直しや重複を防ぐために、これらのコードを共有することが重要です。

例:

  • ユーティリティ メソッドとクラス
  • 基本クラス
  • インターフェイス
  • GUI コントロール

これらのアーティファクトを共有する最も効果的な方法は何だと思いますか?

それらを作成したときに設定した仮定をどのように伝えますか?

それらが正しく消費されていることをどのように確認しますか?

コードが正しく再利用されるようにするためのドキュメント、コード ダイアグラム、会議 (?) に関するベスト プラクティスと実証済みの手法に関心があります。

この質問は「Finding Reusable code」と非常によく似ていますが、リアクティブなアプローチよりもプロアクティブなアプローチに興味があります。

4

7 に答える 7

3

私たちのチームには、開発全体で使用する便利なライブラリが多数あります。これらのライブラリは、一種の「オープンソース」方法論で共通のリポジトリに保持されます。各ライブラリ (または複数のライブラリ) を監督する担当者が 1 人おり、開発者はパッチを提出できます。

その後、ライブラリは共通の場所 (Web サーバーにデプロイ) にリリース/ビルドされ、ユーザーはそれらをダウンロードして、好きなプロジェクトで使用できます。これまでのところ、かなりうまく機能しています。私たちが注意しなければならない唯一のことは、API の変更があった場合、全員がこれを認識していることを確認する必要があるということです。これは、バージョン番号とライブラリ wiki の情報を通じて行います。

編集:さらに、開発者がそれらを利用できるように、ライブラリ (Javadoc、Crystal Report など) 用に生成されたドキュメントを公開しています。

于 2009-09-25T15:41:56.993 に答える
2

私たちは .Net チームなので、これでうまくいきました...

一般的に使用されると思われる関数については、独自のクラス ライブラリを作成しました。Luhn Mod 3 チェック ディジットの計算、n文字のデータベース フィールドに収まるアドレスを検証するための正規表現の作成などです。秘訣は、再利用される可能性が高いコードを認識して取得できるようにすることです。そこの。そして、それを整理しておいてください。

于 2009-09-25T03:44:30.337 に答える
2

この問題に関する経験がまったくないことから言えば、おそらく理想的な状況は、チーム間で共有されたバージョン管理システムを作成することです。次に、最初の組織/認識会議を数回行った後、共有デポを、人々が貢献できるオープンソース プロジェクトとして扱います。したがって、いくつかのケースを見てください。

  1. 共有するコードを書きます。これには、デポにコード用の新しい領域を作成し、基本的なドキュメント、テスト、コードのクリーンアップなどを追加する必要があります...しかし、それが「パブリック」と見なされる場合は、それを正しく行うインセンティブがあります。

  2. あなたはコードを使いたがっていて、それは高品質です: 良いライブラリのように聞こえますが、いくつかの制限があります. ドキュメント、テスト、追加機能などを追加します。

  3. あなたはコードを使いたいのですが、それはゴミです: 元の開発者とチャットする必要があります. 次に、コードを大幅に作り直しますが、それでも車輪を再発明するよりは少しましです。完了すると、両方のチームが恩恵を受けます。

秘訣は、それをすべて公開することです。したがって、各チームにチャンピオンが必要であり、人々に再利用と貢献を促します。それが最初の会議から得られるものです。オープンソース モデルが実績のあるプラクティスであると仮定すると、チャンピオンがいる場合に機能しない理由はありません。

于 2009-09-25T04:02:12.087 に答える
1

アサートを使用して前提条件をテストします。

それに加えて、まれな状況や意図しない状況に対処するのに十分なほどコードが堅牢であることを確認する単体テストを検討してください。

残りの部分については、少なくともブラックボックス レベルで、コードの機能を全員が実際に理解していることを確認してください。ホワイトボードで短いミーティングを行い、新しいコードを使い始める必要がある場合は、ペア プログラミングを少し行います。

于 2009-09-25T03:42:43.070 に答える
1

私たちは Java 開発チームであり、同じことが当てはまります。XML 解析、ベクター処理などのさまざまな見出しの下で SVN にユーティリティ プロジェクトを作成し、再利用可能なコードはこれらのユーティリティ ライブラリにチェックインされ、他のプロジェクトで再利用されます。

于 2009-09-25T03:47:16.353 に答える
0

プログラミング言語のベスト プラクティスに関する書籍をご覧ください。それらを適用し、何が機能するかを確認し、それに応じて適応させます。基本的に、優れた、クリーンで簡潔なインターフェイス/API は大いに役立ちます。また、さまざまな種類の機能をカバーするために、多くの単体テストを作成します。また、言語/プラットフォームに組み込まれているライブラリを参照するか、ライブラリの良い例を探して、それらのインターフェイスがどのようになっているのかを確認してください。

于 2009-09-25T03:52:34.817 に答える
0

SOLID を使用して、コードをクリーンに保ちます。チェック: http://www.lostechies.com/content/pablo_ebook.aspx

実装される可能性が高いものを見つけたら、チームに尋ねてください。以前のプロジェクトの知識を常に心に留めておいてください。プロジェクト x にその機能があることがわかっている場合は、そこから始めてください ;)

再利用は重要であり、重複を避けることも重要です。特に、同じ製品やサブシステムにいる場合はなおさらです。常にそれを探すことは重要ですが、それがプロジェクトの進行を妨げないようにしてください。

于 2009-09-25T04:03:13.333 に答える