クソコードと認識することについて 〜ソースコードの解像度〜

プログラマなら、良いソースコードを書きたい。クソコードを書きたいプログラマは、居ないはず。 ソースコードを読んでクソコードと感じるのは、どうゆう時なんだろうか。

クソコードと感じる時

  • 設計ミス(データベース設計/クラス設計)により本質的でない処理に、本当に実現したいことが埋もれてしまっている。
  • 変数等の命名が適切でない、構造が適切でないために、意図が伝わりにくい。
  • 自分のソースコード読解力、デザインパターンの知識が無いため、読めない。または読むのに苦労する。

クソコードと判断してしまう原因は、書き手の問題と読み手の問題が混じっていることもありそう。

ソースコードの解像度

音楽で例えると、特に音楽が好きでない人と、プロの人が同じ曲を1回聴いた場合、プロの人の方が曲の情報をより多く受け取ることができるのは、自然なこととして理解できると思う。これはプロの人の音楽に対する理解の解像度が高いと言えると思う。 プロの人が十年以上培ってきた技術を駆使して表現したもの全てを、特に音楽が好きでない人が把握できるはずがない。

プログラムでも同じことが起こっているはず。 初学者と中級者と熟練者がいた場合、熟練度が高い程、ソースコード解釈の解像度が高いし、解像度が高いソースコードを書ける。

中級者は、初学者の書いたコードをクソコード扱いしがちだし、熟練者のコードも自分の理解できる解像度までしか読めないので、熟練者の優れた点を理解できない、場合によってはクソコード扱いしてしまうという状況が発生しがちなんでないかな?

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.