CleanCode リーダブルコードの次に中級者が読むべきオススメ書籍!

CleanCode リーダブルコードの次に中級者が読むべきオススメ書籍!

キレイなプログラムを書く上で入門書にリーダブルコードが挙げられますが、プログラムを書く心得は学べますが、より実践的なサンプルケースはあまりありません。
CleanCodeは、さらに一歩踏み込み「なぜこのように作る必要があるのか」が分かりやすく記載されています。

Clean Code アジャイルソフトウェア達人の技 コードを書き、読み、洗練する

 第1章 クリーンコード

Clean Code 綺麗なコードを書くことはバグの減少、継続した機能拡張、変更・修正時に掛かるコスト削減など様々なメリットがあり、必須とされるテクニックです。

第2章 意味のある名前

変数名は、中に何が入っているのか明確に分かる名前を付ける。
ただし、誤解を招くような名前や長過ぎる名前は駄目、洗練すること。

第3章 関数

第1の規則は、小さくせよ。第2の規則は、さらに小さくせよ
ひとつの関数では、関数名が示すことを行い、それ以外のことは行ってはいけない。
3つ以上の引数は避けること、4つ以上は理由がない限り避けること。
フラグ引数(Boolean)で処理が分岐するような引数は避けること。

第4章 コメント

分かりづらいコードをコメントで補完してはいけない。
プログラムの動きを日本語化したようなコメントは記載してはいけない。
コメントとプログラム処理が一致している保証はない。

第5章 書式化

変数は使用される直前で宣言すること。
依存関係のある関数は近くに並べて定義すること。

第6章 オブジェクトとデータ構造

オブジェクトはデータを隠蔽し、操作を公開する。
オブジェクトとデータ構造を混ぜ合わたクラス「混血児」を作ってはいけない。

第7章 エラー処理

戻り値ではなく例外を投げること。
関数にnullを渡さない、返さないこと、nullに意味を持たせてはいけない。

第8章 境界

ライブラリを使用する場合は直接呼び出さず、振る舞いを限定したラッパークラスを設けて依存しないようにすること。

第9章 単体テスト

テストコードも柔軟性、保守容易性、再利用性を重視して綺麗に保つこと。

第10章 クラス

クラスは小さくすること。
一つのクラスには一つの責務だけで定義すること。

第11章 システム

アプリケーションの関心事の分離について、ファクトリ・依存性注入による説明。

第12章 創発

テスト・リファクタリング・重複の排除など、洗練するための規則について

第13章 同時並行性

なぜ同時実行性が必要になるのかと、同時平行プログラムが陥りやすい問題について

第14章 継続的改良(コマンドライン引数のパーサを用いたケーススタディ)

コマンドライン引数の解析クラスを例にして、リファクタリングを重ねていく過程を順を追って説明

第15章 JUnitの内部

JUnitのコードを例にして、リファクタリングを重ねていく過程を順を追って説明

第16章 SerialDateのリファクタリング

JCommonというライブラリのコードを例にして、リファクタリングを重ねていく過程を順を追って説明

第17章 においと経験則

クリーンコードの考え方が必要になるコードに対する「におい」や経験則

まとめ

ざっと章ごとの概要を見ただけでも、入門書ではなく実践的な書籍であることが分かると思います。
プログラマーになったら、その日から設計してコードを書いて作ることが始まります。
それであれば早いうちに本書を手に取ってみてはいかがでしょうか。

 

書籍カテゴリの最新記事