2022-10-30

そもそもプログラミングをするための学力がない

プログラミングを一通り教えても

「じゃぁ閏年判定プログラムを作りましょう」

って言って作れない人が多い

最初ハードルは余りの計算をするところで

余りの計算方法は分かっていても

閏年は4で割り切れるから余りが0になれば閏年なんだ」

ということに気付かない人が非常に多い

何を言っているかからいかもしれないが本当にこれを理解してくれない人が多い

閏年は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で割り切れたらとりあえず閏年なんだな」

ということに気付けるかどうかが真の課題で、実際に業務コードを書くときもその手の整理が非常に重要になる

顧客課題バグをそのまま受け取ってそのまま修正しようとすると一生直らないか非常に苦労する

この事象は要するにどういうことか、というのをベン図なり状態遷移図なりで整理するところが重要コーディングはそれを実現するテクニックにすぎない

情報系を出ていない新入社員は知らないだけの可能性があるので教えれば使い物になる可能性もあるが

情報系を出ているのにこの手の整理ができない新入社員はもう育成しないししても無駄だということが分かった

要するに学力全然足りてないのだ

プログラミングスクールなんかに通う前にしっかりと学力を身につけてくれないか

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん