5

コーディングを始めて数年になりますが、自分の知識はプロになるにはまだ足りないと感じています。デザインパターンに関する本を何冊か読んだことがありますが、他にもたくさんの本があることは知っています。

では、より優れたプログラマーになり、より専門的になるために学ぶのに良いと思われるパターンと原則を誰か挙げてもらえますか?

私が取り組んでいるプログラミング言語: C#、Ruby、Javascript。

4

8 に答える 8

8

デザインパターンに関する百科事典的な知識だけでは、何の役にも立ちません。それらを適用した豊富な経験があります。これにより、それらをいつ使用し、いつ使用しないかがわかります。

そうは言っても、オリジナルのデザイン パターンの本は今でも私のお気に入りの 1 つです。あなたが進むにつれて、他のパターンを拾います。

于 2010-06-01T07:21:02.467 に答える
3

コーディング全体を改善するために現在学習/取り組んでいる、言語に依存しないスキルのいくつか。

  • きれいで、読みやすく、保守しやすいコードを書く
  • リファクタリング
  • OOP 言語の適切なオブジェクト設計
  • 適切なソース管理システムを正しく使用する。Sourcesafe はカウントされません:D
  • 単体テストとテスト駆動開発
  • デザインパターンを正しく適用する。それらを学ぶことは一つのことですが、それらをいつどこで適用するかを学ぶことははるかに難しいです.

本の推薦に関する質問へのリンク @ SO:

  • あなたが読んだ中で最高のデザインパターンの本は何ですか?
  • デザインパターン、リファクタリング、および/またはテストに関する本を選ぶのを手伝ってください
  • TDD、DDD、および .NET のデザイン パターンをカバーする書籍
  • TDDに関する最高の本
  • 初心者に最適なデザインパターンの本?
  • C# デザイン パターン ブック
  • 優れた C# ユニット テストの本

そしてもちろん、以前のコメントで述べたように、 Pragmatic Programmer の本もありました。

于 2010-06-01T07:23:40.887 に答える
3

原則は私が始める場所であり、パターンは僅差の 2 番目です。

原則: 筏全体がありますが、これらは私が実用的なマイレージを得るものです:

これらの多くは (グループ化された場合) SOLID (オブジェクト指向設計)として知られています。

パターン:

  • 私の一番のお気に入りは依存性逆転原則(DIP) です。これは一般に制御の逆転(IoC)としても知られています (または少なくとも非常によく似ています)。インターフェイスの背後にあるデータ アクセスの実装を抽象化するのに非常に適しています。Martin Fowler はそれを別の名前で呼んでいます (私の前に「エンタープライズ アプリケーション アーキテクチャのパターン」のコピーがなくてすみません)。
  • Lazy Loadも便利です。
  • ファクトリ パターンは非常によく知られているパターンです。それには十分な理由があります。
  • ファサードのパターンも、トラブルを回避するのに役立ちました。

ウィキペディアには、まだ見たことがないという前提で、 Software design patternsのかなり良いリストがあります。

最後に覚えておくべきことは、パターンには 3 つの基本的なタイプがあることです (さらに、マルチスレッド/同時実行の 4 番目のカテゴリ)。これらのカテゴリについて知り、何かを行うときにそれらを念頭に置いておくだけでも役立ちます。それらは次のとおりです。

  • 創造的な
  • 構造的
  • 行動
于 2010-06-01T08:41:03.413 に答える
2

ツール (プログラミング パラダイム、パターン、ソース管理、単体テストなど) を習得することは不可欠ですが、自分を「プロ」と呼ぶだけでは十分ではありません。真のプロ プログラマーの証は、クライアントが何を理解しているかを理解する能力です。ニーズ。残念ながら、この種の知識を本から学ぶのは非常に困難です。

于 2010-06-01T08:50:11.643 に答える
1

言語をたくさん学ぶのが最善の方法だと思います。LISP、Scheme、Python、Smalltalk、Erlang、Prolog、Eiffel、その他多数

そして、それらを使って何かを構築します。

于 2010-06-01T07:11:25.460 に答える
0

Martin Fowler のエンタープライズ アプリケーション アーキテクチャのパターン(たとえば、リポジトリ、アクティブ レコード、ドメイン モデル、作業単位) を他の開発者と共有する語彙を構築します。

Douglas Crockford のJavascript: The Good Partsは、実際に Javascript がどのように機能するかを理解するのに役立ちます。

そして、TDD (テスト駆動開発) に参加することを強くお勧めします。多くの優れた TDD の本がありますが、ブラウンフィールド開発を行っている場合 (私たちのほとんどがそうです)、Michael Feather のWorking Effectively with Legacy Code を強くお勧めします。

そして最後に、いかにリファクタリングされてクリーンなコードができるかを示す本: Uncle Bob's Clean Code .

于 2010-06-01T07:46:53.617 に答える
0

コードを書くだけでなく、コードを読んでみる必要があります。たとえば、オープン ソース プロジェクトからコードをダウンロードし、コードをいじってみて、コードが何をしているのか、そしてその理由を理解してください。または、以前のプロジェクトから独自のコードを確認してみてください。今と違うことは何ですか?なぜ自分のやり方でそれを構築したのか、まだ理解できますか?

また、アジャイル コミュニティから出てきたプラクティスのいくつかを調べることもできます。特にテスト駆動開発は、コードの品質を向上させる優れた方法として思い浮かびます。

于 2010-06-01T07:59:07.710 に答える
0

本書Head First Design Patternに記載されているパターンはすべて、デザイナー/プログラマーが知っておくべき最低限のものだと思います。デザインパターンの学習を開始するには、この本をお勧めします。別の本、Design Pattern Work Bookも練習に良いです。

于 2011-05-23T16:18:59.717 に答える