リーダブルコード殴り書きメモ#2

190708
(リーダブルコード後半はどちらかというと実践的な内容が多く、実際に手を動かさないと理解も進まないかなとう印象を受けた)
(ともあれ早くネクストステップに進もう)

9章 変数と読みやすさ
変数は下記の理由で読みにくさの原因となる。
・変数が多い
・変数の範囲が大きい
・変数の変更回数が多い
問題への対処法は以下
1.変数を削除する
まず単純に余分な変数は削除すれば良い
中間結果保持を担う変数も、タスクをなるべく早く完了させることにより削除する
2.変数の範囲を縮める
変数のことが見えるコード行数をできるだけ減らす
問題がなければ、クラスを分割したり、新たにブロック化したりしてしまえば良い、ということ
(ただ分からない話もそれなりにあった)
3.変数は一度だけ書き込む
よく分からず


第Ⅲ部 コードの再構成
10章 無関係の下位問題を抽出する
大きな問題を小さな問題に分割して、それぞれの解決策を組み立てることがエンジニアリングの基本
コードでも当てはまる。なるべく分かりやすいサイズの小さな問題に分割することが肝要
分割するコツは以下
・関数やコードブロックを見て、このコードの高レベルの目標は何か、と自問する
・コードの各行に対して、高レベルの目標に直接的な効果を持つものか、それともあくまで間接的なものか(=無関係の下位問題を解決しているのか)、と自問する
・間接的なコードは抽出して別の関数にする
因みに別の関数にすると、他のタスクでも使えるし、機能を簡単に拡充できるようになるという恩恵も得られる
他tipsを含んだ様々な実例があったが、これは実際にやらないと身につかなそうだった

11章 一度に1つのことを
一度に複数のことをするコードは理解しにくい
コードは1つずつタスクを行うようにしなければいけない
一度に1つのタスクをする手順はシンプルに以下のよう
・コードが行なっている「タスク」を全て列挙する
・タスクをできるだけ異なる関数に分割する
これも実際やってみにつけようという感じがする

12章 コードに思いを込める
ロジックのたくさんあるコードは理解するのが難しい
簡単な言葉で、その挙動の背景やポイントを説明してみよう
意外と言葉に直してみると、よりシンプルなコードを書くヒントになる
cf ラバーダッキング

13章 短いコードを書く
最も読みやすいコードは、何も書かれていないコードである
ライブラリの再利用、機能の削除を積極的に行おう
コードをできるだけ小さく軽量に維持するコツは以下
・汎用的なコードを作って、重複コードを削除する(10章参照)
・未使用のコードを消す(過剰な機能は持たせない)
・プロジェクトをサブプロジェクトに分割する(11章参照)
・コードの重量を常々意識する
・既存のライブラリで解決可能か調べる

第Ⅳ部 選抜テーマ
14章 テストと読みやすさ
他のプログラマが安心してテストの追加や変更ができるように、テストコードを読みやすくすること
でもテストコードなんて書いたことないからなぁ、、
あんまよく分からなかった(言いたいことはなんとなくわかるけど)

15章 「分/時間カウンタ」を設計・実装する
実際の実装例

この記事が気に入ったらサポートをしてみませんか?