- 1 名前:デフォルトの名無しさん mailto:sage [2022/05/26(木) 23:18:11 ID:2dmITGtW.net]
- 第10章 最長不倒関数
www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.10.3.html 連載の第1回に「関数の長さ」の目安について書きましたが、 やはり画面に 収まる、あるいはプリンタ用紙1枚に収まる程度の 60行以内にしたいものです。 まあ、せめて100行以内になるよう 努力してもらいたいものです。それが、 2500行近くもあるのでは、もう「絶句」しかありません。 長すぎる関数は絶対に「分割」しましょう。分割し、独立した「関数」に し てしまえば、デバッグのとき、より短くなった関数の中だけを注目すればすむ ようになるはずです。 こんな長い関数を書いてきたら、内容など調べる必要は一切ありません。 「長い!読めん!」といって、書き直させる以外に手はありません。 こんな長 い関数のデバッグは、ライフワークになりかねません。 最長不倒関数の例 https://github.com/ShellShoccar-jpn/misc-tools/tree/master/C_SRC
- 2 名前:デフォルトの名無しさん mailto:sage [2022/05/26(木) 23:33:38 ID:/wvaCk+2.net]
- 人生に必要な3つの力とは
おっぱいとちくびとおまんこである
- 3 名前:デフォルトの名無しさん [2022/05/27(金) 11:19:24.54 ID:S0cy91Tb.net]
- プロトタイプ書いて前方参照しない派と
main以外は全部後方に書いておいてプロトタイプ書かない派があるな
- 4 名前:デフォルトの名無しさん [2022/05/27(金) 11:19:24.92 ID:S0cy91Tb.net]
- プロトタイプ書いて前方参照しない派と
main以外は全部後方に書いておいてプロトタイプ書かない派があるな
- 5 名前:デフォルトの名無しさん [2022/05/27(金) 11:19:25.84 ID:S0cy91Tb.net]
- プロトタイプ書いて前方参照しない派と
main以外は全部後方に書いておいてプロトタイプ書かない派があるな
- 6 名前:デフォルトの名無しさん mailto:sage [2022/05/27(金) 11:31:06.98 ID:HNJHF6TR.net]
- アホみたいに長いswitch文を書いた時は
相対ジャンプが届きませんみたいなエラー吐かれて笑ったわw
- 7 名前:デフォルトの名無しさん mailto:sage [2022/05/27(金) 12:41:18.93 ID:tzFUQxnX.net]
- main関数じゃないけど、
初めてやった仕事で1関数で2000行こえるのがあったのを思い出してしまった
- 8 名前:デフォルトの名無しさん [2022/05/28(土) 11:45:06.57 ID:81XaDMLN.net]
- >>6
30年くらい前?
- 9 名前:デフォルトの名無しさん [2022/05/28(土) 17:28:46.63 ID:DrsyU/Zk.net]
- ANSI C では switch 文の case ラベル数に上限が設けられており、その数は 257 であった。
- 10 名前:デフォルトの名無しさん [2022/05/29(日) 14:17:01.83 ID:08b+BMRw.net]
- >>1
案の定POSIX原理主義者のスパゲッティコードだった
- 11 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 14:23:23.86 ID:MNYu/GXn.net]
- C言語の基礎からやり直したほうがよい
https://github.com/ShellShoccar-jpn/misc-tools/blob/master/C_SRC/herewego.c /*#################################################################### # Main ####################################################################*/ /*=== Initialization ===============================================*/ int main(int argc, char *argv[]) { (main関数の中がインデントされていない) /*--- Variables ----------------------------------------------------*/ int i; /* all-purpose int */ int64_t i8; /* all-purpose int64_t */ (長いmain関数) /*=== Finish normally ==============================================*/ return 0;} (↑main関数の終了)
- 12 名前:デフォルトの名無しさん mailto:sage [2022/05/29(日) 14:25:28 ID:F5UifZ6e.net]
- コメント長すぎ
- 13 名前:デフォルトの名無しさん [2022/05/31(火) 10:44:10.27 ID:aYJaA5wp.net]
- ゴミを貼るな
- 14 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|