これは、私が知っている手早くて汚いプログラマーの話です。
ユニットテストを時間の無駄だと考える人を知っています。多くの議論の後、彼は最終的に1つを書いた。&&と||を振りかけた1つの長いメソッドで構成されていました。そしてassertTrueにブール値を返しました。ステートメントは20行にまたがっています。その後、再び、彼はすべてのメソッドが1行で、メインメソッドが1000行を空白なしで含むクラスを書きました。それはテキストの壁でした。私が彼のコードをレビューし、いくつかの新しい行を挿入したとき、彼は「なぜ」と尋ねました。「読みやすさのため」と言いました。彼はため息をつき、それらを削除しました。彼は一番上にコメントを付けた。「触らないで、うまくいく!」
前回彼と話したとき、彼は会社のウェブサイトをコーディングしました。彼はバグを見つけようとしていました。彼は最後の3日間を1日8時間過ごしました。少し後に私は再び彼と話をしましたが、彼のチームメイトはリテラルの価値を変え、他の場所では更新しませんでした。それは定数ではありませんでした。そこで、彼は他のリテラルも変更して、バグを修正しました。彼はチームメイトのスパゲッティコードについて不平を言いました。彼は「ハハ、デバッガで一晩中起きて、1つの厄介なバグで眠れないということを私たち全員が知っているのではないか」と言いました。
また、彼はプログラミングの本やブログを読むことは無意味だと考えています。彼は、「プログラミングを始めてください」と言います。彼はそれを12年間やっており、彼は優れたプログラマーだと思っています。/ facepalm
ここにもう少しあります。
WebアプリのDatabaseManagerクラスを作成していたとき。彼はすべてのデータベース呼び出しをそれに入れました。それは、考えられるすべてのものに対して50を超えるメソッドを持つ神のクラスでした。すべてのコントローラーがすべてのデータベースメソッドを知る必要があるわけではないため、サブクラスに分割することをお勧めします。彼は同意しませんでした。データベース全体に1つのクラスを用意するのは「簡単」で、必要なときに新しいメソッドを追加するのは「高速」だったからです。最終的に、DatabaseManagerには、ユーザーの認証から考古学的なサイトの場所のソートまで、100を超えるパブリックメソッドがありました。