しがない学生の雑記

吐けども吐けども毒を吐く。

学校で見た糞コードの話

先に言っておくと、私は相当にプログラミングが出来ない人間です。

未だにコンストラクタとデストラクタを明確に意識して使用できませんし、

クラス設計もいろいろ書き終わってから

「なんでこんな汚い構造にしてしまったんだろう」とか考える程度の人ですし、

継承したこともありませんし(というかそこまで大規模なものを作ったことがない)、

未だにポインタをまともに扱える気がしませんし、

動的になにかするプログラムを組むのがとにかく苦手です。

要するに多分プログラマに向いていない人です。

 

そんな人間です。

 

しかしそんな人間から見ても糞コードといえる糞コードを見てしまいました。

 

研究室でちょっとコードを見てもらいたいと言われた私。

何なのかなぁと思ってディスプレイをみると、そこには魔窟が広がっていました。

 

簡単に言うと、

 

一つのイベントハンドラにほとんどの処理がぶち込まれていました。

 

多分500行ぐらい。

 

これはとんでもないものを見ることになったと思ったんですが、

まだまだ不可解な部分はたくさんありました。

 

なんとまぁ、やたらと改行が多い。驚きの白さ。

無駄に5行ぐらい改行してコードがあって、また3行ぐらい改行してました。

インデントちゃんと取ってるんだから十分なのに、なぜ空けたし。

 

そして、コメント文が全然ない。

どういうことだおい。なにしてるかさっぱりわからないぞ。

本人に説明を求めると、この辺はこれでこの辺はこれと

一応処理している内容はわかりました。うまい具合に固めているせいか

本人は何やってるかよく分かっているようです。

 

でも処理固まっているなら是非とも関数にして欲しかった…。

 

そして現れる、ifピラミッド。6個ぐらいありました。

もうやめろ、やめるんだ。そんなに条件分岐するんじゃない。

「1.5ずつ間隔開けてるから」って全部同じならfor文とか使えるんじゃないですか?

そんでもってswitch文とかつかって出力すればいいんじゃないですか?

どうしてそうなった。

 

最後の中括弧の量もすごかったです。

 

イメージでこんな感じ

 

                    }

                }

            }

        }

    }

    }  ←なんだこれは

  }

 

※「←なんだこれは」は私が追加したものです

 

( ◠‿◠ )☛「貴様にはこれを書き換えて動くようにしてほしい」

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああああああ

 

 

どんなことがしたいかを理解するのにも随分時間がかかってしまいました。

最終的に一応話はまとまったんですが、ちょっと時間かけすぎた気もします。

 

しかし彼には申し訳ないが、わたし結構頑張ったよ。

ライトノベル以外で文字列読んで頭痛くなったのって多分今回が初めてです。

 

本当に辛かった。

 

 

今後私もコード書くときは気をつけます。

 

それでは ノシ