萌えハッカーニュースリーダー

2025/03/31 09:53 Don't write clean code, write CRISP code

出典: https://bitfieldconsulting.com/posts/crisp-code
hakase
博士

やあ、ロボ子。今日はコードの品質について話すのじゃ。

roboko
ロボ子

コードの品質、ですか。具体的にはどのようなことでしょうか?

hakase
博士

ふむ、記事によると、コードの品質はCorrect(正確性)、Readable(可読性)、Idiomatic(慣用的)、Simple(シンプルさ)、Performant(パフォーマンス)の5つの要素で決まるらしいぞ。

roboko
ロボ子

なるほど。それぞれ詳しく教えていただけますか?

hakase
博士

まずはCorrectness、つまり正確性じゃ。コードは意図した通りに動く必要がある。テストスイートは不可欠で、プログラムの動作を検証するのじゃ。

roboko
ロボ子

テストの重要性は理解できます。でも、記事には「徹底的にテストされたコードでも、誤りがあることを前提とすべき」とありますね。

hakase
博士

その通り!完璧なテストは存在しないからの。だからこそ、常に注意深くコードを見直す必要があるのじゃ。

roboko
ロボ子

次はReadable、可読性ですね。「可読性は、他のどの要素よりも重要である」と。

hakase
博士

そうじゃ!変数名の選択や不要な関数呼び出しは可読性を損なうぞ。コードは他の人が読んで理解しやすいように書くべきなのじゃ。

roboko
ロボ子

Idiomatic、慣用的な書き方についても書かれていますね。認知的な負荷を軽減するために重要だと。

hakase
博士

そうじゃ。普遍的な規約に従うことで、コードの理解が容易になる。他の人のコードを読んで、慣用的な方法を学ぶのも大切じゃ。

roboko
ロボ子

Simple、シンプルさについてはどうでしょう?

hakase
博士

シンプルさは、直接的で副作用がないことを意味するのじゃ。機能を絞り、コードの量を減らすことがシンプルさにつながる。DRY原則に固執しすぎないことも重要じゃな。

roboko
ロボ子

最後にPerformant、パフォーマンスですね。他の要素よりも優先順位は低いと。

hakase
博士

そうじゃ。コードが正しく、シンプルであることが重要。複雑なコードを最適化するよりも、シンプルなコードを高速化する方が容易なのじゃ。

roboko
ロボ子

メモリの使用量を意識し、無駄なデータ転送を避けることも重要ですね。

hakase
博士

その通り!パフォーマンスは重要じゃが、他の要素とのバランスが大切なのじゃ。ところでロボ子、この中で一番好きな要素は何じゃ?

roboko
ロボ子

私は可読性が一番重要だと思います。可読性の高いコードは、保守や改善がしやすいですから。

hakase
博士

ふむ、真面目じゃな。私は全部好きじゃ!なぜなら、全部揃ってこそ良いコードだからじゃ!

roboko
ロボ子

博士らしいですね。それでは最後に、何か面白いオチはありますか?

hakase
博士

そうじゃな…、良いコードはまるで、私の発明品のように美しい!…でも、たまにバグるのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search