綺麗なコードをかけない人がいたとします。

その人が、保守できないテストコードを書いて満足してるのは違和感ある。テストコードがない部分にテストを書こうと躍起になってるのが違和感ある。

むろん、テストコードは書くべきだ。でもね?クソコードを書くことしかできない人が1からテストコード書いても、それはクソテストコードなんです残念ながら。設計の頭がないんだもの。

テストコードを書くことにより自分の設計のヤバさに気づくことも可能ではある。けど、気づいてくれない。

テストコードは、書けば終わりってものではない。書いて終わりのテストコードはそれテストコードって言わない。だからメンテできなければならないし、ドキュメンテーションする必要があるし、レギュレーションを決める必要あるし、チームに対して文化を伝えこまなければならん。DevOps

後からジョインした人が運用できるテストでなければ意味がない。

そのへんの意識が一切ないのにテストを書こうとしてるのは、無駄な仕事だよ。負債を増やすだけだし、テストコードというものに誤解を発生させてしまう。

◆まともなコードを書け

なぜ読めないコードを書いて平然としているのか。

それは、しょうがない。読めるコードの書き方を知らないんだから。でも、読めねぇコード書きながら自信満々なのがマジわからん。歯向かってくるのは全然ウェルカムなんだけど、能力差を理解できてないのが怖い。なぜ自分が正しいと思っていられるんだろう。

俺が優しめに指摘してるってのもあるかもしれんが、刺すとこは刺してるぞ。なんで「あれコイツ強いな勝てねぇ」って気づけない?お前は論破されないように頑張っているってだけで、俺のしている質問に何一つ答えられてないんだけど。

俺は相手の反論に対して「そうかもしれないですねぇ。じゃあ、そうしたいんであればこういう問題が発生するので、あっちをこうしてあげなきゃいけないですよね?」みたいにしてあげてる。けど相手は全力で逃げようとする。

まともなコードをかけない人が、これまた思慮のないテストコードを書こうとする。「テストコードを書いたほうが安全じゃないですか」と言う。いや、そりゃそうなんですけど、お前のテストコードの品質が大丈夫である場合に限った話だ。

テストコードは当然書くべきであるが、「書けば勝ち」じゃない。チームで運用できなければお前専用のテストコードになる。オナニーですよそれ。リモートにpushする意味がないテストコードです。

この「テストコード書きたい欲」は「コメント書きたい欲」に通じるものがある。未熟なプログラマーにコードを書かせるとコメントまみれになる現象。アレだ。

読めるコードにする方法がわからんので、「足す」ことにより解決を図ろうとする。

人は問題を解決しようとする時、引いた方が理にかなっていても、何かをつけ足してしまう習性がある | カラパイア

一般的なプログラマーが書いている(書いていない)「意味が通って整然としていて細かく整理されたコード」には基本的にコメントなんて不要だ。読めばわかるから。でも未熟なプログラマーは簡単な課題に対して難解かつ複雑なコードを書く。そいで本人もコードがやばいと思っているのか知らんが、ひたすらコメントを書きまくってしまう。

「コメント書いたから読めるな!ヨシ!」みたいな。いや読めないよ。

「テスト書いたから安全だな!ヨシ!」も同じこと。

「コメントを書くべきである」「テストコードを書くべきである」という意見には賛成だ。賛成だが、お前の書いてるコメントもテストコードも品質が悪い。品質の悪いテストは自己満足にすぎない。

◆よいテストコードを書くには

知るかよ。ググれ。「テストコード 設計」とかでググれ。俺の意見が聞けねぇってんならググれ。俺はそうしてきたしな。

よいコメントの書きかたについても調べろ。

もうちょい言うと、普段のコードが良いコードかどうかを見直したほうがいいよ。設計できてます?読んですぐ理解できるデータフローになってる?

なってないんなら、なんとか直そうよ。問題を整理して何をするべきなのか検討をつけ、コードに落とし込もう。コードの書き方についてもっと調べて勉強しよう。

◆結論

とりあえず、自分がどれほどの能力なのか自覚してくれ。勉強してくれ。慢心するな。俺に勝てる領域をひとつでもいいから作れ。話はそっからだ。

せめて「一理ある」話をしてくれ。一理もないのはビビる。いや違う。一理もない話をしたっていいんだ。俺も通った道だから。ただ、一理もない設計にあれほど拘るのがやばい。意味が分からん。

うん。

うちは引き続き人員募集中です。普通の神経したエンジニアを募集中です。いや、多少逸脱してもいいんだよ。構わねぇよ。でもお前ブッチぎれすぎ。どうなってんだ。どっからその自信がわいてくるんだ。なんで一般的に間違えてるとしか言いようのない設計にそんなに拘れるんだ。自信があるのも歯向かうのも結構。だけど、それなりのコードを書いてくれ。完璧な設計じゃなくていいから、ある程度、それなりの設計をして見せておくれ。

頼んだぜ…