エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

【翻訳+意訳・要約】読書ノート Tidy First

※本記事は、Geminiによる意訳+翻訳を活用し、レイアウト調整したものです。
※感想は、オリジナルです。

原文

Reading Notes: Tidy First - DEV Community

意訳+要約

読書ノート Tidy First

ブログ「Tidy First: コードをより読みやすく、保守しやすくする」は、コードの可読性と保守性を向上させるための「Tidy First」の原則について解説しています。

Tidy Firstとは、コードを変更する前に、まずコードを整理して読みやすくすることです。コードが整理されていれば、変更箇所が明確になり、変更後のコードも読みやすくなります。また、将来の変更にも対応しやすくなります。

Tidy Firstを実践する具体的なテクニックとしては、以下のようなものが挙げられます。

  • 動作変更と整理の作業を分離する
  • 不要なコードを削除する
  • コードのシンメトリーを正す
  • ガード節を使用する
  • ヘルパー関数を抽出する

Tidy Firstは、コードの変更前、変更中、変更後に行うことができます。チームの状況に合わせて、適切なタイミングで行うことが重要です。

Tidy Firstのメリットは、以下のとおりです。

  • コードの可読性が向上する
  • コードの保守性が向上する
  • 将来の変更が容易になる

Tidy Firstは、コードの品質を向上させるための重要な原則です。ぜひ、実践してみてください。

GeminiへのQA

Q:要するにリファクタリングですよね?

はい、Tidy Firstはリファクタリングの一種と言えます。リファクタリングとは、コードの構造や設計を改善する手法です。Tidy Firstは、リファクタリングの中でも、コードの可読性と保守性を向上させることに焦点を当てた手法です。

Tidy Firstとリファクタリングの主な違いは以下の3点です。

  • 目的: リファクタリングは、コードの構造や設計を改善することで、コードの品質を向上させることを目的としています。一方、Tidy Firstは、コードの可読性と保守性を向上させることを目的としています。
  • 範囲: リファクタリングは、コード全体を対象に行うことができます。一方、Tidy Firstは、コードの一部を対象に行うことが多いです。
  • タイミング: リファクタリングは、コードを変更する前に、または後に、またはその両方で行うことができます。一方、Tidy Firstは、コードを変更する前にのみ行います。

つまり、Tidy Firstは、リファクタリングの中でも、より限定的な手法と言えます。しかし、コードの可読性と保守性を向上させるためには、非常に効果的な手法です。

Tidy Firstを実践することで、以下のメリットを得ることができます。

  • コードが読みやすくなり、理解しやすくなる
  • コードの保守性が向上し、変更が容易になる
  • 将来のバグの発生リスクが低減する

Tidy Firstは、すべての開発者にオススメできる手法です。ぜひ、実践してみてください。

Q:コード品質がバラけそうな気がしますが

確かに、Tidy Firstをチームで実践すると、コード品質がバラける可能性があります。これは、チームメンバーのスキルや経験が異なる場合、コードの整理方法について統一されたルールがない場合などに起こります。

コード品質がバラけるのを防ぐためには、以下の対策が有効です。

  • チームメンバーのスキルや経験を均一化する: コードレビューや研修などを通じて、チームメンバーのスキルや経験を均一化します。
  • コードの整理方法について統一されたルールを設ける: チーム内で共有するコーディング規約などを整備し、コードの整理方法について統一されたルールを設けます。
  • コードレビューを徹底する: コードレビューを通じて、コードの品質を維持・向上させます。

また、Tidy Firstは、コードの変更前にのみ行う手法です。そのため、コードを変更する前に、必ずコードレビューを行い、コードの品質を確認することが重要です。

Tidy Firstは、コードの可読性と保守性を向上させるための有効な手法です。しかし、チームで実践する場合は、上記の対策を講じることで、コード品質がバラけるのを防ぐことができます。

以下は、Tidy Firstをチームで実践する際の注意点です。

  • チームメンバーのスキルや経験を考慮する
  • コードの整理方法について統一されたルールを設ける
  • コードレビューを徹底する
  • コードを変更する前に、必ずコードレビューを行う

これらの注意点を守れば、Tidy Firstをチームで効果的に実践することができます。

感想+雑記

個人的に、こういうのをやろうとすると、品質バラけるイメージしかない。
チームの中で良かれと思ってやると、だいたい可読性が悪くなり、自己満になる可能性がある。
ちゃんとソフトウェア工学を学び、原理原則を意識できるようにならないと、現状維持か改悪になる。
コード内容を理解した上で、若手の開発者に、こう改修したらいいとメモを渡したんだが、現行踏襲で複雑な実装をした結果、バグの温床になって、案の定、バグが出てきたときは、目も当てられんかった。。。
悪意があるわけではないと思うが、状況がなかなか良くならないんだよね。。

原理原則を早く理解して欲しいのだが、言われてやらせるのは、意味ないから言わないでいるけど、もどかしい。
こういうときは、心のなかで、「俺は、キュウベェ。俺は、キュウベェ。」って言い聞かせて、無心になるようにして、精神疾患を発症させないように気をつけてる。
気持ちを全面に出しても意味ないからな。

どうやって諭すかが、喫緊の課題ではある。