昔々。こんな「笑い話」があったのを記憶しています(細かいところはちゃんと覚えてませんが)。
プA:をいをい。バグがあるよ。この関数の戻り値、正しい挙動の倍の数字で戻って来ちゃってるぞ?
プB:解りました修正します
- 一定時間経過 -
プB:なおしました〜
プA:を。早いなぁ。計算式か何かでミスってたか? どの辺でしくじってた?
プB:よくわからないんでとりあえず計算結果の最後のreturnの直前で数値を半分にしました
プA:………をいをいそれぢゃ意味ねぇだろ orz
さて。
この笑い話自体は今でも通じると信じているのですが。信じているのですが(リフレインw)。
なぜ「returnの直前で2で割る」では意味がないのか、という解説は不要だと信じているのですが。が。
問題は。じゃぁ「今自分の仕事でこれと同じ事をしていない」と言える人がどれくらいいるんでしょうか?
少なくとも。まぁ下っ端駆け出しクラスならともかくとして、中級者以上が。
RFCもまともに把握してないしどんなrequestとresponseが流れているかもSQL文が実際にどんな風にデータをさらってくるのかも今扱ってる言語が最終的にCPUに対してメモリに対してどのような要求をしているのかもHTMLがブラウザがどのように情報をやりとりしているのかも。
…正直「なにも把握していない」ような感じの人を少なからず見るのは…気のせいなんですかねぇ?
「自分で設計/実装出来るところまで」とは言わないにしても「一通りについて大まかに原理を把握している」程度は、お仕事をする上では必須だと思うのですが。
トラブルやらミスやらバグやらを「とりあえず returnのところで数値半分にしてみたら多分動いてるっぽいです」で片付けているなんてことは、ないですよねぇ? ちゃんとBugの原因とか、見つけ出してますよねぇ?
なんてことをふと思ってみたので、めも。