こんにちは。ヤマヤタケシです。
ゲームプログラマーやってます。
プログラミングのウマイ、ヘタってのは、プログラマ以外からは理解されにくいでしょう。
プログラマをブラックボックスとして判定するにしても、長期的な視点が必要です。
短期的に実装速度が早くても、後々バグが出まくったり、修正が超絶困難だったりすると、そのプログラムはゴミクズです。
もちろん、1回動けばいいプログラムと、長期間動作し続ける予定のプログラムでは求められる品質は違うでしょうが、そこは一旦置いておきます。
ブラックボックスとしてプログラマを判定するには長期的な視点が必要です。
短期的なやつはないのかい?
ありますとも、当たり前ですがプログラマが作ったプログラムを見れば判定できます。
最低ラインとして、重複したコードがないか?は確認したい!
あらゆるアルゴリズムはif, for, goto があれば実装できます。
プログラミングを何も考えずに、ただひたすらに1つのメソッド、関数に詰め込むことは可能です。
要件定義の内容をだらだらーっと上からしたまで並べていくことで実装可能です。
可能ではありますが、ヘタです。
ただただ、並べて書くと重複した部分が必ず発生します。
まず、重複したコードがたくさんあるコードはクソです。
人間はミスを犯すので、重複したコードにミスがあると、重複している場所を漏れなく修正する必要があります。
人間はミスを犯すので、修正には漏れが発生します。
残念!
ということで、重複したコードは分離させてメソッドなり関数なりに切り出します。
切り出して、呼び出すと、重複が解消されます。
イエイ!
という、ことをやっているか?やっていないか?
コードを見て、プログラマの能力を判定するなら、まずはちょっと大きめな課題を実装してもらって、重複の有無を見ます。
重複したコードは罪だからな!
そんじゃまた。