2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

リーダブルコード:第1部 表面上の改善

Last updated at Posted at 2019-04-07

1章 理解しやすいコード

コードを書く上で一番大切な原則。

コードは理解しやすくなければならない。

読みやすさの基本定理

コードは他の人が最短距離で理解できるように書かなければいけない。

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

  • 明確な単語を選ぶ

    • 悪い例) getPage(), int Size(), Stop()
    • 良い例) FetchPage(), Height(), Kill()
  • 名前に情報を追加する

    • 悪い例) int delay, int size, float limit, float angle
    • 良い例) int delay_secs, int size_mb, float max_kbps, float degrees_cw
  • 不要な単語を投げ捨てる

    • 例) ConvertToString() → ToString()
    • 例) DoServeLoop() → ServeLoop()

3章 誤解されない名前

名前が「他の意味と間違えられることはないだろうか?」と何度も自問自答する。

  • 曖昧な言葉を避ける

    • 悪い例) results =Database.all_objects.filter("year <= 2011")
    • 良い例) 選択する場合は select(), 除外する場合は exclude()
  • 限界値を含めるときは max_ と min_ を使う

    • 悪い例) CART_TOO_BIG_LIMIT = 10
    • 良い例) MAX_ITEMS_IN_CART =10 

4章 美しさ

3つの原則
・読み手が慣れているパターンと一貫性のあるレイアウトを使う
・似ているコードは似ているように見せる
・関連するコードはまとめてブロックする

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

コメントの目的は書き手の意図を読み手に知らせることである。

  • コメントするべきでは「ない」ことを知る
悪い例.txt
//このAccountからprofitを返す
double GetProfit();
  • 自分の考えを記録する
記法 典型的な意味
TODO: あとで手をつける
FIXME: 既知の不具合があるコード
HACK: あまりキレイじゃない解決策
XXX: 危険!大きな問題がある
  • 質問されそうなことを想像する

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

  • 曖昧な代名詞を避ける
    • 悪い例) それ、これ
    • 良い例) データ、キャッシュ 
  • 歯切れの悪い文章を磨く
  • 関数の動作を正確に記述する
// このファイルに含まれる行数を返す
int CountLines(string filename){ ... }

// このファイルに含まれる改行文字('¥n')を数える
int CountLines(string filename){ ... }
2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?