テスト
リーダブルコード
コードレビュー

概要と構成

概要

基本的な文法は一通り分かっているプログラマー向けに、「読みやすい」コードを書く手法を紹介している本です

本書は一貫して一つのことを主張しています

コードは他の人が最短時間で理解できるように書かないといけない

※ちなみにここで言う「理解」とは変更を加えたりバグを見つけたり出来るということです

なぜでしょう?

  • 優れたプログラマと信頼されるための重要な要素であるから
  • 他の人は半年後の自分かもしれないから
  • コードを読むのが楽しくなるから

...と効能は数えきれませんが、この本を読む人は必要性を感じていると思います

本書の構成は以下の4つです

第一部:表面上の改善

「変数名・関数名の命名」「コードの整形」「コメントの付け方」の3つのサブテーマに分けて、ロジックには関係ないが読みやすさに寄与するテクニックについて説明

第二部:ループとロジックの単純化

「制御フローを読みやすくする」「巨大な式を変数や関数に分割する」「変数の削減やスコープ範囲の縮小」といったサブテーマに分けて、ifやforなどのロジック部分をどう単純化するかというテクニックについて説明

第三部:コードの再編成

「無関係の下位問題の抽出」「一度にひとつのことをする」「ロジックを明確化する」「やらなくてもいいことを見極める」といったサブテーマに分けて、関数化や機能が必要かどうか判断して削減するといった高レベルの問題への対処を扱います

第四部:選抜テーマ

「テストコードを読みやすくする」「実際の具体例」といった実践的なテーマについて本書の原則を適用しています

特に心に残った箇所

上級者が無意識のうちにやっていることを言語化し、豊富な例で説明している点が秀逸です

読みやすいコードを書く利点として、「半年後の自分自身も含めた他の人が積極的に機能を追加しバグを発見するようになる」という行動面のメリットを挙げている点が個人的には興味深いです。

確かに読みにくくゴチャゴチャしたコードは触りたくないですよね笑

さらに、読みやすさの重要性はプログラミングだけでなく他の分野であっても同じだと感じます。
最近少しデザイン勉強してるんですが、ある種通じる部分もあり、デザインのコーディングへの応用として読むと更に面白く読めますよ!

行動・変化

本書のあとがきでも指摘されているように、まずは過去は忘れて「これから書く」コードを読みやすくすることに取り組みたい!!とウズウズしてきました笑

手始めに第一部と第二部のような比較的導入しやすいものから取り入れていきたいですね。

最近はオンラインプログラミング問題を解いているので、そこから適用していこうと思います

あとは研究で使っているコードもかなりゴチャゴチャしているので、読みやすいコードを自然に書けるようになってきた段階で、本書を手元に置きながら改善していこうと思います


noteにも書いているので是非読んでみてください