こんにちは、今回はプログラミングにおいて優れたコードを書くためにおすすめの本(リーダブルコード・リファクタリング・デザインパターン)を紹介します。
プログラミング初心者の方は、まずデータフローやプログラミング言語の記述方法について勉強していく方が多いかと思いますが、
今回紹介する本は、初心者から中級者にステップアップしたい方に是非読んでもらいたい本です。
何をもって優れたコードか?
良かったらそちらも考えながら読んでみてくださいね♪
本で解説に使っている言語は?
紹介する本のプログラミング言語は基本的にJavaで解説されています。
普段使っている言語でなければ、理解できるか不安になられる方も多いかもしれませんが、説明が文章で分かりやすく簡潔に書いてあり、図解も多く、最低限何かしらの言語を知っていれば理解できる内容ですので、あまり気にしなくても大丈夫です。
事実、私はC#メインで開発しておりJavaは全く経験がありませんでしたが、すすっと問題なく理解することができました。
なお、リファクタリングやデザインパターンの本はJavaで解説されていることが殆どですので、今回紹介する本以外でも、言語は気にせず人気のある良書を読んでみるのがいいと思います。
プログラミングで優れたコードを書くためにおすすめの本3選
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
今回紹介する本の中でも一押しの本で、
読みやすいコードを書くことを目的に作られた本です。
本書は4部にわたって構成されており、その全てが小難しい知識不要で、それこそ今日から使えるテクニックになっています。
第1部 表面上の改善
名前・コメント・見た目のようなコード全体に適用できる簡単なヒント
第2部 ループとロジックの単純化
プログラムのループ・ロジック・変数などを改善して理解しやすくする方法
第3部 コードの再構成
巨大なコードブロックを再構成して問題を関数のレベルに分解する方法
第4部 選抜テーマ
「理解しやすさ」をテストや大きなデータ構造に適用する方法
(本文より)
誰が見ても読みやすいコードが書けるようになれば、
・他人がコードを読む時間を大きく省略できる。
・数か月後に見返したときにコードの内容を簡単に思い出せる。
・バグの少ないコードが書ける。
・コードを読めば内容が分かるので、コメントを書く必要すらなくなる。
などなど、良いことずくめです。
本当におすすめの本なので、一度でいいから読んでみてください♪
Java言語で学ぶデザインパターン入門
デザインパターンとは、GOF(Gang of Four)と呼ばれる4人がオブジェクト指向でよく使われる手法をカタログとして整理し、出版したものです。
本書はこの本を、オブジェクト指向初心者にも簡単に理解できるようにまとめたデザインパターン入門書です。
本書は23章(デザインパターン23個分)にわたって構成されており、その全てで簡単なサンプルプログラムがついており、初心者でも分かりやすい内容になっています。
デザインパターンを学ぶことで、
・要求された仕様に対しての解決策(コード)が瞬時に浮かぶようになる
・仕様変更に対応しやすい
・バグが少なくなる
などのメリットや、デザインパターンを開発グループ全員が学ぶことで、
・開発者同士でイメージを言語化し、共有できる
・可読性が上がる
などのメリットがあります。
使用用途と合致したため、私が開発の際によく使っていたデザインパターンは、
「Adapter」「Template Method」「Factory Method」「Singleton」「Strategy」「Facade」「State」
です。どれも便利なので良かったら使ってみてくださいね♪
Java言語で学ぶリファクタリング入門
本書は、「リファクタリング 既存のコードを安全に改善する(MartinFowler)」を元に、リファクタリングの本質がわかるように解説されているリファクタリング入門書です。
以下本書より抜粋ですが、リファクタリングとは、
外見から見たプログラムの振る舞いを変えずに、プログラム内部の構造を改善する技法です。プログラムの「体質改善」と呼ばれることもあります。
リファクタリングの目的は、
・バグを見つけやすくする
・機能追加しやすくする
・レビューしやすくする
ことです。
本書は15章にわたって構成されており、
第1章~第4章では、コードを整える小規模のリファクタリング
第5章~第10章では、クラスを整える中規模のリファクタリング
第11章~第15章では、クラスの関係を整える大規模のリファクタリング
を学びます。
なお、それぞれ簡単なサンプルプログラムがついており、初心者でも分かりやすい内容になっています。
元になったリファクタリングのタイトルに「既存のコードを安全に改善」と書かれている通り、汚いコードをきれいなコードにするのはもちろんですが、リファクタリングを学んでいれば初めからきれいなコードを書くことができます。また、リファクタリングの中にデザインパターンの要素もありますので、併せて読んでみてくださいね♪
以上、
今回はプログラミングにおいて優れたコードを書くために、以下の通りおすすめの本を紹介しました。
何種類か「優れたコードを書くための本」を読んだ中で、私自身が成長できたとっておきの良書なので、是非皆さんも読んでみていただけたら嬉しいです♪