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