そうだ、ソース読もう 〜永遠の初心者からの脱出に向けて〜(2)
こんばんは。せのです
風邪が長引くので人狼はパスしました。
おのれ風邪め……薬をキメて駆逐してやる。
さて、現場のコードを読む隙があったのでこの前の続きです。
自分の仕事のレビューがあって、あまり時間が取れなかったので「おや?」と思った点だけ書きます。
①マジックナンバーにしてない変数の出所がわからない
おそらく、コードを読むときに持ってきたソースの塊だと思ってたものが一欠片に過ぎず
他のファイルに格納されていたのだと思います…これは完全に自分自身の凡ミスですね。
②何処から呼んでるのか分からない関数がある
これもきっと①と同じなので自分の凡ミスです。
①と②の例を書くとこんな感じです。
void HogefugaFugo(void) { switch(foo){ case: BAAAAAR: //①:あなた一体何処に定義されてるの functionall(); //②:あなた一体何処から来たの avar = ABABABABA; //①:あなた一体何処に定義されてるの Timer = 0; }else{ ; } break; case BAAAN: //①:あなた一体何処に定義されてるの Timer++; foo = ABAAA; //①:あなた一体何処に定義されてるの //以下略 }
他にも何でタイマー処理をインクリメントでやってるのかって言うもにょるアレもありましたが、
意図がよくわかんないのでスルーします。仕様書によっては多分俺もこう書いちゃうだろうし…
ところでサブルーチンと言えばいいのか最近悩むところではありますが、
僕は今のところ組み込み屋さんなので、あえて関数と呼ばせて頂いています。
多分、Web屋さんと組み込み屋さんでその辺のニュアンスがだいぶ違うのかなー…と思ったり
続きはまた次回。
ABC問題1問だけ解いて寝ます。
やべえよ、今度はB問題だよ……解けるか自信ねえよorz