リーダブルコードの内容や活用方法など

この記事は3分で読めます

自分用メモ

随時追記していく

リーダブルコードの内容


読みやすいコードを書くための習慣やテクニックが
とても簡潔にまとまっている

ビジネスマナーにおける「ビジネス文書の書き方」に共通する
日本語だろうがプログラミングだろうが、
「読み手に優しい書き方」というものがある

①理解しやすいコード

・「優れたコードとは何か。それは読みやすさである」この本のテーマ。
→高度な文法を使うよりも、ずっと重要なこと
・コードは他の人が最短期間で理解できるように書く必要がある
・コードは短くした方がいい
→だけど「理解するまでにかかる時間」を短くするほうが大切



第一部 表面上の改善


②名前に情報を詰め込む

・明確な単語を選ぶ(ただし英語の知識が必要)
・汎用的な名前を避ける(目的や値を表すものであるべき)
・接頭辞や接尾辞を使って情報を追加する(ミリ秒を表す変数に、_msを追加する等)
・名前のフォーマットで情報を伝える



③誤解されない名前

・英単語には曖昧なものが多いので、ネーミングは慎重に行う。
・限界値、包括的、排他的範囲などを意識した名前にする
・ユーザーの期待に合わせる事を心掛ける
・複数の名前を検討する

④美しさ

・一貫性のあるレイアウト
・似てるコードは。シルエットも似てるように見せる
・空行を使って、関連するコードをブロックでまとめる



⑤コメントすべき事を知る

・読み手の立場になって何が必要になるかを考える。そうでないものは書かない
→はまりそうな罠を告知する

⑥コメントは正確で完結に

・「これ」や「それ」のような代名詞は避ける
・コメントに含める入出力の実例を慎重に選ぶ

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

ここからは少し深い。ループやロジックレベルの話。

⑦制御フローを読みやすくする

・条件式は、左側が調査対象、右側が比較対象
・括弧のネストは浅くする。

⑧巨大な式を分割する

・説明変数:読みにくいコードには敢えて変数を作り、説明する
・「頭が良い」コードで1行にまとめて書くよりも、
 複数行に分割して書いた方が何がしたいのか分かりやすい
・ロジックを正しく理解して、簡潔で優雅なコードを発見する
・変数や関数をうまく利用して巨大な式を分割する

⑨変数と読みやすさ

・役に立たない一時変数は削除する
・変数のスコープを小さいものにする

第三部 コードの再構成

もう少し深い話

⑩無関係の下位問題を抽出する

・関数の目的を明確にし、直接的に関係ないものは別の関数としてまとめる
・純粋なユーテリティコードとして抽出すれば、別のPJTからも再利用できる
・改善も楽にできる

⑪一度に1つのことを

・一度に複数の事をやるコードは理解しにくい。
・やることを整理して、分割すべき。

⑫コードに思いを込める

・自分よりも知識の少ない人が理解できるような、簡単な言葉で説明する能力が大切
→コードも簡単な言葉で書くべき。

⑬短いコードを書く

・最も読みやすいコードは何も書かれてないコード
・最も簡単に問題を解決できるような要求を考える
・定期的にすべてのAPI、モジュールを呼んで、ライブラリに慣れ親しんでいく

第四部 選抜テーマ


⑭テストと読みやすさ

・テストは似たコードが続く場合が多いので、読みやすさと保守性を高めやすい。
→テストを読みやすく、保守しやすく作る
→大切でない詳細はユーザーから隠し、大切な詳細は目立たせるようにする。
・エラーメッセージを読みやすく自作する。
・テスト関数は、テスト対象やテスト番号などが分かるようにする

⑮「分・時間カウンタ」を設計・実装する

・外部の視点を得る:ユーザーフレンドリーかを確認する優れた手段
→他の人にコードの第一印象を聞いてみる
→「他の人」には、6ヶ月後の自分も含まれている



リーダブルコードの活用方法


コードレビュー時に、
これってリーダブルコードの◯◯だよね?」と引用でき
レビューの時間の短縮化が実現できる

リーダブルコードに書いてあることが全てのPJTに適用できる訳ではないが、
コーディングルールを考える際の指針にすることは出来る

リーダブルコードに関する雑学


コーディングルールを全く知らない場合、リーダブルコードを呼んで
一定の基準のコーディングルールを学ぶと良い

サンプルコードはC++、Python、JavaScript、Javaで記述されている
(C++の基本文法は知っておいた方が理解しやすい)

特定の言語に関するテクニックは殆どない
コンピュータ言語に共通の話題が殆ど

チームでリーダブルコードの読書会を行い、
チームで採用する考えをまとめ、テンプレート化するのも良い



備忘録メモ


リーダブルコードは、エンジニアなら誰もが知ってる共通概念っぽい

「新人に読ませたい本ランキング1位」とすら言われる事も
役立つテクニックが書かれてる
経験者にとっても、自分のコードを見直す上で役に立つ

コードをレビューする側からすると、
「まずは読んで下さい」となる

良いコードを書くには、英語力(単語力)が求められそう

ビジネス文書的な要素も含まれている(空白行など)

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。