ぱっと見て「ヘタだなぁ」と思うコード その4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG・サブルーチン(関数)が数百行
・ネストが深い
・マジックナンバーが使われまくり
・識別子(変数名、関数名)が意味不明
・グローバル変数使われまくり
↓応用編、詳細編どうぞ
過去スレ
http://pc8.2ch.net/test/read.cgi/tech/1141867015/l50
http://pc8.2ch.net/test/read.cgi/tech/1142741989/l50
http://pc8.2ch.net/test/read.cgi/tech/1149986051/l50
0153
2006/07/22(土) 16:50:02どうしても原因が分かりませんでした。
0154デフォルトの名無しさん
2006/07/22(土) 16:51:47もう流行らないよ。
あんなの。
0155デフォルトの名無しさん
2006/07/22(土) 16:54:210156デフォルトの名無しさん
2006/07/22(土) 16:57:260157デフォルトの名無しさん
2006/07/22(土) 16:58:01\r\n、\r、\n が混在とか、あるいは文字コードも混在してたとか?
ここで続ける話題じゃないのは確か。
俺の主張は /* .. */ の方が安全かもという論には賛成できないってこと。
0158デフォルトの名無しさん
2006/07/22(土) 17:01:50賞味期限切れになったらまとめて消去するから。
YAGNIだったら最初から残さないでくれ。
0159デフォルトの名無しさん
2006/07/22(土) 17:02:34俺は
/* 初期化処理 */
とかいうコメント嫌い。
いざブロック単位でコメント入れたいときに
/*
/* 初期化処理 */ ←こいつのせいでブロックでコメントできない。
*/
から。面倒だから/**/を使う奴に「止めてよ」っていったら、
ブロック単位でコメントしたいときは#if 0 #endif使ってくれって言われた。
面倒臭ぇよ・・・orz
0160デフォルトの名無しさん
2006/07/22(土) 17:27:16// 常に←これしか使わない俺は ANSI C では負け組
0161デフォルトの名無しさん
2006/07/22(土) 17:38:050162デフォルトの名無しさん
2006/07/22(土) 17:45:39ぱっと見てわからんものもあるからなぁ
0163デフォルトの名無しさん
NGNG>コメントの形式でコードの質が変わるわけでもなし。
ヘタなコメントは、コードの質を明らかに下げてるよ。
0164デフォルトの名無しさん
2006/07/22(土) 18:11:38もう休め。おまえはよくやった。
0165デフォルトの名無しさん
NGNG>>164
3分未満で即レス付けられるくらい、がんばってこのスレに張り付いてるお前の
ほうがよくやってるよ。尊敬する。
0166デフォルトの名無しさん
2006/07/22(土) 18:36:24a,
b,
c
0167デフォルトの名無しさん
2006/07/22(土) 18:40:150168デフォルトの名無しさん
2006/07/22(土) 18:43:37// ジューステーブルの「消化日」項目には、現在の日付が保存されるべきだが
// 下のメソッドでは帳票オブジェクトの「注文日」を決め打ちで使ってしまうため
// ここで回避
Variant orderDateOld = chouhyou.getOrderDate();
chouhyou.setOrderDate(getNowDate());
JuiceTable.insertFooBarData(chouhyou, foo, bar, hoge);
// 元に戻す
chouhyou.setOrderDate(orderDateOld);
俺氏ね。
0169デフォルトの名無しさん
2006/07/22(土) 18:51:31下手な「コード」の話しようぜ。
0170デフォルトの名無しさん
2006/07/22(土) 19:03:40if (!(fp = fopen(filename, "r"))) {
}
0171
2006/07/22(土) 19:04:33どう書くべきだと思ってるのか教えてくれ。
0172デフォルトの名無しさん
2006/07/22(土) 19:06:18fp = fopen(filename, "r");
if (!fp) {
}
って分けて書いてほしいってだけの愚痴です。
ハイ、すみません。
0173デフォルトの名無しさん
2006/07/22(土) 19:21:21FILE *fp = fopen(filename, "r");
if (!fp) {
0174デフォルトの名無しさん
2006/07/22(土) 19:38:12スペースキーを打っていちいち後ろを調整するのは面倒だよ〜。
0175デフォルトの名無しさん
2006/07/22(土) 19:43:10はい、バカの見本でました。
これがぱっと見て「ヘタだなぁ」と思うコードスレによく出没するアホ論理バカです。
論理というものが理解できず、結論が理由になっちゃうんですね。
素人はブロックコメントで装飾する
↓
だからブロックコメントをするのは素人
0176デフォルトの名無しさん
2006/07/22(土) 19:48:39>>3分未満で即レス付けられるくらい、がんばってこのスレに張り付いてるお前の
>>ほうがよくやってるよ。尊敬する。
と4分未満で即レス付けてるお前が一番必死に張り付いてると思う。
0177デフォルトの名無しさん
2006/07/22(土) 19:49:160178デフォルトの名無しさん
2006/07/22(土) 19:51:03C言語なら普通だろ
0179デフォルトの名無しさん
2006/07/22(土) 19:51:50if ( rtn < 0 )
{
// エラー処理
}
と書いてしまってはまる。
0180デフォルトの名無しさん
2006/07/22(土) 19:54:240181デフォルトの名無しさん
2006/07/22(土) 19:55:580182デフォルトの名無しさん
2006/07/22(土) 20:04:44その変数に対してstr系関数を使う場合は要注意。
0183デフォルトの名無しさん
2006/07/22(土) 20:21:42んなもん扱うデータのデータ構造によるから言語なんて関係ないしましてやうまいへたとも関係ない。
0184デフォルトの名無しさん
2006/07/22(土) 20:37:010185デフォルトの名無しさん
NGNGいや、理由はあるけど、教えてあげないだけ。
それは、理由はいわなくても、状況見ればわかるだろって言ってるの。
0186デフォルトの名無しさん
NGNG状況によるんじゃないの?
0187デフォルトの名無しさん
2006/07/22(土) 21:06:30皆そう思ってるんだろ?
0188デフォルトの名無しさん
2006/07/22(土) 21:28:340189デフォルトの名無しさん
2006/07/22(土) 22:00:49何もかも下手だからコメントも下手なんでしょ。
0190デフォルトの名無しさん
2006/07/22(土) 22:17:04関数{
なんやらかんやら
{
変数宣言
変数使用
}
}
みたいなことを多用するんだが、このブロックなんだよ、キモいよと言われる。
まぁキモいとは思うんだけど、どうするのがベストだろう?
関数にしてしまうとかえって可読性下がりそうだし。
(ブロック書いて済ませたくなるほどしょぼい処理だから
適切な名前を考えるのが難しいため。)
0191デフォルトの名無しさん
2006/07/22(土) 22:19:35キモいよ
0192デフォルトの名無しさん
2006/07/22(土) 22:21:190193デフォルトの名無しさん
2006/07/22(土) 22:23:29何をもってプロっぽいって言ってるかよくわからんけど、
コメントの書き方じゃなくてコメントのフォーマットに文
句つけてるだけの奴は下手なんだろうなぁと思う。
0194デフォルトの名無しさん
2006/07/22(土) 22:24:53「キモイよと言われる」ことと「スコープ最小限にする」ことを秤にかけて決めればいい。
0195デフォルトの名無しさん
2006/07/22(土) 22:25:51ホント、バカ丸出しだな
0196デフォルトの名無しさん
2006/07/22(土) 22:29:100197デフォルトの名無しさん
2006/07/22(土) 22:31:28不思議じゃないし、コードの巧い下手とは関係無いと思うがどうだろう。
0198デフォルトの名無しさん
2006/07/22(土) 22:32:58数行でも?
それはそれで「徹底」されるとうざいと思うけどな。
0199デフォルトの名無しさん
2006/07/22(土) 22:34:03つか、君、関数の平均行数は何行くらいなのさ
0200デフォルトの名無しさん
2006/07/22(土) 22:37:58大体一画面 (30行ぐらいか) が目安ですけど。
0201デフォルトの名無しさん
2006/07/22(土) 22:39:42それはキモい
0202デフォルトの名無しさん
2006/07/22(土) 22:43:51うまくやれば、短い関数が多くあっても気にならないのでは?
0203デフォルトの名無しさん
2006/07/22(土) 22:50:13て言うか、
関数{
int a;
なんやらかんやら
{
変数宣言
変数使用
a = 変数
}
}
なんて場合は関数化しにくいだろ。
0204デフォルトの名無しさん
2006/07/22(土) 22:52:060205デフォルトの名無しさん
2006/07/22(土) 22:53:51procedureじゃなくてfunctionにすればいいんじゃね?
0206デフォルトの名無しさん
2006/07/22(土) 22:55:200207デフォルトの名無しさん
2006/07/22(土) 22:55:390208デフォルトの名無しさん
2006/07/22(土) 22:56:31{
変数宣言
変数使用
a = 変数
}
の部分、まんま関数化できると思うが。
なにがしにくい?
0209デフォルトの名無しさん
2006/07/22(土) 22:58:010210デフォルトの名無しさん
2006/07/22(土) 22:59:440211デフォルトの名無しさん
2006/07/22(土) 23:09:27変数ひとつだけならいいけど、複数あったらどうするんだ?
>>202, >>210
メソッドとかの意味がある奴ならたとえ一行でもいいけど、
処理の一部なんかを単にブロック化するためだけに関数化
するなんてだと単にわかりにくくなるだけと思うけどな。
0212デフォルトの名無しさん
2006/07/22(土) 23:20:09ヘタな例しか出して無い癖に、後出しで条件増やして
どうするんだ?とかセコいことすんな
0213デフォルトの名無しさん
2006/07/22(土) 23:22:210214デフォルトの名無しさん
2006/07/22(土) 23:23:070215デフォルトの名無しさん
2006/07/22(土) 23:25:080216デフォルトの名無しさん
2006/07/22(土) 23:26:49/* なんか中身の説明 */ {
hoge();
}
とか
#define なんかシンボル /*空定義*/
なんかシンボル {
hoge();
}
とかしたらまた違うんだろうか。
0217デフォルトの名無しさん
2006/07/22(土) 23:57:59ボクが下手なわけじゃないんだ
チミたちが理解力がないだけなんだ
そうだボクは天才だからだ
わかったら下僕のように言うことを聞け
0218デフォルトの名無しさん
2006/07/23(日) 00:09:29そんなことにも気が回らないの?
0219デフォルトの名無しさん
2006/07/23(日) 00:10:58よけいにキモイ。
0220デフォルトの名無しさん
2006/07/23(日) 00:14:070221デフォルトの名無しさん
2006/07/23(日) 00:18:23/*↓コメントにしてぇときどうしてるの?
/* なんか中身の説明 */ {
hoge();
}
とか
#define なんかシンボル /*空定義*/
なんかシンボル {
hoge();
}
*/
0222デフォルトの名無しさん
2006/07/23(日) 00:25:590223デフォルトの名無しさん
2006/07/23(日) 00:29:51それが嫌だからしつこく食い下がる!
面倒臭ぇんだよ!
なんでこれでいいとかいう神経してんの?
この↓ほうが楽じゃん。
//コメント
0224デフォルトの名無しさん
2006/07/23(日) 00:36:13> //コメント
自分がそうしたければそうすればいいんじゃない?
おれは、#if 〜 #endif はそう面倒とは思わないけど。
0225デフォルトの名無しさん
2006/07/23(日) 00:36:17で文脈にかかわらず必ず初期化されているコードを見たことがある。
0226デフォルトの名無しさん
2006/07/23(日) 00:36:34方法によって面倒くさくなるほどコードをコメントアウトすることがあるのが間違い。
0227デフォルトの名無しさん
2006/07/23(日) 00:42:362つコード書いて、ちょっと試してみたいときあるじゃん。
その「ちょっと」なんだよ。
この「ちょっと」なんだけど、これが面倒だと嫌なんだよ。
しかもさ、別に
//コメント
この↑コメントの仕方すれば解決する問題じゃん。
わざわざ/* */ってやって他の人に嫌がらせしてるみたいじゃん。
これが我慢ならねぇところ。
ちなみに俺は/**/って使ってもコミットするときはこのコードはソース上に残さない。
0228デフォルトの名無しさん
2006/07/23(日) 00:50:140229デフォルトの名無しさん
2006/07/23(日) 00:51:20自分だけでもそれつかったらどう。
0230デフォルトの名無しさん
2006/07/23(日) 01:12:07ブロック化って単に変数のスコープを局所化したいだけなんだろ。
関数の行数平均30行のお前が、なんで多用するんだよ?
使い捨て一時変数の名前と、意味のある変数の名前のネーミングルールを
全く別のものにすれば問題ないだろ。
0231デフォルトの名無しさん
2006/07/23(日) 01:13:59面倒だよー。
しかも、VCで緑色にもならないし。
みんなでVC使って開発してるのにすげー邪魔くせー。
協調性無いのもすげー嫌。
>>229
嫌だー。なんで俺は悪くないのに俺が妥協しなきゃならんのだー。
みんなからブーブー文句言われてるのにそいつだけ変な意地はってすげー邪魔くせぇ。
0232デフォルトの名無しさん
2006/07/23(日) 01:18:31これは、結構重用だと思う。
パッと見てコメントだと識別できた方がいいよな。
0233デフォルトの名無しさん
2006/07/23(日) 01:19:15どうせコミットしない一時的なコードだからどうでもいいだろ。
0234デフォルトの名無しさん
2006/07/23(日) 01:19:34どっちがいいとかは別として、
このスレでも君の会社(?)でも
そのやり方が少数派なのは確か。
0235デフォルトの名無しさん
2006/07/23(日) 01:29:06・構造化できていない
・データ構造がなってない
・全般的に下手
のどれかでしょ。
0236デフォルトの名無しさん
2006/07/23(日) 01:31:39...
} while (0)
と書けば、誰も文句言わない。
0237デフォルトの名無しさん
2006/07/23(日) 01:46:57>>45
0238デフォルトの名無しさん
2006/07/23(日) 01:47:49#if 0
#endif
は灰色になるよ
0239デフォルトの名無しさん
2006/07/23(日) 02:01:31俺に言うなよ。
俺は、ブロックを「普通関数化するでしょ」とか言う >>196
がおかしいと思ってるだけなんだから。
ブロック多用してた時代もあったけど、やっぱり違和感があるから
単独のブロックはほとんど使わない。
0240デフォルトの名無しさん
2006/07/23(日) 02:01:57#if 0
#endif
よく↑内にクラスや関数の簡単な使用方法を
書いたりするんだが、それでいきなり見辛くなったw
デフォルトで通常の色にしておいて欲しかったよ。
ってこれは下手かな?
0241デフォルトの名無しさん
2006/07/23(日) 02:25:07・クラスのサイズがデカい。もっと分割出来るのにしてない。
とかもある。
0242デフォルトの名無しさん
2006/07/23(日) 02:35:16int hoge() {
...
block {
...
}
...
}
うはwwww俺キモイwww
0243デフォルトの名無しさん
2006/07/23(日) 02:50:40俺はこういうアイデアがいいと思った。
int hoge() {
...
// ここからなんたらかんたらの処理 ←とコメントを入れる
{
...
}
...
}
関数化して外に出したくなった場合も、コメントがそのまま使えるしね。
0244デフォルトの名無しさん
2006/07/23(日) 05:43:44http://www.freeml.com/message/[email protected]/7539
これのことか?
0245デフォルトの名無しさん
2006/07/23(日) 08:30:21頭ワロスw
0246デフォルトの名無しさん
2006/07/23(日) 08:33:230247デフォルトの名無しさん
2006/07/23(日) 11:10:49普通関数かするでしょ
0248デフォルトの名無しさん
2006/07/23(日) 11:12:080249デフォルトの名無しさん
2006/07/23(日) 11:12:55ってPascalの関数内関数が見易さの向上につながるとは思えないけど。w
0250デフォルトの名無しさん
2006/07/23(日) 11:16:31ttp://www1.kcn.ne.jp/~robe/pf/pf004.html
0251デフォルトの名無しさん
2006/07/23(日) 11:17:220252デフォルトの名無しさん
2006/07/23(日) 11:17:51■ このスレッドは過去ログ倉庫に格納されています