プログラミングを一通り教えても
って言って作れない人が多い
ということに気付かない人が非常に多い
何を言っているか分からないかもしれないが本当にこれを理解してくれない人が多い
「閏年は4で割り切れるんだよ」と「yearを4で割った余りが0になると閏年」には非常に大きな壁があると思っていい
そしてこのハードルを越えても
「4で割り切れる年は閏年ですが100で割り切れると平年です。ただし400で割り切れると閏年です」
仮に乗り越えたという人が現れても
if ( year % 4 == 0) { if ( year % 100 == 0) { if ( year % 400 == 0) { return true; } else { return false; } } else { return true; } else { return false; }
ちゃんと整理すれば
if ( year % 400 == 0) return true; if ( year % 100 == 0) return false; if ( year % 4 == 0) return true; return false;
と、これだけで書けるというのが分かる
これは実は引っ掛け問題になっている
最初に「4で割り切れると閏年」というところから設問が始まってるので、その通りに実装するとあっという間にスパゲティになる
「要するに400で割り切れたらとりあえず閏年なんだな」
ということに気付けるかどうかが真の課題で、実際に業務でコードを書くときもその手の整理が非常に重要になる
顧客や課題やバグをそのまま受け取ってそのまま修正しようとすると一生直らないか非常に苦労する
この事象は要するにどういうことか、というのをベン図なり状態遷移図なりで整理するところが重要でコーディングはそれを実現するテクニックにすぎない
情報系を出ていない新入社員は知らないだけの可能性があるので教えれば使い物になる可能性もあるが