Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「リーダブルコード」で得た学び3選

Avatar for ShotaAyabe ShotaAyabe
July 20, 2024
14

 「リーダブルコード」で得た学び3選

Avatar for ShotaAyabe

ShotaAyabe

July 20, 2024

Transcript

  1. © Yuta Tokumitsu. All Rights Reserved. 1 JR中央線 Developers もくもく&LT会

    LT「リーダブルコード」で得た学び 3選」
  2. © Yuta Tokumitsu. All Rights Reserved. 2 自己紹介
 ▪私について  綾部

    翔太 (Ayabe Shota) 府中市出身  24卒 ▪なにをしている人  株式会社スペースマーケット Webエンジニア   ▪趣味  テニス🎾カラオケ🎤 ▪技術スタック  Ruby, Rails, TypeScript ▪アカウント  Zenn https://zenn.dev/sterkste  GitHub https://github.com/ShotaAyabe
  3. © Yuta Tokumitsu. All Rights Reserved. 6 ”コードは理解しやすい状態でなればなけない" 
 


    •自分のコードを振り返ってみると・・・
 → チーム開発<個人開発寄りのコードになっていた 
 
 →「レビューされるコード」を書いていなかった
 → 動くコードを書くことばかりに意識が向きがち
 → リファクタリングをするという意識も疎かに・・・
 ①理解しやすいコードを書くこと 

  4. © Yuta Tokumitsu. All Rights Reserved. 7 
 ”コードは理解しやすい状態でなればなけない" 


    
 •基本的な改善ポイント
 「適切な改行を入れる」 
 「適切なコメントを記入する」 
 
 •基本的な開発サイクル
 動くコード, テストを書く→リファクタリング 
 ①理解しやすいコードを書くこと 

  5. © Yuta Tokumitsu. All Rights Reserved. 8 
 
 


    
 ①の方が読みやすい
 左側: 調査対象の式 / 右側: 比較対象の式 
 →「lengthは10以上だ」とすぐ分かる 
  ②制御フローを読みやすくすること 

  6. © Yuta Tokumitsu. All Rights Reserved. 9 
 
 どちらの書き方が望ましいか迷う・・・


    「リーダブルコード」では以下の3点を考える
 
 
 
 ・条件は否定形よりも肯定形を使う 
 ・単純な条件を先に書く 
 ・関心を引く条件や目立つ条件を先に書く 
 ②制御フローを読みやすくすること 

  7. © Yuta Tokumitsu. All Rights Reserved. 10 
 
 


    
 混乱しやすいコード
 「isNotFlagがtrueだから...もしisNotFlagではないなら...?」
 
 
 
 →コードを書いている時や書き終えた後に見直して 
  読みづらいコード(否定に否定を重ねるなど)に 
  ならないようすることが大切 
 アンチパターン
 ②制御フローを読みやすくすること 

  8. © Yuta Tokumitsu. All Rights Reserved. 11 名前から情報を伝えられる例 
 →「ユーザー利用料の税込価格を計算する処理」

    
   だとすぐに分かる 
 “名前には情報を詰め込む、名前は短いコメントだと思えばいい” 
              ーー命名に関して「リーダブルコード」より
 情報を詰めきれていない命名とは・・・?
 
 
 
 
 → 名前を通して情報を伝えられていない 
 
 
 ・連番
 ・「Process」など抽象的な言い回し 
 ③命名テクニック 

  9. © Yuta Tokumitsu. All Rights Reserved. 12 言い換え
     
 具体的に言い換えを活用することで意図が伝わりやすくなる

    
 
 
 
 引数に単位を追加する
 
 → 読みやすさやバグ防止に役立つ 
   サイズの単位がMBであることが明記されたことで単位の誤認によるミスも防げる 
 
 ③命名テクニック 

  10. © Yuta Tokumitsu. All Rights Reserved. 13 学び1 理解しやすいコードを書くこと 学び2

    学び3 制御フローを読みやすくすること 命名テクニックを工夫すること まとめ