リーダブルコードを読む part8
こんにちはかわです。
アドベントカレンダー23記事目です。
以下の続きです。
8章 巨大な式を分割
1 説明変数
if str.split('@')[0] == "kawa" よりも username = str.split('@')[0] if username == "kawa" のほうが何を書いているか分かりやすい
2 要約変数
user_owns_document = (request.user.id == document.owner.id) if user_owns_document #ユーザはこの文章を編集できる end if !user_owns_document #文章は読み取り専用 end
3 ド・モルガンの法則を使う
適用できるか検討する
4 短絡評価の悪用
「頭がいい」コードに気をつける。
あとで他の人が読むときにわかりにくくなる。
ロジックを簡潔に落とし込むことがわかりにくさを生み出すことがある。
5 例:複雑なロジックと格闘する
ロジックが複雑になった場合は別の視点、逆の視点からも考える
単純なロジックにできないかを考える
6 巨大な分を分解する
DRY原則を意識しよう
7 式を簡潔にするもう一つの創造的な方法
メソッド名が似て同じことをしているような時はマクロを定義するのもよし