第10章 最長不倒関数
http://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
探検
最長不倒関数■C言語でmain関数に全コードを入れる
■ このスレッドは過去ログ倉庫に格納されています
2022/05/26(木) 23:18:11.95ID:2dmITGtW
2022/05/27(金) 12:41:18.93ID:tzFUQxnX
main関数じゃないけど、
初めてやった仕事で1関数で2000行こえるのがあったのを思い出してしまった
初めてやった仕事で1関数で2000行こえるのがあったのを思い出してしまった
8デフォルトの名無しさん
2022/05/28(土) 11:45:06.57ID:81XaDMLN >>6
30年くらい前?
30年くらい前?
9デフォルトの名無しさん
2022/05/28(土) 17:28:46.63ID:DrsyU/Zk ANSI C では switch 文の case ラベル数に上限が設けられており、その数は 257 であった。
10デフォルトの名無しさん
2022/05/29(日) 14:17:01.83ID:08b+BMRw >>1
案の定POSIX原理主義者のスパゲッティコードだった
案の定POSIX原理主義者のスパゲッティコードだった
2022/05/29(日) 14:23:23.86ID:MNYu/GXn
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関数の終了)
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関数の終了)
2022/05/29(日) 14:25:28.91ID:F5UifZ6e
コメント長すぎ
13デフォルトの名無しさん
2022/05/31(火) 10:44:10.27ID:aYJaA5wp ゴミを貼るな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★2 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 高市早苗総理「金利上昇よりも日本の成長が大事」 ★3 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ2🧪
- 高市応援団「中国の音声は捏造!女の英語が中国訛り!」自衛隊「現場の部隊に確認したら捏造じゃなかったわ」 [931948549]
- 【新番組】轟はじめ🐧⚡のぶんぶんぶーん🚗💨!【🏡】
- 【悲報】愛知県さん、1040円でこのレベルのモーニングが食べれることが判明wwwwwwwwwwwwwwwwww高市総理どうすんのこれ? [257926174]
- 自民党のヒゲ「日本側の無線でcopyとは言ったが了解という意味ではない」 [834922174]
- 【速報】ヤフコメで高市支持のコメントばっか目につく仕組みがついに判明する [998357762]
