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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for ShotaAyabe ShotaAyabe
July 20, 2024
26

 「リーダブルコード」で得た学び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 制御フローを読みやすくすること 命名テクニックを工夫すること まとめ