パスワードを忘れた? アカウント作成
573215 journal

vyamaの日記: コーディングスタイル

日記 by vyama

今いじっているコードは起源が相当古い。もう10年くらいになるのかな。一応C++なんだけど、なかなかいまだと見られないようなコードが結構出てくる。

#define Zero (0)

 do {
  …
 }
 while (Zero);
この当時ってC++にboolが導入される前だったっけ?ないにしたって、windows.hで定義されているFALSEを使わない手はないでしょうに。で、なんでdo while構文のwhileの直前で改行する?whileループと勘違いするじゃないか。まあ5行や10行のdo whileループだったらいいが、200行以上あるdo whileループでそんなことをするんじゃない!

で、この関数自体にはgotoや関数途中でのreturnは使っていない。じゃあ途中処理が続けられなくなった時はどうするかというと、本体をdo while (flase)で囲んで、続けられなくなった時にbreakするという構造になっている。そんなdo whileやbreakの使い方を「発明」されても読みにくいだけなんだけどなぁ。それだったら素直にgoto 終わりのラベルしてくれたほうがどれくらいマシか…。おかげでなが~いループを含んだ部分を読んでいると、breakがループ脱出以外にも使われるので、読むのが大変なことといったらない。(/_;)

goto使わないことを金科玉条のごとく守るのはいいけれど、その前に200行以上のあるループがあって、一番深い所で5重のループになっているという非常に複雑な処理をしているらしいにも関らず何をやる関数かのコメントやドキュメントが全然ないってのは気にする順番が違いませんか?(/_;)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...