2009-07-23 16 views
2

私たちはコーディング標準を持っているのと同じ方法で、アーキテクチャー基準などのことができますか?アーキテクチャ上のガイドラインはありますか?もしそうなら、彼らに何があるべきですか?

これは経験の少ないプログラマーに渡すことができる高水準のプリンシパルなので、変更や小さなアプリケーションの設計を開始するときには、経験豊富なプログラマーが修正する必要がないことがわかっています。レビューの代わりに、可能な限り早期に明白な間違いを防ぐだけです)。

私は、「そうしないと特定し、明確に理解される理由がない限り、常にデータベースを正規化する」、「常にプレゼンテーション、ロジック、永続性を分離する」などの可能性があると考えています。

実際に使用するには高すぎると思っていますか?あるいは、私たちがコード化することが求められる多様な機能を考えると、そのような一般化はほとんど不可能です。それとも有用だろうか?

あなたはそれらが有用で現実的だと思うなら、あなたは何を含めるでしょうか?

(私が企業スタイルのビジネスシステムのJava/.NETレベルのプログラミングについて考えていることを明確にするには)

+0

何かの理由で、このスレッドの答えは、私がクライアントに提供しているワークショップのようになっています。これは、SOLIDに基づいており、リファクタリング、ユニットテストなどに移行するDevelopment Practicesワークショップと呼ばれています。LoL 。 –

答えて

3

SOLID principlesたちはアーキテクチャのガイドラインを持っている

2

これは難しいことです。なぜなら、一般的なプラクティスでは、よりシニアなチームメンバーが常にアーキテクチャ上の意思決定とコーディングを処理するからです。シニアチームメンバーに両方を行うことが実用的でない場合は、少なくともそのメンバーを設計およびレビュープロセスの不可欠な部分にすることが必要です。

1

私の意見では、ジュニア開発者はCode CompleteとThe Pragmatic Programmerを読んでください。この種の高水準のイディオムがここに紹介されています。

3

を開始するには良い場所でしょう。それらはdesign patternsと呼ばれます。これらは、基本的にフォーマル化されたアーキテクチャーのガイドラインです。

真のソフトウェアアーキテクトであることの一部は、特定のパターン/ガイドライン/プラクティスを適用する時期と方法を決定することができます。それは必ずしも自動的に印刷可能なものではありません。ほとんどの場合、何かを行う方法は複数あり、それぞれにコストとメリットがあります。スキルはこれらの全範囲を理解し、良い決定を下すことになります。

+0

デザインパターンはインプリメンテーションと言語固有のものなので、ほとんどが「低レベルデザイン」の問題です。アーキテクチャは、通常、スケーラビリティ、セキュリティ、他のアプリケーションとの統合などのより高いレベルの概念に関係しています。 –

+1

デザインパターン、真のデザインパターンは、完全に言語に依存しません。それらは特定の概念を扱う方法であり、スケーラビリティ、セキュリティ、統合などを可能にします。 –

2

"常にプレゼンテーションを分離してください。 論理と永続性"

そうしないと正当な理由がない限り。

コードよりもはるかに曖昧なものであるアーキテクチャでは、このようなルールは手早く手を振って取り出しセクションに変わります。そのようなガイドラインは可能ですが、私はそれらが役に立つとは思いません。終わりには、建築家の専門知識と知識に頼っています。彼はハーフベイクのルールで(そして誰がこれらのルールを作ったのか)考えていません。

+0

私はあなたがそれを使用することを選択した場合、理由を説明する必要があることを条件に、あなたはそれが良い考えだと思った。私の経験では、一緒にあなたの説明を得る行為は、正しい決定を下すために開発者を促すでしょう。 –

+2

アーキテクチャーは、組織内の複数の開発者が設計しなければならないものではありません(ただし、プロセスの入力があるかもしれません)。アーキテクチャは、才能のある経験豊富な個人によって最適に設計されており、ファジーガイドラインは必要ありません。 –

2

ユニットテストをファイルに追加します。私が開発PCを持っている砂漠の島にひとつだけしか置くことができないのであれば、それはそうです。

テスト駆動開発者は、テストが本質的にアプリケーションの動作を定義するため、アーキテクチャの不可欠な部分であると主張します。

2

ガイドラインにアーキテクチャのガイドラインがないのはどうですか?

任意のシステムのアーキテクト開発チームの積極的な部分は、実際の生産コードに

私見を書いてください、これが唯一の方法です:私は、最も重要なガイドラインは次のようになり作ると思う冗談はさておき

システムに関するアーキテクチャー上の意思決定に必要な情報レベルを持っています。また、建築家には、明らかにメリットが生まれる「スキンインザゲーム」が必要です。

2

MSパターンthis guidelineを見たことがありますか?&練習グループですか?彼らは、練習の観点からではなく、アプリケーションの観点から見ています。

関連する問題