トップページ⇒tech
1001コメント231KB

ぱっと見て「ヘタだなぁ」と思うコード その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
0002デフォルトの名無しさん2006/07/19(水) 21:32:30
a
0003デフォルトの名無しさん2006/07/19(水) 22:12:21
なんかやたら詳しいコメントだらけのソース。
0004デフォルトの名無しさん2006/07/19(水) 22:31:40
if (a == true) {
 return true;
} else if (a == false) {
 return false;
}
0005デフォルトの名無しさん2006/07/19(水) 23:13:25
>>4
if (a == true || a== false) return a;
としろと言うことかな。
0006デフォルトの名無しさん2006/07/20(木) 01:00:15
>>5
下手な釣りだな
0007デフォルトの名無しさん2006/07/20(木) 02:13:34
「ヘタだなぁ」じゃなく「頭回らないなぁ」なコードならたくさん見てk値ア
0008デフォルトの名無しさん2006/07/20(木) 10:09:09
他人のコードみても何やってるかわからないので、
多分、俺のコードが一番下手。
コード進行は難しい。
0009デフォルトの名無しさん2006/07/20(木) 10:22:51
データ構造がダサいとき
0010デフォルトの名無しさんNGNG
ソースを開いて、

#include<stdio.h>

だったりすると、いやな予感がするな。
0011デフォルトの名無しさん2006/07/20(木) 12:40:16
すいません。質問させてください。
C#のプログラムを今作ってるのですが、
Formも印刷したいと思ってるんです。印刷の仕方知ってるひといますか?
0012デフォルトの名無しさん2006/07/20(木) 12:47:31
Alt+PrintScreenキーを押してペイントに貼り付けて印刷すればいいよ
0013デフォルトの名無しさん2006/07/20(木) 12:59:37
gotoを使う人
0014デフォルトの名無しさん2006/07/20(木) 13:00:55
>>1
必死だな(プ
0015デフォルトの名無しさん2006/07/20(木) 13:53:22
ぱっと見て「ヘタだなぁ」と思うコード→VBで書かれたコード
0016デフォルトの名無しさん2006/07/20(木) 15:06:04
>12ありがとうございます。
0017デフォルトの名無しさん2006/07/20(木) 21:19:06
switch(mode) {
 case 0:
  break;
 case 1:
  break;
}
0018デフォルトの名無しさん2006/07/20(木) 23:41:44
memsetでヌルクリアしてるコード
0019デフォルトの名無しさん2006/07/20(木) 23:51:24
>18
それは、あるねぇ。
自作関数に突入する前ならまだなんとか分かるけど、
標準関数に突入するだけなのに、memset()された日にゃぁ・・・
0020仕様書無しさん2006/07/21(金) 09:38:26
>19
意味不明。必要ならmemset()するだろ。むしろ、::ZeroMemory()使われる
よりはマシ。
0021デフォルトの名無しさんNGNG
>>18
なんか、それすると「安全になる」って固く信じてる人いるね。
そういうひとに限って、NULLと'\0'の区別がついてなかったりとか、ありがち。
memset(str, NULL, sizeof str);

0022デフォルトの名無しさん2006/07/21(金) 12:17:53
bzeroでヌルクリアしてるコード
0023デフォルトの名無しさん2006/07/21(金) 12:22:04
>>21
安全って何が安全?
0024デフォルトの名無しさんNGNG
>>23
そこらへんを突っこんで質問すると、答えられない。 > 文字列ゼロクリア派
0025デフォルトの名無しさん2006/07/21(金) 12:49:25
>>24
じゃあ、信じてないんじゃ?
0026デフォルトの名無しさんNGNG
>>25
でも、memset()で0クリアは有効だって、しつこく食い下がるよ。
じゃ、どう有効だって話になると、へんにはぐらかしたり、みんなやってるとか、
そういう返事。
0027デフォルトの名無しさん2006/07/21(金) 13:58:54
>>26
しつこく聞くからじゃないの?
0028デフォルトの名無しさん2006/07/21(金) 14:00:05
ところで「安全」から「有効」にさりげなく言い換えてるのはなぜ?
0029デフォルトの名無しさんNGNG
>>28
そんなにはっきりおぼえてないから。
0030デフォルトの名無しさんNGNG
セキュアになるって言ってたやつもいたな。
0031デフォルトの名無しさんNGNG
>>27
だろうね。
とくに根拠はないけど、意地になって0クリアに意味があるって言い張ってるだけ。
0032デフォルトの名無しさん2006/07/21(金) 14:11:42
>>31
しつこく聞くからでしょ。
0033デフォルトの名無しさん2006/07/21(金) 14:12:45
プログラムのデバッグをしている時などは、
スタックエリアのメモリダンプの際に0クリアのおかげで
スタックの使用状況が明確になり、デバッグ作業が捗る事
も有る。
0034デフォルトの名無しさん2006/07/21(金) 14:14:12
ここはレベルの高いインターネットですね
0035デフォルトの名無しさんNGNG
>>33
そういう目的のときには0じゃなくて、0xccとか意味のない値で埋めたりすることが
多いよね。
0036デフォルトの名無しさん2006/07/21(金) 14:17:17
>>33
>デバッグ作業が捗る
デバッグ作業がとどこおると、読んでしまった。
0037デフォルトの名無しさん2006/07/21(金) 14:18:36
自作自演の香りがするのはなぜだろう
0038デフォルトの名無しさん2006/07/21(金) 14:26:51
>>35
う〜ん、スタックのメモリダンプを取る場合の初期値には、
0xCCとか0xEEとかの意味の無い、だがパッと見て分かる値
を用いるのは確か。
0039デフォルトの名無しさん2006/07/21(金) 16:47:06
Cで構造体やmallocしたバッファをゼロクリアするのはダメなのか?
0040デフォルトの名無しさん2006/07/21(金) 17:03:32
ようするに、人生色々コードも色々って事だ
0041デフォルトの名無しさんNGNG
>>39
それはビミョーだな。

文字列を全部ゼロクリアするのは、明らかにだめ。
0042デフォルトの名無しさん2006/07/21(金) 18:30:16
釣れませんな
0043デフォルトの名無しさん2006/07/21(金) 18:32:44
callocってなんであんの?
0044デフォルトの名無しさん2006/07/21(金) 18:33:43
goto使う人
0045デフォルトの名無しさん2006/07/21(金) 18:35:06
do {} while(0) な人。
0046デフォルトの名無しさん2006/07/21(金) 18:35:39
if (0==fp) {}な人。
0047デフォルトの名無しさん2006/07/21(金) 18:37:22
釣れますか?
0048デフォルトの名無しさん2006/07/21(金) 18:45:00
釣れませんな
0049デフォルトの名無しさん2006/07/21(金) 18:46:35
文字列を全部ゼロクリアする奴なんかいないだろ
0050デフォルトの名無しさんNGNG
>>46
よその板で、Javaで

"hoge".equals(str)

とするのがいいって言ってるやつもいたなぁ。
nullが入ってる文字列と比較しても例外がでないからとか。
アホか。
0051デフォルトの名無しさん2006/07/21(金) 19:04:20
根本的な問題先送り、ってことか
0052デフォルトの名無しさん2006/07/21(金) 19:16:33
>>46のようなのを見ると、ああ、この人は
if(fp=0){ ... } と書いてしまってアッー!なことが
何度もあったんだなと思う。
0053デフォルトの名無しさんNGNG
Cで比較の左側に定数を置くスタイルの是非は、昔からいろいろ言われてて、
今ではかなり少数派ですな。
0054デフォルトの名無しさん2006/07/21(金) 19:36:21
もう既出ネタつまんないんで、下手な人について語ろう。
まず俺から。

「boostでそれ出来るよ」と解答する奴
0055デフォルトの名無しさん2006/07/21(金) 19:41:41
俺のコードにけちを付けるなと言う奴。
0056デフォルトの名無しさん2006/07/21(金) 19:42:51
俺が書くPerlのコードは美しいという奴。
0057デフォルトの名無しさん2006/07/21(金) 19:43:45
これOSのバグですか?と質問する奴
0058デフォルトの名無しさん2006/07/21(金) 19:45:30
昔の話を語りたがるオヤジ
0059デフォルトの名無しさん2006/07/21(金) 19:47:18
一発完動教
0060デフォルトの名無しさん2006/07/21(金) 19:48:03
フローチャートをまず書けというやつ
0061デフォルトの名無しさん2006/07/21(金) 19:48:53
>>54-60
スレ違い
0062デフォルトの名無しさん2006/07/21(金) 19:58:43
もっと高度な話をしようぜ
0063デフォルトの名無しさん2006/07/21(金) 20:05:09
了解。

goto使う奴。
0064デフォルトの名無しさん2006/07/21(金) 20:11:26
よしきた。

memsetでゼロクリアするやつ
0065デフォルトの名無しさん2006/07/21(金) 20:20:39
>>62
お前がネタ振れ
0066デフォルトの名無しさんNGNG
ぱっと見てだから、高度じゃなくてもおk。
0067デフォルトの名無しさん2006/07/21(金) 20:56:46
副作用をまったく考慮してない関数マクロ
0068デフォルトの名無しさん2006/07/21(金) 21:11:02
>>66
ネタ出せ、ヴォケ
0069デフォルトの名無しさん2006/07/21(金) 21:11:59
a = a++
0070デフォルトの名無しさん2006/07/21(金) 21:56:22
>>46
そういうときはどうすりゃいいのさ
0071デフォルトの名無しさん2006/07/21(金) 22:31:32
なたならどれ?
fp==0
fp==NULL
!fp
0072デフォルトの名無しさん2006/07/21(金) 22:53:48
>>71
あとで読むとき苦労しないように順番に使うよ
0073デフォルトの名無しさん2006/07/21(金) 23:00:15
NULLP(fp)
0074デフォルトの名無しさん2006/07/21(金) 23:32:04
>>46
Eric Nieblerのことか!
0075デフォルトの名無しさん2006/07/21(金) 23:32:47
式の途中にコメントを挟む奴。
hoge = a // ・・・
    + b // ・・・
    + c; // ・・・
とかはまだ許せても、
hoge = a/*・・・*/ + b/*・・・*/ + c/*・・・*/;
とかはぶっ飛ばしたくなった。
0076デフォルトの名無しさんNGNG
/****************************************
 *                            *
 *                            *
 ****************************************/

囲いつきのコメントも素人くさい。
こういうのを全関数の頭につけて、引数の説明とかしてるのも
うんざりするね。
0077デフォルトの名無しさん2006/07/21(金) 23:51:14
if(bValue==TRUE)
{
0078デフォルトの名無しさん2006/07/22(土) 01:09:32
>>76
前関数の説明は当たり前だ。
お前が素人だろ
0079デフォルトの名無しさん2006/07/22(土) 01:11:11
>>50
str==null であってもいい場合はむしろその書き方が推奨される。
0080デフォルトの名無しさん2006/07/22(土) 01:44:35
Linuxカーネルのソースコードはやばい
0081デフォルトの名無しさん2006/07/22(土) 01:48:50
素人にも分かり易いプログラムと、素人が組んだプログラムは違うと思うんだ。
0082デフォルトの名無しさん2006/07/22(土) 02:33:03
>>76
こういうやつがドキュメントもコメントもない
クズコードを量産するんだな
0083デフォルトの名無しさん2006/07/22(土) 02:36:11
コードにいちいちコメント付ける方が下手
0084デフォルトの名無しさん2006/07/22(土) 02:37:52
>>76
某家電メーカーの社内規定だったね(w
0085デフォルトの名無しさん2006/07/22(土) 02:38:51
// int型の変数aを宣言する。初期値は0。
int a=0;

ってかw
0086デフォルトの名無しさん2006/07/22(土) 02:43:03
なんか前スレの議論はすべて初期化された状態での議論になるんだろうなw
0087デフォルトの名無しさん2006/07/22(土) 02:43:27
>>85
そんなどうでもいい糞コメントの話じゃなくて、リーダビリティを上げたいなら
コメントを書く前に、まずコードそのもののリーダビリティを上げろっつー話。
0088デフォルトの名無しさん2006/07/22(土) 02:45:57
>>86
議論なんかしたいの?
0089デフォルトの名無しさん2006/07/22(土) 02:49:02
>>84
ソフト開発のオフィスが「工場」なメーカー?
0090デフォルトの名無しさん2006/07/22(土) 02:53:45
>>88
おまいらが勝手にやってるからかまわないよw
0091デフォルトの名無しさん2006/07/22(土) 04:30:27
必要性の無いコメントを入れてるヤツ、って言いたいんだろうか
必要なコメントの無いソースを書くヤツもカスだと思うが。

徹夜仕事のあとにこんなとこ来てるオレもカスだと思うが。
0092デフォルトの名無しさん2006/07/22(土) 04:37:20
「必要なコメント」とかいう奴に限って、必要ないコメントを書いてる件について
0093デフォルトの名無しさん2006/07/22(土) 05:11:50
>>35 >>38

0xA5
0x5A
0xAA55
0x55AA

あたりが好き

0x55AA はどこぞの mbr とかで使われてるけど

0094デフォルトの名無しさん2006/07/22(土) 05:35:57
0xdeadbeefってのがあったな。
0095デフォルトの名無しさん2006/07/22(土) 08:08:42
ソースコード出したら、修正点とか言ってくれる?赤ペン先生みたいに
0096デフォルトの名無しさん2006/07/22(土) 09:25:38
俺様コーディングスタイル様達が
いっぱい添削してくれますよ
0097デフォルトの名無しさん2006/07/22(土) 11:22:51
そういえば宿題スレはあるのに添削スレはないですね
0098デフォルトの名無しさん2006/07/22(土) 11:27:10
そうかつ
コメントは沢山入れすぎずわかりやすく最小で入れること

これでFA?
0099デフォルトの名無しさん2006/07/22(土) 11:29:38
       , -: ': : : : : : :"⌒: ̄:` : 、
      /: : : : へ._ : : : :へ、: : : \
    __,く;へ_: : :| : : : : : : : \ ̄:ヽ、\
.   /:__/: : :/: : |: :l: : : : : : : : \.: :ヽ: ヽ
  /_//: : :/: / :|: l: : :ヽ: ヽ: : : : ヽ: : ヽハ
//: /: : : : : |: : l: : |: : |: : ヽ: :ヽ: : ヽ: : : : : : :ヽ: : ヽハ
. /:/: /: /: l: |: :,|: : ハ: : |: : : ヽ: :ヽ: : ヽ: : : : : : :ヽ : ヽ|
//: : l: :l: ::|: :|: :|: : :| ヽ lヽ : : :\: ヽ.: :\: : : ヽ:ハ: : : |
| l: : |: :|: : |: :|: ハ__,L. ヽ \" ̄「 T ト- 、;_: : : : :|: : :.|
| |: : |: :|: : |: ;|イ「 ヽ|   \´\ヽ __」__i.\ \ : : |: : :|  もう・・・仕方の無いことばかり言って・・・
| |: : |: :|: : くv' _」=i    ヽ /「 i::::::o「\|ヽト: |: :/|
i l: : ハ: l: : :.ト / {:::::::〉       レヘ:.::::}゚i|/|: ::| .}レ': :|
 ∨:| Vヘ: ::ヘヽ vヘ:ハ       ..く_二iつ|: :.:レ: :| : :|
  ヽヽ∨へ:ハ  ヾツ        ////ハ:/::|: :|: : :|
      ∧: :i:ヘ.l //   `        /: {:::::|: :l: : ハ
     /:/: ∧: \     。     ,.イ:|: :|::i:::|: :l: ::∧
     //: : :}: ヽ`i:: 、.      / .|::| :|:::i::::|: i:: : ∧
    ://: : : ハ: ヽ::::::ノT ' ‐ '    |::|: :V::::i∧: : : : ヘ
   //: : ノ二 ヽ: :\ 〈ー 、 _____,トヘ: :∨::i::∧: : : :.∧
 //:/ /⌒ \  ヽト、: :ヽ\_______ハ \:∨ハ:::∧: : : :} \
0100デフォルトの名無しさんNGNG
>>78
プロっぽいコードには、囲いつきのコメントなんてめったにないよ。
安プログラマーを、人海戦術的に働かせてるところだろ。
囲いつきでコメントを書かせてるのは。
0101デフォルトの名無しさん2006/07/22(土) 11:44:24
ここは素晴らしいスレですね^^
■ このスレッドは過去ログ倉庫に格納されています