大きな問題は小さくして1つずつ対処する――分割統治法問題解決力を高めるコツはプログラミングの原則・思考にあり(4)(4/4 ページ)

» 2017年08月21日 05時00分 公開
[上田勲]
前のページへ 1|2|3|4       

プログラミングセオリーを実現する6つの原則(2) 繰り返しの最小化

 英語  Minimize repetition

 What 〜重複を排除する

 繰り返しとは「重複」のことです。

 つまり「繰り返しの最小化」とは、「重複を極力排除する」ということです。

 「繰り返しの最小化」は、これを動機とする技術が数多く生まれています。例えば、関数化の技術は、この目的のために生まれた技術の1つです。重複したロジックを関数化して、1つにまとめて共有コードとして使用できるようにします。

 Why 〜修正の影響を局所化する

 繰り返しのコードは、「結果の局所化」原則を侵害し、変更コストを増大させます。

 例えば、コピー・ペーストにより同じコードが複数の場所にあった場合、そのうち1つを変更すると、残りすべても変更するかどうか判断しなければなりません。この「判断」というのが曲者で、一括置換すればよいというわけではありません。コピー部分だけ見ればよいのではなく、その周りの部分を完全に理解して、その上で判断しないと正しい変更はできません。

 これは非常にコストがかかる作業になります。

 How 〜コードを分割して管理

 コードを、たくさんの「小さい部分」に分割しましょう。

 大きなコードの塊は、別の大きなコードの塊のどこかと同じ部分を含んでいるはずです。大きな塊を小さくすると、共通項が導きやすくなります。

 そして、コード内で、どこが「完全に同じ」所で、どこが「とりあえず似ている」所で、どこが「まったく異なる」所なのかを明確に伝えるようにします。この「色分け」ができていると、コードが読みやすくなり、修正のコストも抑えられるようになります。

書籍紹介

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則

上田勲著
秀和システム 2,200円

一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!


注文ページへ


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。