LoginSignup
1
2

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-09-13

諸言

 学習履歴全体のリンク
 https://qiita.com/shigural/private/444b991293e5ab1b40af

本文

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

ここのサイトがよくまとめている
https://myenigma.hatenablog.com/entry/20131111/1384175078

1.理解しやすいコード

 具体的な名前をつけよう

表面上の改善

2.名前に情報を詰め込む

 変数にはsやmsなどの単位をつけよう
 すべて大文字で定数、変数名の最後に_をつけたらメンバ変数を示そう

3.誤解されない名前

 曖昧な言葉「filter」よりselect/excludeを使う
 範囲を表すならfist-last、開始から終わりはbegin-end
 bool型は肯定文で表現する
 read_passwordよりneed_passwordなどとする。isやhasも積極的に利用するべき
 getは低コストな関数にだけつける
 size関数は軽くしておき、重たい処理はcountsizeなどと別名にしておく

4.美しさ

 引数が複数ある時、スペースで見やすくすると良い

//見にくい
test("a","","test");
test("b","TestHogeHoge","offset");

//見やすい
test("a",""            ,"test"  );
test("b","TestHogeHoge","offset");

変数名は重要順なり、アルファベット順なり規則を持って並べる

5.コメントすべきことを知る

 コードの欠陥についてコメントすると良い
 TODO:後ですること
 FIXME:既知の不具合
 HACK:きれいでない
 XXX:危険な不具合
 
 定数には積極的にコメントしよう

6.コメントは正確で簡潔に

 代名詞は避ける
 誤解しないように書く
 インラインコメントを利用する。特にbool型には利用すると良い

 Connect(/*timeout_ms=*/ 0, /*use_excryptiona=*/ false);

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

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

 条件式は
 「調査対象」(比較演算子)「比較対象、あまり変化しないもの」
 という並びにするとわかりやすい
 ifの中身は否定より肯定を使う
 目立つ条件や単純な条件を先に書く
 do-while文を使わない
 早くreturnする。continue文を積極的に使う

8.巨大な式を分割する

 式が複雑なら一時変数としてようやく変数を作ると良い
 式が長いなら、否定で単純になるかを考える

9.変数と読みやすさ

 変数はできるだけ書き込みを1回にする

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2