- Published on
クソコードとは何か?を写真で説明した
- Authors
- ジャバ・ザ・ハットリ
「クソコード」と言っても一体なにをもってクソとするのかは難しい。さらにほとんどのコードは一応は動いている。目の前で動いているコードに対して「クソ」と判断するからにはもうちょっと分かりやすい説明があってもいいんじゃないだろうか、と考えたので種類ごとに分けて写真で説明してみた。
変更不可能コード

どれか1本でも配線変えたら(コード変更したら)なにが起きるのか予想がつかない。 )
開けたら最後のコード

そのまま触らなければ戸棚の中に収まっているが、扉を開けた瞬間、中身が落ちてくる。もう扉を閉めた時点で後のことは一切考えてない。 )
多重責任コード

ひとつのコンポーネントやメソッドにこれでもかと責任が入っている。ひとつでそんなにたくさんのことはできないし、やるべきでない。 )
カッコよすぎコード

なんか見た目だけはカッコよさげだけど、実際のところは何が書いてあるのか読みにくいし、意味不明。 )
クローンコード
どこかのコードをそのままコピーしてあちこちに貼り付けているコード。こういうコードを読んでると「あれ?この記述、以前にもどこかで見たぞ」が連発されてしまう。
組み合わせ違いのコード
本来意図していない組み合わせのコンポーネントで使われているコード。おいおいこの機能(穴)はそんな風に使うことを意図して作ったんじゃないんだけどな、と。
以上「クソコードとは何か?を写真で説明した」でした。