ちゃんなるぶろぐ

エンジニア5年生🧑‍💻 オライリーとにらめっこする毎日。

【3分でわかる!】プログラミング〜DRY原則について〜

読み終えるまで約3分

 

どうも、ちゃんなるです。

今回はこの本の内容を元に投稿します!

『プリンシプル・オブ・プログラミング』

 

この本から得られるもの

いいコードを書くための『プリンシプル』

(プリンシプルとは原理・原則のことで、これを知ることがプログラマとして成長するための『王道』『近道』である)

 

本書の目的は、『プリンシプル』を通して良いコードを書けるようになることです。

 

『プリンシプル』は抽象的な内容であり、本書にはプログラムコードによる具体例もありません。

そのため、自分なりに内容を咀嚼し、自分なりの具体例を考えようとする姿勢が大切です。

*内容は抽象的であり、どう解釈するかは皆さんにお任せします。

DRY原則とは

DRY:Don’t Repeat Yourself.(同じことをするな)

 

どういうことか?

『同じロジックを複数箇所に書いてはいけない』

同じ関数・条件文・定数リテラルを複数箇所で書いてる場合は排除しましょう。

 

どうして排除するべきなの?

重複箇所があると、『コードの改善が困難になるから』です。

その理由は主に下記の3つ

  1. コード量が増え、また複雑になり、読みにくくなる
  2. 一つの改善作業のために、複数箇所のコードを修正する必要が出てくる
  3. 重複してる部分はたいていレガシーコード*である

*レガシーコード:テストのないコードのこと

DRY原則をどうやって実行するか

『コードを抽象化する』

抽象化:同一処理を関数やモジュールに閉じ込めること、データであれば定数化してそれを使い回すこと

 

抽象化のメリット

  • コード量減少→読む時間短縮
  • ロジックやデータに名前が付き、読みやすくなる
  • コードの修正が容易になり、品質が担保しやすくなる
  • 再利用しやすくなり、新たな機能実装の際に最小限のコード量で要件を記述できる

抽象化のデメリット

  • 時間がかかる
  • デグレード(前より悪くなること)の可能性がある

③その他

WET:Write Every Time(同じことがたくさん書かれている)

皮肉にもDRYの対義語として定義されたらしいです笑

(DRY:乾燥してる⇆WET:湿っている)

まとめ

DRY原則は、Don't Repeat Yourself(同じことを繰り返すな)ということです。

コーディングの際に、重複する処理があればそれを抽象化し、関数やクラスに切り出すようにしましょう!

 

*より深く知りたい方は、ぜひ本書を手にとってみてください!

書籍情報 

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

価格:2,420円
(2021/8/28 14:24時点)
感想(2件)

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則【電子書籍】[ 上田勲 ]

価格:2,178円
(2021/8/28 14:24時点)
感想(1件)

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

【著者名】上田勲

【出版社】秀和システム

【出版日】2016年3月

【ページ数】303p

 

著者紹介

f:id:Chan-Naru:20210828142858p:plain

著者:上田勲

横浜国立大学経営学部卒。キヤノンITソリューションズ勤務。Webアプリケーション自動生成ツール「Web Performer」の開発に、立ち上げ期より関わる。現在、テクニカルリーダー、スペックリーダー、アーキテクト、デザイナーを担いつつ、自らもプログラミングに携わる

上田勲|プロフィール|HMV&BOOKS onlineより)

 画像は上田勲に関する記事一覧 - ログミーより