- 1 名前:仕様書無しさん [2007/08/14(火) 23:48:45 ]
- この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。 プログラマを悩ませるソースコード。 をつらつらと綴っていって頂戴。 ちなみにここは質問スレじゃないので 技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。 前スレ この会社辞めようと思ったソースコード#17 pc11.2ch.net/test/read.cgi/prog/1183700531/
- 797 名前:仕様書無しさん mailto:sage [2007/10/08(月) 04:00:34 ]
- if (cunt < dick) {
// や〜ん、こわれちゃう! }
- 798 名前:仕様書無しさん mailto:sage [2007/10/08(月) 05:34:57 ]
- デバックの結果、不等号の向きが逆、ってのはよくある話で
- 799 名前:仕様書無しさん mailto:sage [2007/10/08(月) 07:00:58 ]
- // 余計な物がありますよ
if( a < 20 ); { return hogehoge.detteiu( pero-n, a ); }
- 800 名前:仕様書無しさん mailto:sage [2007/10/08(月) 09:40:32 ]
- >>796
見りゃわかるから、そんなコメントいらね!ってこと? もしくは、 0 < cnt のほうが見やすいだろ!ってことか?
- 801 名前:仕様書無しさん mailto:sage [2007/10/08(月) 11:29:35 ]
- >>800
そんなこともわからんのも まずいと思う。
- 802 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:07:32 ]
- >>gc付きのC++
C++/CLI でもこれはやるのかな?
- 803 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:16:56 ]
- >>801
や、すまん。俺も悩んだ。
- 804 名前:仕様書無しさん [2007/10/08(月) 12:21:43 ]
- if (cnt > 0) {
} 何の問題もないだろ、 おれもこう書くが?
- 805 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:26:31 ]
- ネタはコメントの方だろ
- 806 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:29:42 ]
- 俺の部署のコーディングルールだと直値は禁止なので0じゃなくて
if(cnt > (int)NUMBER_ZERO){ } とかにしないといけない。
- 807 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:31:03 ]
- > NUMBER_ZERO
- 808 名前:仕様書無しさん [2007/10/08(月) 12:31:41 ]
- > if(cnt > (int)NUMBER_ZERO){
> } > とかにしないといけない。 まったく意味無しのウザイルールだな。 仕様が変わって 1 より大きくなったら、 if(cnt > (int)NUMBER_ONE){ } ってすべて書き直すんだな。 あほだ
- 809 名前:仕様書無しさん mailto:sage [2007/10/08(月) 12:33:12 ]
- 古典的な誤りだな
- 810 名前:仕様書無しさん [2007/10/08(月) 12:37:36 ]
- 別にいいんだけど、NUMBER_ONEとかってセンスないっていうか、
ちょっとウケるな。 そもそもそこを閾値として、THRESHOLDなんたらとかにしておけば、仕様が変わった場合、 その定数の定義を変えるだけでいいが、NUMBER_ZEROだったら、 結局全部探して直さなきゃならないから、全く意味ないと思うが。
- 811 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:22:51 ]
- > 仕様が変わって 1 より大きくなったら、
いやーこうじゃないか? #if 0 #define NUMBER_ZERO 0 #endif /* 2007/10/08 nanasi808 */ #define NUMBER_ZERO 1
- 812 名前:仕様書無しさん [2007/10/08(月) 13:34:14 ]
- #if 0
#define NUMBER_ZERO 0 #endif /* 2008/10/08 洋司 */ #define NUMBER_ZERO 1
- 813 名前:仕様書無しさん [2007/10/08(月) 13:35:56 ]
- >>811
定数名と内容が一致してないだろ。 ダメダメなコードの典型だと思うぞ。
- 814 名前:仕様書無しさん [2007/10/08(月) 13:38:30 ]
- #if 0
#define NUMBER_ZERO 0 /* 2008/10/08 洋司 */ #define NUMBER_ZERO 1 /* 2009/10/08 洋司 */ #define NUMBER_ZERO 2 /* 2010/10/08 洋司 */ #define NUMBER_ZERO 3 #endif /* 2011/10/08 洋司 */ #define NUMBER_ZERO 4
- 815 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:39:10 ]
- #defineでてきたか・・・、そんなことで#define使うなよ
その部分のソースのみを見て名前から動きが理解できないじゃないか・・・
- 816 名前:仕様書無しさん [2007/10/08(月) 13:40:25 ]
- 洋司うるさいw
- 817 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:44:01 ]
- 洋司はもうちょっと検討段階で頑張れよw
- 818 名前:仕様書無しさん [2007/10/08(月) 13:46:51 ]
- #if 0
#define NUMBER_ZERO 0 /* 2008/10/08 洋司 35歳*/ #define NUMBER_ZERO 1 /* 2009/10/08 洋司 36歳*/ #define NUMBER_ZERO 2 /* 2010/10/08 洋司 37歳、リストラされる*/ #define NUMBER_ZERO 3 #endif /* 2011/10/08 陳姪用 */ #define NUMBER_ZERO 4
- 819 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:48:28 ]
- そういうところは仕様は絶対かわなんないんだよ。
もしNUMBER_ZERO で定義してるんだったらNUMBER_ONEってのもどっかにあるだろうし。 よほど変なコーディングでない限り、その部分が24になったり10456になったりとか することはないよ。変わる仕様だったら別な名前でちゃんと定義してるだろ。 自分も>>808と似たようなところだが、 どんな数字も全部そう書くようにする規約があるからわかるんだが 1回しか登場しなくてどうやったって誰が書いてもどんなに仕様が変わっても そこだけは必ず0から始まるようなものって結構あるんだよ。 たとえばゼロ割を回避するためだったり。
- 820 名前:仕様書無しさん [2007/10/08(月) 13:49:01 ]
- 引き継ぎcomplete!!
- 821 名前:仕様書無しさん [2007/10/08(月) 13:49:36 ]
- >>819
うまいことまとまった。サンクス
- 822 名前:仕様書無しさん [2007/10/08(月) 13:50:52 ]
- >>819
元の書き込みはそうだろうが、俺らが文句言っているのは>>808に対してなので、 その辺、勘違いしないでよね!!
- 823 名前:仕様書無しさん [2007/10/08(月) 13:52:10 ]
- >>822
>>808 も >>819 も同じ事いってるだろ、ヴぉけ お前は洋司レベルだな
- 824 名前:仕様書無しさん mailto:sage [2007/10/08(月) 13:53:59 ]
- >>819
NUMBER_ZEROってのが一般的に利用するcommon的なソースであって絶対に変化のない物なら理解できる だが、そのシステムに特化したソース内では利用すべきじゃないと思う それならば別の名前を付けることもできるだろうし、ゼロってのは数字であって名称ではないし
- 825 名前:仕様書無しさん [2007/10/08(月) 13:54:40 ]
- >>823
褒め言葉として受け取っておこう!!
- 826 名前:仕様書無しさん [2007/10/08(月) 13:55:21 ]
- おれは洋司とは仕事したくないぞ
- 827 名前:仕様書無しさん [2007/10/08(月) 13:56:00 ]
- >>824
そうだね。 そのゼロがなんなのか分かる名前なら意味あるけど、 ただNUMBER_ZEROじゃ、打つのが面倒なだけで、0って直書きするのと変わらない。
- 828 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:20:27 ]
- しかし、これがNUMBER_ZEROでなく(int)NULLだとさらに混沌の度が増す……
- 829 名前:仕様書無しさん [2007/10/08(月) 14:30:39 ]
- 「FIVEは5か?」は昔からある教訓で、
>>819の考えは適切ではない。
- 830 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:43:47 ]
- 定数ゼロを使う場合なんて大半は
マクロ定義改変でゼロ以外に変更してコードの理屈が通るとは考えられないしなぁ 必要かどうか、なら要らないわな
- 831 名前:811 mailto:sage [2007/10/08(月) 14:44:24 ]
- 完全にネタのつもりで書いたのに。マジレスしてるやつは議論の余地があるとでも思ってるのか?恐ろしい。
- 832 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:45:08 ]
- NUMBER_ZERO
この名前に誰も突っ込まないのがなあ。 SECTION_ZEROとかROW_ZEROとかのグループ的な意味を持つ場合ならいいけど そうじゃないイミフな定数は定義した意味が半減するし
- 833 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:52:19 ]
- >>832
みんな突っ込んでるだろ。 ZEROと書いといて、仕様変更で「0」以外の値になることは考えないのか?という話で。 代案もセンス悪い。 漏れだったら、COUNTER_START_NUM か何か、ZEROを含まず機能を類推できる名前にする。
- 834 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:55:06 ]
- 現実に周囲を見回すと、物に名前を付けるって意味について二通りの意識を持つコーダーがいる気がするな
今後の拡張等を踏まえて、利便性を追求するのためにとりあえず名前を付ける人 ソースを分かりやすくするために適切な名前を付けようとする人 で、前者は大抵ワガママなソースになりがちで嫌われると思う
- 835 名前:仕様書無しさん mailto:sage [2007/10/08(月) 14:58:59 ]
- >誰も突っ込まないのがなあ
突っ込んでんじゃん 文盲か?
- 836 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:02:18 ]
- >SECTION_ZEROとかROW_ZEROとかのグループ的な意味を持つ場合ならいいけど
いいのかよw
- 837 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:07:02 ]
- 釣れるのは雑魚ばかりか
- 838 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:19:47 ]
- 関数は50行ぐらい、多くても100行までにしてくれ、と言っても
理解できない奴が多すぎて困る。 1000行とか天才かよと。
- 839 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:25:22 ]
- 関数分割って結構難しいと思う。
ノッて書き出すと1関数でずっと続けちゃうし、分割した方がいいと思っても、 バグ発生や見通しが悪くなるのが怖くてなかなか踏み切れない。 できるかできないかがプログラマのセンスの差なんだろう。
- 840 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:44:21 ]
- そういう問題じゃねぇだろ
- 841 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:44:42 ]
- > バグ発生や見通しが悪くなるのが怖くてなかなか踏み切れない。
釣りか?
- 842 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:48:08 ]
- 関数分割で見通しが悪くなる、ってどんだけ
- 843 名前:仕様書無しさん mailto:sage [2007/10/08(月) 15:53:07 ]
- 839だけど、俺くらい技術の低いプログラマだと、そういうレベルで
悩んでしまうってことです。 バグ発生は、同じ変数を他所でいじってるんじゃないかと取り越し苦労して、 見通しが悪くなるのは、機能を適切に分割できなくて、引数が複雑に なったり、戻り値が凝ってる割にたいしたことやってなかったり拡張性が 悪い物だったりする。
- 844 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:04:02 ]
- 分からんなら分かる奴とかPGの取りまとめとかに聞け。
分からんからといって問題を放置されるのが一番タマラン。
- 845 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:09:31 ]
- 大きな関数をセンスで分割するというアプローチが既に誤り
目に見えない制約がたくさんあって、それを遵守すると機械的に 小さな関数群になる、という感じ
- 846 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:16:32 ]
- こういうアクションで呼ばれた(たとえば、ボタン A が押された)ら、
「こうしてこうしてこうする」、というのを関数にして、 それぞれの「こうする」をさらに「こうしてこうする」にして… というのを (OS なり何らかのライブラリなりの) API に達するまで繰り返す というのを基本としたら、必然的に小さく収まるよなぁ あー、何か俺自身感覚で分割してるような気になってきた
- 847 名前:仕様書無しさん mailto:sage [2007/10/08(月) 16:47:51 ]
- >>844
すいません、今の職場、俺以外にPGいないんです。 社内間接部門で、他の人は仕様とりまとめて俺に卸してきます。コーディングは Excel の自動生成マクロをちょっと手直しして使えるってれベルです。 プログラムは全部俺に任せるって言われてます。関数分割も含め、日々試行錯誤です。 OSSのソース読んだりして勉強してるつもりなんですが、外に出て実戦するのがいいのかなぁ。
- 848 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:04:15 ]
- 初心者が自己流だけでいくのは将来危険。
いろいろ回って経験積んだ人にまかせた方がいいと思う。 その経験積んだ人にまかせるのだって、ほんとは危険。 一人にやらせるってのがそもそも危険。
- 849 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:21:53 ]
- プログラミングは危険。超危険。
- 850 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:45:19 ]
- 俺が今日作った関数500行ぐらいある。
疲れた。そして明日からももっと疲れるだろう。
- 851 名前:仕様書無しさん mailto:sage [2007/10/08(月) 17:45:51 ]
- もはや釣りかネタとしか思えん
- 852 名前:仕様書無しさん mailto:sage [2007/10/08(月) 18:10:51 ]
- >>801
本気でわからんので回答ください。 800 :仕様書無しさん :2007/10/08(月) 09:40:32 >>796 見りゃわかるから、そんなコメントいらね!ってこと? もしくは、 0 < cnt のほうが見やすいだろ!ってことか? 801 :仕様書無しさん :2007/10/08(月) 11:29:35 >>800 そんなこともわからんのも まずいと思う。 803 :仕様書無しさん :2007/10/08(月) 12:16:56 >>801 や、すまん。俺も悩んだ。
- 853 名前:仕様書無しさん mailto:sage [2007/10/08(月) 18:17:47 ]
- 見りゃわかるからだろ
どうでもいいとこにコメント書きまくってる奴に限って 本当に必要な所にはコメントなかったりするんだよな
- 854 名前:仕様書無しさん mailto:sage [2007/10/08(月) 18:22:39 ]
- たいてい関数は短くするけど
ロジック的なものじゃなくて力任せにいろいろ構成を書いていく部分のコードだと長くなる 300とか
- 855 名前:仕様書無しさん mailto:sage [2007/10/08(月) 18:34:56 ]
- ライブラリとか低位レイヤの関数は短いよね?
業務レイヤになってくると分割が意味を成さないような処理もあるから ちょっとだけ長くなるよね? ね?(一連動作を明示する意味もある!?) 短いとか長いとか両極端に走っちゃだめだよね? ね?
- 856 名前:仕様書無しさん mailto:sage [2007/10/08(月) 18:50:47 ]
- >>855
本来、業務ロジックなんか一番短くなってしかるべき
- 857 名前:仕様書無しさん mailto:sage [2007/10/08(月) 19:14:48 ]
- 長い関数の中の一行を修正しなくちゃならんという時、
その一行で使われている変数が前後でどう使われているか 普通チェックするもんじゃない? 関数が短ければ追っかけなきゃならんロジックが減って あとで楽できると思うんだが。 俺だったらhoge()っていう300行の関数作らず 100行ぐらいのhoge_a(),hoge_b(),hoge_c()を作って それを順番に呼び出すだけのhoge()を作るなぁ。
- 858 名前:仕様書無しさん mailto:sage [2007/10/08(月) 19:43:39 ]
- >>855
ログ吐く 処理1を呼び出す 結果を見てエラーがあればコードに応じて処理を書く ログ吐く ログ吐く 処理2を呼び出す ・ ・ ・ みたいな感じで長くなることはあるな
- 859 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:16:01 ]
- >>853
おk。納得した。
- 860 名前:wolf ◆8VH3XAqjlU mailto:sage [2007/10/08(月) 20:34:59 ]
- >>852
// cnt が 0 より大きかったら処理する if (cnt > 0) { コメントがここに書いてある6番目の心掛けなければイケナイ事 www.ambysoft.com/javaCodingStandards.html 6. Document why something is being done, not just what 何をしているかをコメントにするのではなく、何故そうするのかを書きなさい に抵触はしていますね
- 861 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:38:32 ]
- 「他人に分からせる気はこれっぽっちもない」けど「懇切丁寧ぶったコードには見える」んだよ ククク
- 862 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:45:29 ]
- // cnt が 0 より大きかったら処理する
if (cnt > 0) { ここの条件分岐が、実際の業務と直接リンクする場合は上のようなコメントを書くと思う。 そういうのはあり?たとえば「じいちゃんがココで死にそうだったら110番する」みたいな。
- 863 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:48:57 ]
- でも0 ゼロだぞ
「○○がまだ残っている場合」とか そういう書き方にならね
- 864 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:52:58 ]
- >>862
それはありだと思う。 「(金額) cnt が 0 より大きかったら処理する」のように、cnt がもつ情報が類推できるような場合だよね。 ただし、それは他のコードやコメントと読み合わせてはじめて理解できるものじゃない? コード例だけだと、類推のための手がかりがないから、論争になってるわけで。
- 865 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:55:34 ]
- 変数名がcntだから、count=「個数」であることは確か(なはず)なので、
金額は例としてはまずいな。 しかし、個数である場合に、 「あれば〜」とか「残っていれば〜」 などでなく本当に 「0より大なら〜」 というコメントにすべき例を思いつかない。
- 866 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:57:45 ]
- カウンタ絡みのテキトー変数名でcntがついても不思議じゃない
- 867 名前:仕様書無しさん mailto:sage [2007/10/08(月) 20:58:05 ]
- つまり、cntが何を表すか、処理ってどんな処理か書けっって言いたいんだろう。
>>862 でいう「じいちゃん」とか「110番」って情報が抜けてる。
- 868 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:01:41 ]
- // まだ在庫があれば、賞味期限を確認する
if (cnt > 0) { /*賞味期限確認*/ }
- 869 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:20:24 ]
- // cntが0以上だったら処理する
// 19XX.X.X. レビューで修正 //if (cnt > 0 || cnt == 0) { if (!(cnt < 0)) {
- 870 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:21:05 ]
- おまいら、なんか丁寧な議論をしてて好感が持てるぞ。
要は内部的な単なる処理に自明なコメント付けるなってことだよね。 i=i+1; //iに1を加算する みたいな。
- 871 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:22:54 ]
- howじゃなくてwhatを残すんだろ
コメントの基本
- 872 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:28:30 ]
- >>868
コメントを書きたくなったら変数名や関数名を考え直すんだ。 こんなかんじで。 if (zaiko > 0) { shoumikigen_kakunin(); }
- 873 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:30:33 ]
- >>869
わろす
- 874 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:39:53 ]
- >>869
レビュワーのレベルも知れるな。
- 875 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:41:45 ]
- 修正前の方がまだマシのような気が・・・
- 876 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:43:17 ]
- 指摘した人間の想定の遙か上をいくアホであったのかも
- 877 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:44:09 ]
- >>869
レビュワーの主義が知りたい。
- 878 名前:仕様書無しさん mailto:sage [2007/10/08(月) 21:45:30 ]
- >>869
自分は今までIFは肯定文と否定文両方必要だと思ってたけど 今いるところで、無駄な文は作るなと直された。 SQLだと否定文を書くのはNGだけど 今の規約ではJavaの方は否定文なら否定文だけ書かされる(当たり前だが) if (!methodA()) { // 処理 }
- 879 名前:仕様書無しさん mailto:sage [2007/10/08(月) 22:11:53 ]
- ちょい上のほうで関数分割ネタがあるんだが、
今漏れが見てるソースにおもろいのがあった。 VB6ですまんが Sub calc() 処理1 ・ ・ 処理10 Call calc2 End Sub Sub calc2() 処理11 ・ ・ 処理20 Call calc3 End Sub Sub calc3() 略 これは関数分割といっていいのか?w
- 880 名前:仕様書無しさん mailto:sage [2007/10/08(月) 22:43:55 ]
- >>879
分割なのかと言われると確かに分割してるなw
- 881 名前:仕様書無しさん mailto:sage [2007/10/08(月) 22:49:44 ]
- >>879
そんな感じで分割(?)されてて、しかも連番の振り方が処理内容ではなく改修の順番だったというクソコードのメンテさせられたことがある。
- 882 名前:仕様書無しさん mailto:sage [2007/10/08(月) 23:27:16 ]
- >879
calc2がcalc以外からも呼び出されるなら、まあ許せる範囲にはいるかもしれん
- 883 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:26:20 ]
- ぱっと見てどれほどの量の処理なのかわかんないから、
どんどん続きの処理が出てきてウヴォアァってなるなー メンテでそんなコード見たくないねぇ
- 884 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:32:25 ]
- >>877
条件式は!と<さえあれば表現できるので、 わざわざ==や!=や>のような余計なものを使って 初心者を混乱させるべきでない とか?
- 885 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:34:16 ]
- 4種類の単品マスターをセット組する処理で
単品マスターがカナとコードで検索が可能で 検索結果の並び順をカナ、コード、更新日時順で指定可能 24個のコピペ関数がKensaku1とかSearch2とかって名前で存在し、 cmdKensaku1で呼んでるのがKensaku4だった ぐわーっとコメントアウトして書き直してしまった。
- 886 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:37:26 ]
- >>885
俺、perlでそういうのに出会ったことがある。 正直あれは思い出したくない。
- 887 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:51:31 ]
- あー。あるある。
- 888 名前:仕様書無しさん mailto:sage [2007/10/09(火) 00:58:45 ]
- //if (cnt > 0 || cnt == 0) {
って結構見た目綺麗だよなぁ、と思ったりw >=ってなんかキチャナイ気がするし
- 889 名前:仕様書無しさん mailto:sage [2007/10/09(火) 03:30:10 ]
- 左辺がもっと長かったら2回書くのは鬱陶しいよ
評価するために何らかの処理が走る場合は2回走っちゃうし(一時変数使えばいいけどやっぱ手数が増える)
- 890 名前:879 mailto:sage [2007/10/09(火) 05:50:29 ]
- >>880,882
一応きりのいいところできられてるっぽいが、 変数のスコープが狭くできているとかいうこともない。 calc2以下は前の関数から呼ばれることを前提に作られている。 関数分割のメリットはどこにあるのやらw >>881 うっ・・・こっちのほうがまだましだったか 当時の事情はよくわかんねえんだが、たぶん、 関数の長さが長すぎるといけない、とかいうんで無理矢理ちぎった というのがオチだろうと思います。
- 891 名前:仕様書無しさん mailto:sage [2007/10/09(火) 08:48:12 ]
- case型構文があるときはどうすんの? ちょんぎれないよね。
- 892 名前:仕様書無しさん mailto:sage [2007/10/09(火) 11:22:48 ]
- ちょんぎるんじゃない、構造を見直すんだ
- 893 名前:仕様書無しさん mailto:sage [2007/10/09(火) 12:14:08 ]
- case文ひとつで何百行にもなるのなら、その時点でおかしい。
ちょんぎるとかいうレベルじゃない。
- 894 名前:仕様書無しさん mailto:sage [2007/10/09(火) 12:53:47 ]
- だって100とおりのcaseなら各中身が平均4行だって500行ぐらいすぐなるじゃない。
コマンドが何十種類とか。caseの数が多いこと=設計ミスとは決めつけられないでしょ。
- 895 名前:仕様書無しさん mailto:sage [2007/10/09(火) 13:01:03 ]
- 決め付けはできないけど、大抵の言語でダメだよ
- 896 名前:仕様書無しさん mailto:sage [2007/10/09(火) 13:03:01 ]
- >>893
つWindowsアプリのソースコード
- 897 名前:仕様書無しさん mailto:sage [2007/10/09(火) 13:42:24 ]
- >>894
それはcase文ひとつで数行である、ってことでは?
|

|