リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • オライリージャパン (2012年6月23日発売)
4.31
  • (592)
  • (459)
  • (163)
  • (16)
  • (3)
本棚登録 : 5836
感想 : 455
4

コードを書く人の必読書だと聞き、読んでみた。
エンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を組み立てることに他ならない。

自分天才!と思える短いコードを書くより、少し長くても初見の読み手が早く理解できる読みやすいコード、理解しやすいコードを書くことが大事。


以下、印象に残った内容

コードを書く際の基本
・他の人が最短時間で理解できるように書く

名前に情報を詰め込む
・GetPageではなくFetchPage、StopではなくResumeやPauseなど、処理がより明確になる単語を使って名前を付ける
ヒント:シソーラス(類語辞典)を使って単語を調べる

・イテレータが複数あるときには、インデックスに明確な名前を付ける
E.g.: i,j,kではなく、club_i,members_i,users_i

・変数名に単位を入れる
E.g.: start_ms

・危険や注意を喚起する情報を変数名に追加する
E.g.:暗号化前のパスワードならplaintext_password

・スコープが小さければ、変数名は短くて良い、スコープが大きければ、名前に十分な情報を詰め込んで明確にする

誤解されない名前
・限界値を含める時はlimitではなくmin,maxを使う
・範囲を指定する時はfirst,lastを使う
・包含/排他的範囲にはbegin,endを使う(beginは含め、endは含めないが基本)
・ブール値の変数名は、頭にis,has,can,shouldなどをつけて分かりやすくする

美しさ
・同じような処理をしているコードは、シルエットも同じようにする
・コードの列を整列する
・ある場所でA,B,Cの順に並んでいれば、別の場所でもA,B,Cの順にする

コメントすべきことを知る
・自分の考え、質問されそうなこと、処理の全体像、定数の値にまつわる背景などはコメントに記す
TODO:あとで手をつける
FIXME:既知の不具合があるコード
HACK:あまりキレイじゃない解決策
XXX:危険!大きな問題がある

制御フローを読みやすくする
・If/else条件は、否定形よりも肯定形を使う。単純な条件を先に書く。関心を引く条件や目立つ条件を先に書く

・do/whileループを避ける

・早めに関数から返して、ネストを削除する

巨大な式を分割する
・式を表す変数、説明変数を使う。式を説明不要でも、式を変数に代入すると便利
E.g.: username=line.split(':')[0].strip()

・ド・モルガンの法則を使い、notを分配して、and/orを反転する

読書状況:読み終わった 公開設定:公開
カテゴリ: 未設定
感想投稿日 : 2023年4月3日
読了日 : 2023年4月3日
本棚登録日 : 2023年3月26日

みんなの感想をみる

コメント 0件

ツイートする