1

現在、私は多かれ少なかれ組織化された一連のプロジェクトを持っています。リファクタリングされ、文書化され、単体テストされているものもあれば、そうでないものもあります。

以前に書いたコードを再利用したいときは、このコードを書いたプロジェクトを探すのに数分かかります。このコードをコピーして新しいコードに貼り付け、必要に応じてリファクタリング、文書化、単体テストを行います。 .

余分な作業をしなければならず、何がどこで書かれたかを覚えておく必要があり、(おそらく最も醜いもの) プロジェクト間でコードを複製する必要があるため、醜いです。共通のコードベースを持たずに他の開発者と作業することも問題です。

今、コードベースを作成したいのですが、それについて何も知りませんし、どの会社でも深刻なものを見たことがありません。

では、どこから始めますか?そのようなコードベースの作成方法を説明したり、既存または架空のコードベースを説明したり、どのように機能するか、どのように維持されるかなどを説明する本やオンライン ドキュメントはありますか?

4

3 に答える 3

0

GoogleCodeGitHubなどのバージョン管理サービスを使用します。このようにして、コードはオンラインでバックアップされ、必要に応じて古いバージョンに戻すことができます。

于 2010-07-08T13:08:46.723 に答える
0

再利用可能なライブラリについて言及していると思います。リンカーとコンパイラを備えた言語は、成果物を小さくするために使用されていないコードを削除しますが、ジャストインタイムでコンパイルまたは解釈された言語はそうしないため、ライブラリ全体をロードすることでリソースが浪費される可能性があるため、言語に少し依存します。

要するに、コードを見て、一般的に実行されるタスクと使用されるパラメーターを理解することです。変更の余地を少し追加し、すべての機能を背後に隠すインターフェイスを作成します。インターフェイスを正しく定義することが最も重要な部分です。関数呼び出しのコレクションを避けるようにしてください。ただし、インターフェイスの背後に関連する関数を作成し、次に操作タスクごとにインターフェイスを作成します。作業を操作に分割しようとしています。

インターフェイス ソリューションは、(リファクタリングされた作業の) 実装とインターフェイスを使用する作業を切り離します。これにより、共通コードとプロジェクト コードを分離して、異なる速度で開発できるようになります。

インターフェイスが相互に依存しないように、インターフェイスの背後にある特定のジョブまたはタスクに関するすべての関連情報をグループ化するようにしてください。

インターフェイスに関する便利なリンク。一部のリンクはオブジェクト指向言語について述べていますが、原則とアイデアは他のどのタイプの言語にも適用できます。

http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Software_interfaces_in_object_directional_languages

http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Programming_against_software_interfaces

于 2010-07-08T13:34:26.850 に答える
0

まず、これは他の開発者や管理者の関与を必要とする重要な作業であることを認識してください。コードベースを再編成している間は、おそらく新機能の作業を停止する必要がありますが、これは管理のオプションではありません。彼らにそれについて言及することさえ悪いことがあります。「再編成が終わるまでこれを延期してもよい」の後に「この部分が完了するまで再編成を行うことはできません」が続き、大きなタスクと再編成の両方がお互いに待機します。これは管理機能のデッドロックであり、修正するのは困難です。

先に進むには、チームと一緒に座って、製品が何であるか、どのように構築されているか、重複部分はどこにあるか、製品がこの再利用からどのように利益を得られるかを特定する必要があります。製品のビルド構造を綿密に調べ、それをリファクタリングして (これからビルドしようとしている) commons-library を含める必要があります。

先に進むには、依存関係を分離する必要があります。コモンズをプロジェクトに依存させないでください。プロジェクト (projB) が将来別のプロジェクト (projA) に依存する可能性が高い場合は、プロジェクト (projA) を別のプロジェクト (projB) に依存させないでください。循環的な依存関係は、涙を流し、歯ぎしりを引き起こします。

于 2010-07-08T13:10:31.473 に答える