読書会でまとめたものになります

11章『一度に1つのことを』P.143

11章ではソースコードの「デフラグ」を行う
 
一度に複数のことを行うコードは分かりづらい
 
■コードは1つずつタスクを行うようにする
 
手順
  1. コードが行っている「タスク」をすべて列挙
  2. タスクをできるだけ異なる関数に分割する(少なくとも異なる領域に分割する)
 

11.1 タスクは小さくできる(P.145)

一目見ただけではわからないコードは、複数のタスクを同時に行っている場合がある
 
複数のタスクを別々に解決する→読みやすいコードになる
 
具体例(JS)
スコアを更新するコードと見せかけて2つのタスクを内包
  1. old_voteとnew_voteを数値に「パース(解析)する」
  2. scoreを更新する
 
11.2 オブジェクトから値を抽出する(P.147)
 
タスクを分割する→コードが分かりやすくなる→リファクタリングしやすくなる
 
具体例(JS)
まずはタスクを書き出す→関数または領域で分けて個別に解決していく
 
11.3 もっと大きな例(P.151)
 
具体例(JS)
もっと長いコードでも同じ
タスクを書き出す→関数または領域で分ける(他の領域のことを考えずに済む)
 
11.4 まとめ(P.155)
 
タスクを分割することが大事
 
読みにくいコードがある→そこで行われているタスクをすべて列挙
→別の関数(やクラス)に分割
→分割できないものは関数の論理的段落といえる
 
担当:やし