トップページ > プログラム > 2016年04月10日 > 1wJYBBrT

書き込み順位&時間帯一覧

21 位/277 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000010000200104



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け

書き込みレス一覧

C言語なら俺に聞け
690 :デフォルトの名無しさん[sage]:2016/04/10(日) 14:04:18.17 ID:1wJYBBrT
殆どの変数が関数内でstatic宣言されている2万行くらいのソースをメンテしたことがある
変数の値が変わると、それぞれの関数の内部処理が分岐して異なる処理を行っていた

書いた当人は体調を崩して最後までやり遂げなかった
引き継いだ時は死ぬかも知れないと思った
C言語なら俺に聞け
695 :デフォルトの名無しさん[sage]:2016/04/10(日) 19:24:37.06 ID:1wJYBBrT
>>694
このモジュール(実行単位)についてのドキュメント、
関数仕様書はこんな感じでした。

「初期処理」 初期処理を実行する
「メイン処理」 メイン処理を実行する
「終了処理」 終了処理を実行する
「異常処理」 異常処理を実行する
関数の引数 なし
関数の戻り値 なし

つまり、2万行のソースには全部で4個の関数がありました。
ホスト側の処理なので、クライアントの要求に応じて処理内容が変わります。
もう、いわゆるスパゲッティを遙かに超えてました。

何故こうなったかと言うと、関数一つ一つ、使用する変数一つ一つ
対応する詳細なドキュメントを本来は書かないといけなかった。
それが面倒だったのでしょう。書く時間がなかったというのも事実でしたけど。
記述内容をできるだけ減らすために、関数の数を少なく、
もちろん引数、戻り値なしで作る様になったらしいです。
内部はブラックボックスというか、ダンジョンというか・・
C言語なら俺に聞け
697 :デフォルトの名無しさん[sage]:2016/04/10(日) 19:54:14.07 ID:1wJYBBrT
コメント通りにはプログラムは動かないからね。ヒント程度の意味。
コメントを信じてしまうと、思わぬ落とし穴にはまる危険もある。

ソースを読んでいて、なんでこんな無駄なことをしているのだろうと
読んだ人が疑問に思うだろう箇所に、
「こういう事情・経緯があってこうせざるを得なかった。だから、直す場合は気をつけてね」
と書くのは良いと思う。
C言語なら俺に聞け
703 :デフォルトの名無しさん[sage]:2016/04/10(日) 22:13:56.39 ID:1wJYBBrT
20年以上前の話だけど
ある有名テキストエディタをバイナリーダンプすると
プログラマーのぼやきの言葉が見つかる
リビジョンアップするたびに内容が変わるので
毎回楽しみにしていた。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。