. パターン |
プログラミングでの判断の多くは独特。WEBサイトをプログラミングしようとするのと、ペースメーカーを作ろうとするのではもう全然違う。だがしかし、その判断がより純粋に技術的になるにつれて、どっかで見知ったような感じになる。このコード書かなかったっけ?平凡な繰り返し作業の時間が減って、プログラマーが本当に大事な問題を解決する事にもっと時間を割けるようになったら、プログラミングはもっと効果的なものになる。 殆どのプログラムは、ある法則に準じている。
パターンはこの共通点を基にしている。例えば、プログラマーは皆、繰り返し処理を構築する方法を決めないといけない。ループをどう書こうかなあと考えてる時までに、ドメインに特化した問題の殆どは解決されて、純粋に技術的な課題 --- ループは読みやすくて、書きやすくて、検証しやすくて、改良しやすくて、効率的でないといかん --- だけが残されているはずである。 この懸念のリストがパターンの始まりだ。この上にあげた制約条件や圧力が、プログラム内の全てのループを、どう書こうかなあという判断に影響を及ぼす。この力は、予想した通り、再帰する。パターンがパターンであらしめる感覚、それが力のパターンだ。 ループを書く合理的な方法は少ない。各方法は、この制約条件の間でそれぞれ違う優先順位を持っている。もしパフォーマンスが重要なら、このループの方法を使うのがいいだろうし、もし修正しやすさが重要なら、違う方法がいいだろう。 |
【このカードへのコメント】