川のブログ

川の適当気ままなブログです。 

リーダブルコードを読む part8

こんにちはかわです。

アドベントカレンダー23記事目です。

以下の続きです。

kawakawa.hatenablog.com

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原則を意識しよう

qiita.com

7 式を簡潔にするもう一つの創造的な方法

メソッド名が似て同じことをしているような時はマクロを定義するのもよし

以上

kawakawa.hatenablog.com