ダメシステムの特徴

1.英語が幼稚園生レベル

 

スペルミスが多すぎ。

 

マージとかね。

✕ marge

◯ merge

 

アドレスとかね。

✕ adress

◯ address

 

検索でひっかからないのでマジ害悪。

 

2.そもそも「マージ処理」を理解してない

 

ファイルをマージする処理で、2つのファイルを cat するだけという実装だった。

おいおい、それマージ処理って言わないぞ。

中身がソートされてないし、同じキーがあったらダブっちゃうじゃん。

百歩譲って、cat でもいいけど、せめて sort して uniq するとかしろよ。

 

3.ネーミング規則がめちゃくちゃ

 

例えば「IPアドレスからhogeを取り出す」というメソッド名ならば、

普通「getHogeFromIPAddress」って書くよね。

これが「getIPforHoge」みたいになってるわけ。

これも検索でまったくひっかからないのでマジ害悪。

 

ステータスをHogeに変えるメソッドとかなら、

普通「changeStatusToHoge」って書くよね。

これが単に「changeStatus」という名前になってて、

中の処理を読むとステータスを Hoge にするって書いてあるわけ。

中身読まないとメソッドのやることが伝わらない作りはダメだろうが。

メソッド名はコーディング時に I/F になるんだから、きちんと設計しろよ。

それから、ステータスには Hoge と Foo があるんだが、Foo にするにはどうすればいいんだ!

 

最後に、「システム初期化時はステータスをスタンバイにする」のが仕様だとしよう。

このとき、

 

// 初期化時はステータスをスタンバイにする

changeStatusToStandBy();

 

とか書いてしまう。これでもいいけども、こういう場合は、

 

// ここにコメント書いたらぶっ飛ばす!

initializeStatus();

 

として、

 

initializeStatus()

{

    changeStatusToStandBy();

}

 

とメソッドを書くのがスマートだろう。

これならシステム初期化時はステータスをスタンバイにすることが理解できる。

コードで表現できることはコードで書こう。コメントを書く必要はない。

 

4.ドキュメントコメントを書かない

 

クラスやメソッドぐらいコメントきちんと書けよ!

IDE でマウスオーバーしても説明が出ねーだろうが、このオタンコナス!!

 

5.static オジサンの巣窟

 

すぐ static メソッド使いまくる。ポリモーフィズムが死んじまったよ。

なんのために OOPL 使ってんだよバカ!

 

さらに static を使う言い訳が、

「いちいちクラスをインスタンス化するとオーバーヘッドで遅くなるから・・・」

とか言っちゃう奴。

おまえさ、いつの時代の話してんだよ。今の PC は十分速いのでまったく問題にならない。

速さのためにわかりやすさを犠牲にするコーディングなんて昨今じゃしないわけ。

わかりやすさを絶対的に重視して書くわけ。

ていうかプログラミング言語の進化の歴史さえ否定しようと言うのか?

おまえはアセンブラでも使っとけクズ!

 

6.クラスはプログラムを書く入れ物だと思っている。

 

メソッドは void method(void) の嵐!

引数無しの戻り値なしメソッドばっかりで、内部のコード行数は数千行とか普通にある。

モジュール分割?なにそれおいしいの?状態。

どうやってテストコード書くんだよマヌケ!!

 

7.そもそもプログラミングスキルが無い。

 

ちょー長い処理(※A)

if (条件) {

    ちょー長い処理(※B)

}

 

ここで、※A と ※B はまったく同じ処理である。(diff 取って完全に一致した)

おまえさ、プログラマ向いて無いんで辞めたほうがいいよ?

 

8.フラグの使い方が変

 

if (正常処理だったら?) {

    normalFlg = true;

}

 

if (normalFlg != true) {

    // エラー処理

}

 

死んでくれ。

 

9.論理的にプログラムが書けてない。

 

normalFlg = false;

errorFlg = false;

 

if (正常だったら?) {

    normalFlg = true;

} elseif (エラーだったら?) {

    errorlFlg = true;

}

 

if (normalFlg == false && errorFlg == true) {

    // エラー処理

}

 

おまえの大脳新皮質は正常に機能してるか?

 

10.メソッド内のコードが1万行ぐらいある。

 

巨大な木から、まったく継ぎ目のないイスを削り出して作るようなものだ。

だから仏像とか石像とかは価値があって素晴らしいわけだけど。

テレビ、エアコン、冷蔵庫、掃除機、車・・・身の回りにある工業製品をご覧なさいな。

金属の塊から削り出して作る事は不可能でしょう。部品を作ってそれらを組み合わせて作らなければできませんよ。そして部品をつなぐ仕組み「ネジ」を発明した。近代工業ってのは部品化することで著しく発達したんです。

細かな部品をまず作って、それらを組み合わせて作ろうとか思わないの?

あなたのプログラムは近代工業を全否定し、石器時代のやり方だよ。

 

1万行もあるメソッドなんて、書いた人しか理解できないし。

趣味で書いたプログラムならいいよ。しかし仕事で書くプログラムはそうはいかない。

ソフトウェア開発は技芸であってはならない。

 

11.インスタンス変数は外部変数だと思っている。

 

なんでもインスタンス変数にしちゃう奴。

インスタンス変数というのは、そのクラスの性質を保持する変数であってだな、

なんでもかんでもインスタンス変数するバカがいるか!

もう業界やめて田舎帰れよ!!

 

12.なんでも public にしておけば良いと思っている。

 

インスタンス変数もメソッドも、みーんな public にしちゃう奴。

通称「public オジサン」!

で、外部からそのメソッドを呼んでいる箇所は1つもない。

カプセル化のイロハもわかってないバカ。

はよ死んでくれ!