英語 Minimize repetition
繰り返しとは「重複」のことです。
つまり「繰り返しの最小化」とは、「重複を極力排除する」ということです。
「繰り返しの最小化」は、これを動機とする技術が数多く生まれています。例えば、関数化の技術は、この目的のために生まれた技術の1つです。重複したロジックを関数化して、1つにまとめて共有コードとして使用できるようにします。
繰り返しのコードは、「結果の局所化」原則を侵害し、変更コストを増大させます。
例えば、コピー・ペーストにより同じコードが複数の場所にあった場合、そのうち1つを変更すると、残りすべても変更するかどうか判断しなければなりません。この「判断」というのが曲者で、一括置換すればよいというわけではありません。コピー部分だけ見ればよいのではなく、その周りの部分を完全に理解して、その上で判断しないと正しい変更はできません。
これは非常にコストがかかる作業になります。
コードを、たくさんの「小さい部分」に分割しましょう。
大きなコードの塊は、別の大きなコードの塊のどこかと同じ部分を含んでいるはずです。大きな塊を小さくすると、共通項が導きやすくなります。
そして、コード内で、どこが「完全に同じ」所で、どこが「とりあえず似ている」所で、どこが「まったく異なる」所なのかを明確に伝えるようにします。この「色分け」ができていると、コードが読みやすくなり、修正のコストも抑えられるようになります。
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則
上田勲著
秀和システム 2,200円
一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
Copyright © ITmedia, Inc. All Rights Reserved.