Implementation Patterns >>

お勉強

最新更新日時: 2009年11月09日 18時20分
このフォルダのページビュー: 5516
. パターン
 プログラミングでの判断の多くは独特。WEBサイトをプログラミングしようとするのと、ペースメーカーを作ろうとするのではもう全然違う。だがしかし、その判断がより純粋に技術的になるにつれて、どっかで見知ったような感じになる。このコード書かなかったっけ?平凡な繰り返し作業の時間が減って、プログラマーが本当に大事な問題を解決する事にもっと時間を割けるようになったら、プログラミングはもっと効果的なものになる。

 殆どのプログラムは、ある法則に準じている。

  • プログラムは、書かれるより読まれる事の方が多い。
  • 「完成した」という事はない。プログラムの初期開発よりはるかに多くの投資が、その改良に費やされる。
  • プログラムは、状態とその制御フローのセットというコンセプトを基に構築されている。
  • コードを読む者は、プログラムを詳細とコンセプトの両方の面で理解しなければならない。読むものは、時に詳細に寄ったり、コンセプトに寄ったりする。

 パターンはこの共通点を基にしている。例えば、プログラマーは皆、繰り返し処理を構築する方法を決めないといけない。ループをどう書こうかなあと考えてる時までに、ドメインに特化した問題の殆どは解決されて、純粋に技術的な課題 --- ループは読みやすくて、書きやすくて、検証しやすくて、改良しやすくて、効率的でないといかん --- だけが残されているはずである。

 この懸念のリストがパターンの始まりだ。この上にあげた制約条件や圧力が、プログラム内の全てのループを、どう書こうかなあという判断に影響を及ぼす。この力は、予想した通り、再帰する。パターンがパターンであらしめる感覚、それが力のパターンだ。

 ループを書く合理的な方法は少ない。各方法は、この制約条件の間でそれぞれ違う優先順位を持っている。もしパフォーマンスが重要なら、このループの方法を使うのがいいだろうし、もし修正しやすさが重要なら、違う方法がいいだろう。

 
作成: 2009年11月09日 17時37分 / 更新: 2009年11月09日 18時20分

【このカードへのコメント】

memememo.com by meme design