プログラミングの際に知っておきたい法則と原則【第12回】

Php Programming Html Coding Cyberspace Concept

プログラミングの際に知っておきたい法則と原則
ビジネスパーソンのためのプログラミング講座【第12回】


プログラミングをする上で言語など最低限の知識を得ておくことはもちろん、求められる仕様に適うコードを作ることが必要です。
更に言えば効率性や保守性の高いコードであることが望ましいです。

プログラミングにはいわば教訓とも言うべき法則原則があり、これをおさえておくとより質の高いコードを作ることができるでしょう。
そこで今回はプログラミングの法則・原則について紹介します。



■DRY原則
「Don’t Repeat Yourself.」の略で「同じことを繰り返すな。」という意味です。
同じコードを複数記述していると、以下のデメリットがあります。
・コード量が多くなる
・読みづらい
・保守性が低い

処理を修正する際に同じコード全てを修正しなければいけなくなり、
手間がかかるだけでなく、修正漏れがおきる可能性もあります。

DRY原則を守るためには、同様の処理をするところは関数化やモジュール化などで1箇所にまとめることが重要です。



■KISSの原則
「Keep It Simple,Stupid.」の略で「シンプルにしておけ、愚か者よ。」という意味です。
つまり、コードは複雑さを排除して簡潔(単純)に書くということです。

シンプルなコードは読みやすく、修正もしやすくなります。
コーディングは問題を処理するためについ複雑になる傾向があります。
「単純に」「シンプルに」という心がけを常にもつことが大事です。



■YANGI
「You Aren’t Going to Need it.」の略で、直訳すると「それは必要にならない。」という意味です。

今後必要になるかも、という考えで今必要ないコードを盛り込んだとしても、そういったコード(機能)は利用されないことが多く、
単に余計な複雑性を盛り込むことになり、KISS原則にも反してしまうので避けるべきでしょう。

そういった蛇足ともいえるコードは、作るだけ時間を無駄にしますし読みづらくなります。
「今」必要な最低限の機能だけのコーディングに努めましょう。




■PIEの原則
「Program Intently and Expressively.」の略で「意図を明確に表現してコードを書け。」という意味です。

第三者から見ても、読みやすく分かりやすいコードを書くことが大事です。
なぜならコードはソフトウェアの動作を正確に知るための手がかりであり、書くよりも読まれることの方がずっと多いものです。
追加や修正をする際にコードが読みづらいと非常に苦労します。

書く効率を多少落としてでも読みやすいコードを作ることが重要です。
例えば数値は定数や関数にして何の値か分かりやすくしたり、処理の記述を省略せず明記したり、
コメントを書き込むなどの工夫で何の処理をしているのか分かりやすくなります。



■デメテルの法則
別名「最小知識の原則」ともいいます。
「知らないオブジェクトに話しかけない。」というもので、オブジェクト同士の依存は最小限にしようという原則です。

では「知っている」オブジェクトとは何を指しているかというと、「オブジェクト自身」「オブジェクトのメソッドが渡されたオブジェクト」 「オブジェクトのメソッド内でインスタンス化されたオブジェクト」「自身が保有しているオブジェクト」になります。

ドットでメソッドを呼び出すのはデメテルの法則違反ということになります。


■コマンドとクエリ分離原則
コマンドとクエリの両方を行う関数を作ってはいけないという原則です。
副作用を最小限に抑えるという思想にのっとっています。

コマンドとクエリを分類しコメントでどちらなのかを明記します。
クエリではオブジェクトの状態を絶対に変えてはいけません。



■まとめ
いかがだったでしょうか。
上記以外にもプログラミングにおける原則・法則は色々とありますが、
ある程度で意識することでより良いプログラミングができると言えます。

中には遠回りで面倒と思われるものもあるかもしれませんが、遠回りこそ近道です。
後から「こうすればよかった…。」と思うことのないように努めていきましょう。



次回ビジネスパーソンのためのプログラミング講座【第13回】ではフローチャートの基本構造と書き方のルールについてご紹介していきたいとおもいます。
>プログラミング豆知識 記事一覧へ


投稿日: 2016年10月28日

前後の記事

気になることは何でもお気軽にお問合せください。

0120-188-024 受付時間 平日9:00~19:00