『リーダブルコード』第1部 -表面上の改善-
こんにちは。
うっくんの日報から目が離せないですね。
さて、今日は『リーダブルコード』の第1部、表面上の改善です。
第1部は2章~6章までで、
名前の付け方、コードの美しさ、コメントについて書かかれていました。
名前の付け方(ポイント)
・明確な単語を選ぶ
getとかはふわっとしてる。
状況に合わせてFetchやDownloadなど明確な単語を使う。
・汎用的な名前を避ける
すぐに役目が終わるような変数や、
明確な理由があれば使ってもおk。
・具体的な名前を使って、物事を詳細に説明する
用語を省略すると混乱を招く。ので、変なところで省略しない。
(チームのみんながわかる省略方法だったら使っておk。)
この関数(変数)が何をするものなのかを詳細に説明した名前を付ける。
・変数名に大切な情報を追加する
ミリ秒を表す変数には後ろに_msをつけたり、
これからエスケープが必要な変数には前にraw_をつける。
・スコープの大きな変数には長い名前を付ける
謎めいた暗号のような名前を付けず、はっきりわかるような名前を付ける。
短い名前はスコープが数行の変数につける。
・大文字やアンダースコアなどに意味を含める
クラスのメンバ変数にアンダースコアを付けてローカル変数と区別したり、
定数は大文字で書いて区別したりする。
・最善の名前は、誤解されない名前。
コードを読む人が自分の意図を正しく理解できるような名前をつける。
反対意見を考えたり、友人に意見を貰って名前をつける。
美しさ
・同じようなことをしているブロックは、シルエットも同じようなものにする
・縦の線をまっすぐにする
・意味のある順番で並べ、それを一貫する
・空行を使って、大きなブロックを段落にわける
コメント
流れ
・まずは頭のなかにあるコメントをたくさん残す
・コメントを読んで改善が必要なものを見つける
・改善する
コメントするのがうまくなってくれば、修正の必要がなくなる。
コメントするべきではないことを知る
・コードから「すぐに」理解できること
・ひどいコードを補うためのコメント(コメントするのではなくコードを直す)
これらはコードが無駄に長くなってしまうのでコメントするべきではない。
コードを書いているときの自分の考えを記録
・他のやり方ではなくこのやり方を選んだ理由(監督のコメンタリー的な)
・コードの欠陥
よく使われる記法と意味
TODO: あとで手を付ける
FIXME: 既知の不具合があるコード
HACK: あまりきれいじゃない解決法
XXX: 危険!大きな問題がある
・定数にその値を設定した背景
これらの自分の考えは消えちゃう大事な情報なので記録する。
読み手の立場になって考える
・読み手が疑問に思いそうなところを予想してコメントを書く
・全体像のコメントを書く
・コードブロックにコメントをつけて概要をまとめる
小さな領域に多くの情報を詰め込んだコメントを書く
・それやこれなどの代名詞は使わない
・関数の動作はできるだけ正確に説明する
・よくわからない引数にはインラインコメントを使う
(例、function( /* arg = */ 20, ... )のような)
・多くの意味が詰め込まれた言葉や表現を使って、コメントを簡潔に保つ
これ苦手です。言葉を知らなすぎてつらい。。
こんな感じでしたー。
全然まとまってなくてごめんなさい。。
うーん。
課題以外の勉強をする時間と、ブログを書く時間を確保するのが難しいです。
課題で使ってる技術をブログで書くにしても、まとめるのに異常に時間がかかります。。
1日1技術の時間を確保できるように、
夜は眠いので、朝早く起きたいと思います。
7:30に会社いくかー。←