以下の内容はhttps://uga-box.hatenablog.com/entry/2025/01/14/000000より取得しました。


【技術本まとめ】Tidy First? の整理手法のメモ

ちょっとずつ読んでいる Tidy First? の第一部「整理手法」についてのメモ

learning.oreilly.com

本の序文の話は以下に書いた

【技術本まとめ】Tidy First? をちょっとずつ読む - UGA Boxxx

第1部「整理手法」

リファクタリングをしていくときのちょうど良い小さな手法をここでは紹介してる

簡単にまとめる

  1. ガード節(Guard Clauses)
    ・if文のネストを深くしないようにする(早期リターンの話だと思う)
    https://github.com/Bogdanp/dramatiq/pull/470/files

  2. デッドコード
    ・不要なコードは削除しましょう
    ・バージョン管理しておけば良い

  3. 対称性の正規化 コードの書き方に一貫性をもたせよう

  4. 新しいインターフェース・古い実装
    ・複雑で紛らわしいインターフェースを呼び出す必要がある時、呼び出したいと思える簡潔なインターフェースを作り、それを呼び出すようにする
    ・新しいインターフェースは単に古いものを呼び出すだけでいい(全て移行したら実装をインライン化する)

  5. 読む順序
    ・ファイル内のコードを読み手が読みやすい順序に並び替えよう
    ・この時に、読んでて難解だと思うところのリファクタリングは極力避ける(あとにする)

  6. 凝集順序
    ・影響しあっている結合したコードを変更する場合、変更する前にそれらを近くにおく(同じディレクトリ、同じファイル、同じリポジトリ

  7. 宣言と 初期化を近くにおく、一緒に移動する

  8. 変数の説明
    ・長い式、長い表現は変数に切り出すなどの整理を検討する

  9. 定数の説明 数字、文字列は定数に切り出す

  10. 明示的なパラメータ
    params.aparams.b のように渡された引数をまま付かないようにする
    foo(params.a, params.b) のようにして、パラメータを明示する

  11. チャンクステートメント
    ・コードの大きな塊を読んで、部分の間に空白行を入れる

  12. 抽出ヘルパー
    ・共通して変更する必要がある処理を抽出してヘルパー関数を作る

  13. 1つの山
    ・コードが分割されすぎて理解しにくい場合は、一度集めて1つのコードにしてから整理する

  14. コメントの説明
    ・コードを読んでいて、そういうことかと思ったらコメントを書く

  15. 冗長なコメントを削除する

感想

割とリーダブルコードに書いたるような一般的な内容だった

第二部はこれらの小さなリファクタリングをどうやって日常で管理していくかの話

そのあたりも興味あるので読んでいきたい




以上の内容はhttps://uga-box.hatenablog.com/entry/2025/01/14/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14