【再度、考える】綺麗なコードをかくエンジニアは、なぜ迷惑なのか?

  • 投稿 : 2016-02-05
しかし、大抵の同僚は綺麗なコードを書く開発者と仕事をしたいと思っています。
汚いコードは百害あって一理なし。
綺麗なコードと汚いコード。どちらのプログラマと一緒に働きたい?~可読性を意識したプログラム言語はRuby, CoffeeScript, Elixir #Ruby #CoffeeScript #Elixir|CodeIQ MAGAZINE

こういうのを見かけて、
以前に「キレイなコードが良いというエンジニアは迷惑千万!? 」をかいたけど
上記では、エンジニアには共感されない、分からないんだろうなぁという感じがしたので
再度、考えてみました。

迷惑なキレイなコード

結合度が高い
キレイさにこだわり、可読性が犠牲になっている

上記2点にあるのではないか?
つまり、だれがみても綺麗なコードだとは言えるけど
それは、一見きれいだけど、実際にはダメなコードという話になろうと思います。

上記2点を別の言葉で言い換えれば

・コメントが一切ない
・無理して短いコードを書こうとする
・無理して似たコードをまとめようとする
・知識や技術を見せつけるようなコードをかく
・自身よりもスキルのひくい人が読んでもわかるようにかかれていない
・汎用性高くかかれてるが、仕様変更の入るスキがなぜかないコードを書く

汎用性高い=個別の仕様を含むのを嫌がるというはなしかも。


迷惑なキレイなコードをかくエンジニアの性格

性格がなぜかコードに現れるんですね。上記のようなコードを書いてる人と付き合うのはそれなりの覚悟がないと無理かも。

・自身よりもスキルの高い人、自身が尊敬する人の言うことしか聞かない
・自身に絶対的な自信を持っている
・人の話を聞かない、人の話を理解しようとしない
・妥協という言葉は悪
・原理原則を大事にする
・悪いのは、スキルの低い人間、技術を評価しない人間だという思い込みがある
・偏屈

柔軟性のあるコード

・柔軟性のあるコード
・柔軟性のある人付き合い

完成された美しさって、柔軟性とは相性が悪いことが多いとは思う。

言葉遊びでいいのなら、完成された美しさは、少しでも変更すると汚くなるので、変更を許されない状態になるのかも。

個別仕様に依存しない話で、綺麗なコードを論じている場合

たぶん、その路線がダメなんだと思う。

プログラムコードに、その人らしさが表れるのか?

それはわかりませんが、
このガチガチにかたいコードは、この人だろうなぁとか
この緩いコードは、この人だろうなぁとか
見続けていたら、やっぱりそういうのがありそうな気はします。

仕様変更に強いコードといっても、そこは性格が合わられるわけで
自身が修正することを想定している人と
自身よりもレベルの低い人たちを想定している人たちとでは
やっぱり、違うんですね。

それを人間性とかに結びつけるのはよろしくないんだどうけど、
擬人化みたいに感じることはあるとは思う。

綺麗なコードなのに、クソコードと周りから思われたらオワリ

・ひどいコードは何やってるか分からない
・ひどいコードが何やってるか分かっても、なぜそうなってるのか、そこを変えるとどうなるか分からない
・ひどいコードは新たな変更に耐えられず書き直されることになる
・ひどいコードを書き直すには、ひどいコードがどあなっているか理解し、どこを変えるとどうなるのか理解する必要がある
・ひどいコードはたいていひどいテストコードが支えていて、テストコードがあったとしてもひどいコードと同様の問題があり、頼れるものが何もない
なぜひどいコードを書いてはいけないか - hitode909の日記

今回の僕の書いた内容が理解される?ためには
「スキルが低いから、どこを変えたらいいかわからないんだよ」というのが通用するかどうかというのが
キモかなぁと思う。

どんな理由があっても、煙たがられたら、それは「よろしくないコード」だと思う。

・正論
・大義
・理想

どおりだとしても、・・・。


スポンサーリンク

タグ#IT