トップページ⇒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
0232デフォルトの名無しさん2006/07/23(日) 01:18:31
> しかも、VCで緑色にもならないし。
これは、結構重用だと思う。

パッと見てコメントだと識別できた方がいいよな。
0233デフォルトの名無しさん2006/07/23(日) 01:19:15
>>232
どうせコミットしない一時的なコードだからどうでもいいだろ。
0234デフォルトの名無しさん2006/07/23(日) 01:19:34
>>231
どっちがいいとかは別として、
このスレでも君の会社(?)でも
そのやり方が少数派なのは確か。
0235デフォルトの名無しさん2006/07/23(日) 01:29:06
局所ブロックを多用したくなるのは、
・構造化できていない
・データ構造がなってない
・全般的に下手
のどれかでしょ。
0236デフォルトの名無しさん2006/07/23(日) 01:31:39
do {
...
} while (0)
と書けば、誰も文句言わない。
0237デフォルトの名無しさん2006/07/23(日) 01:46:57
>>236
>>45
0238デフォルトの名無しさん2006/07/23(日) 01:47:49
2005 だとデフォルトで
#if 0
#endif
は灰色になるよ
0239デフォルトの名無しさん2006/07/23(日) 02:01:31
>>230
俺に言うなよ。

俺は、ブロックを「普通関数化するでしょ」とか言う >>196
がおかしいと思ってるだけなんだから。

ブロック多用してた時代もあったけど、やっぱり違和感があるから
単独のブロックはほとんど使わない。
0240デフォルトの名無しさん2006/07/23(日) 02:01:57
>>238
#if 0
#endif
よく↑内にクラスや関数の簡単な使用方法を
書いたりするんだが、それでいきなり見辛くなったw
デフォルトで通常の色にしておいて欲しかったよ。
ってこれは下手かな?
0241デフォルトの名無しさん2006/07/23(日) 02:25:07
>235
・クラスのサイズがデカい。もっと分割出来るのにしてない。
とかもある。
0242デフォルトの名無しさん2006/07/23(日) 02:35:16
#define block /**/

int hoge() {
 ...
 block {
  ...
 }
 ...
}

うはwwww俺キモイwww
0243デフォルトの名無しさん2006/07/23(日) 02:50:40
前にcppmlで少しだけ話題になってたね。
俺はこういうアイデアがいいと思った。

int hoge() {
 ...

 // ここからなんたらかんたらの処理 ←とコメントを入れる
 {
  ...
 }

 ...
}

関数化して外に出したくなった場合も、コメントがそのまま使えるしね。
0244デフォルトの名無しさん2006/07/23(日) 05:43:44
>>243
http://www.freeml.com/message/[email protected]/7539
これのことか?
0245デフォルトの名無しさん2006/07/23(日) 08:30:21
>>244
頭ワロスw
0246デフォルトの名無しさん2006/07/23(日) 08:33:23
オナニーを見せておいて、注意されたら止めるんだろうな
0247デフォルトの名無しさん2006/07/23(日) 11:10:49
>>239
普通関数かするでしょ
0248デフォルトの名無しさん2006/07/23(日) 11:12:08
関数内関数すら定義できない糞言語なんて使うなよwww
0249デフォルトの名無しさん2006/07/23(日) 11:12:55
Cも関数内関数が使えればよかったんだけどな。
ってPascalの関数内関数が見易さの向上につながるとは思えないけど。w
0250デフォルトの名無しさん2006/07/23(日) 11:16:31
C++でも方法次第では出来るらしい。だが、使い勝手は極めて悪そう。
ttp://www1.kcn.ne.jp/~robe/pf/pf004.html
0251デフォルトの名無しさん2006/07/23(日) 11:17:22
Perlでオブジェクト指向プログラミングするようなもんだね
0252デフォルトの名無しさん2006/07/23(日) 11:17:51
それだけのために関数内クラスなんて阿呆の極みだ
0253デフォルトの名無しさん2006/07/23(日) 11:19:03
クラスを設計しなおせばなんとかなる気もする
0254コードじゃなくて、プログラムを見るときの話ね。2006/07/23(日) 11:54:14
>>252
俺もそう思う。

単なるブロックをヘタにクラスや関数にすると、
余分なオーバーヘッドがかかりそうで嫌い。
0255デフォルトの名無しさん2006/07/23(日) 13:07:11
static inlineで
0256デフォルトの名無しさん2006/07/23(日) 13:09:27
一体何のためにC/C++で#defineがあると思ってるんだ?
0257デフォルトの名無しさん2006/07/23(日) 13:17:31
C++で#defineを積極的に使ってるコード
0258デフォルトの名無しさん2006/07/23(日) 14:21:24
低レベルなスレだなおい
0259デフォルトの名無しさん2006/07/23(日) 14:52:59
見に来ないと
そういうスレすら見抜けないとはな
0260わざわざメール欄に書いてあるのに…。2006/07/23(日) 16:07:18
>>255-256
釣れた!!
0261デフォルトの名無しさん2006/07/23(日) 16:40:41
>>260
名前とメールの区別がつかない馬鹿を発見しました。
0262デフォルトの名無しさん2006/07/23(日) 16:45:25
さらにもう一匹釣れました。(w
0263デフォルトの名無しさん2006/07/23(日) 17:19:53
IEブラウザでカキコしてるんだろうなぁ
0264デフォルトの名無しさん2006/07/23(日) 17:20:09
おお、2chの三大珍獣、釣れた!君が出ましたね。

今時なかなか珍しいよこの生き物は。
絶滅危惧種だ。
0265わざわざメール欄に書いてあるのに…2006/07/23(日) 17:24:06
うるさい死ね!
0266わざわざメール欄に書いてあるのに…2006/07/23(日) 17:27:53
おにいさまおにいさまおにいさまおにいさまキスキス…ネコミミ!おにいさまおにいさま
おにいさまおにいさまキスキス…ネコミミ!おにいさまおにいさまおにいさまおにいさま
ネコミミ!おにいさまおにいさまおにいさまおにいさまおにいさまおにいさまネコミミ!
おにいさまおにいさまネコミミモードネコミミモードネコミミモード私のしもべー
キス…したくなっちゃった…ネコミミ!おにいさまおにいさまネコミミ!おにいさま
ネコミミモードネコミミモードネコミミモード私のしもべーキス…したくなっちゃった…
ネコミミ!ネコミミ!や・く・そ・く・よネコミミ!おにいさまや・く・そ・く・よ
おにいさまおにいさまおにいさまおにいさまおにいさまおにいさまおにいさま
や・く・そ・く・よや・く・そ・く・よおにいさまおにいさまおにいさまや・く・そ・く・よ
ネコミミ!や・く・そ・く・よネコミミモードネコミミモード私のしもべーネコミミモード
おにいさまおにいさまおにいさまおにいさまキスキス…ネコミミ!おにいさまおにいさま
おにいさまおにいさまネコミミモード私のしもべーキス…したくなっちゃった…ネコミミ!
や・く・そ・く・よネコミミ!や・く・そ・く・よおにいさまおにいさまおにいさま
や・く・そ・く・よ私のしもべー私のしもべー私のしもべー私のしもべー私のしもべー
私のしもべーや・く・そ・く・よ私のしもべー私のしもべー私のしもべー私のしもべー
私のしもべー私のしもべー私のしもべー私のしもべーや・く・そ・く・よネコミミ!
おにいさまや・く・そ・く・よ
0267デフォルトの名無しさん2006/07/23(日) 17:38:14
すでまちがえたwwww
とかやってたらよかったのに
0268デフォルトの名無しさん2006/07/23(日) 17:38:42
入れ食いですねw
0269わざわざメール欄に書いてあるのに…2006/07/23(日) 17:40:33
また釣れた!釣れた!わーい釣れた!
0270デフォルトの名無しさん2006/07/23(日) 17:46:02
キレて騒ぎ出すぐらいならはじめから技術なんて語るな。クズが
0271デフォルトの名無しさん2006/07/23(日) 17:46:44
偽者君協力乙。

コピーするなら最後の "。" までちゃんとコピーしてね。(w
0272デフォルトの名無しさん2006/07/23(日) 17:51:45
>>271
w 狙いどおりレスwww
0273デフォルトの名無しさん2006/07/23(日) 17:54:54
釣れた!君は自分のバカさ加減に気付けません。
釣れた!レスで自分が勝ったと勘違いするからです。

ですのでこのように、自分がどんなにバカな行動を示したか
あえてそっくり真似ることで教えてあげるのが効果的です。

他人の振り見て・・・というヤツですね。
これでも自覚できないなら、多分相手は小学生です。
子供は宝!今はバカかもしれません、しかし暖かく見守ってあげましょう。
0274デフォルトの名無しさん2006/07/23(日) 17:55:36
問題バレテデスマーチの開始みたいな展開w
0275デフォルトの名無しさん2006/07/23(日) 18:02:22
>>273
長文乙。

そんなに悔しかったのか (w
0276デフォルトの名無しさん2006/07/23(日) 18:05:19
小学生でした。
0277デフォルトの名無しさん2006/07/23(日) 18:09:10
>>266それ間違い。
↓これが正解
ネコミミ!
ネコミミモード ネコミミモードでーす ネコミミモード ネコミミモード
ネコミミモード ネコミミモードでーす ネコミミモード(フニャーン♪ フニャニャン?)
フルフルフルムーン(キスキス…) おにいさま(キスキス…)
や・く・そ・く・よ(キスキス…) 私のしもべー(キスキス…)
ネコミミモード ネコミミモード ネコミミモード ネコミミモードでーす
ネコミミモード ネコミミモード ネコミミモード ネコミミモードでーす

キス…したくなっちゃった…
0278デフォルトの名無しさん2006/07/23(日) 18:13:15
関数化、モジュール化ってのはコードの論理的な整理はできるけど、流れを見えにくくする欠点はある。
特に今述べられているよう、細かい処理をいちいち関数でくくりだすと、よほどうまい命名法をしない限り、
トップダウン式には理解してゆけない。
0279デフォルトの名無しさん2006/07/23(日) 18:16:22
釣れたことにしといてやれよw
0280デフォルトの名無しさん2006/07/23(日) 18:33:19
>>278
まあ、そう言うこと。

ヘタに関数なんかにすると、ほかの場所からも呼ばれてる可能性なんかも
考慮しないといけなくなるからコードが追いにくくなる。

>>211 の問題もあるから、ブロック化はいざ知らずそれを関数化する奴は
パラノイアか単なるアフォだと思う。

まあ、実際にはいないと思うけどね。
0281デフォルトの名無しさん2006/07/23(日) 18:35:07
>>279

>>255-256
> static inlineで
> 一体何のためにC/C++で#defineがあると思ってるんだ?

思いっきり釣られてますが、何か? (w
0282デフォルトの名無しさん2006/07/23(日) 18:45:39
でも、メール欄に書いてないのは爆死物だと思うんだ(笑)
0283デフォルトの名無しさん2006/07/23(日) 18:56:21
夏ですなぁ
0284デフォルトの名無しさん2006/07/23(日) 18:58:36
改めていうまでもなく、日本では6月から9月までは夏だ。
0285デフォルトの名無しさん2006/07/23(日) 19:00:04
つか、なんでブロック作るの?
テンポラリ変数とか使いたいわけ?
0286デフォルトの名無しさん2006/07/23(日) 19:03:26
>>278
まぁ具体例を出さずに話すのがアレだが、それって設計が下手ってことでは?
0287デフォルトの名無しさん2006/07/23(日) 19:04:44
夏だなぁ厨  【なつだなぁちゅう】

夏に暴れる人(夏厨とは限らない)を放置ができず、とにかく「夏だなぁ」と言い出し、
それによってなぜか相手より優位に立ってると思い、
荒れの元となりスレ(板)住民全体に迷惑をかける存在。

【特徴】
・とにかく文中に「夏だなぁ」を入れないと気がすまない
・スレの流れや空気を読めず、反応してしまう
・普通のスレ住人は夏厨を放置しているのに自分だけが過剰に反応してしまう
・夏厨に反応している時点で夏厨と同類であることに気づいていない
・普段と特になにもかわらないのに、とにかく「夏だなぁ」と言えば勝ってると思ってる。
・一日中いや一年中ずっと張り付いてる自分がおかしいことに気付かず、
 夏休みを利用して2chからくる特に異常というわけではないはずの人をなぜか見下している
0288デフォルトの名無しさん2006/07/23(日) 19:10:09
>>280
>>>211 の問題もあるから、ブロック化はいざ知らずそれを関数化する奴は
>パラノイアか単なるアフォだと思う。

と決め付けるお前さんの方が、よっぽどアホに見えるんだが。
0289デフォルトの名無しさん2006/07/23(日) 19:13:56
単に一時変数を使いたいが為に、ブロックを作る奴(さらにはそれをインデントする奴)はアホ。
関数先頭の変数定義が多すぎるなら、それは普通大きすぎる関数だから分割を考えろ。
0290デフォルトの名無しさん2006/07/23(日) 19:15:29
>>280
> ほかの場所からも呼ばれてる可能性

あー、何か、そんなに副作用たっぷりな関数を作るのが大好きなのか?
0291デフォルトの名無しさん2006/07/23(日) 19:16:34
「分割するとわかりにくくなるんです」という反論があるかもしれないが、だとしたら
無理な分割は勧めない。

しかし、いつでも「分割すると分かりにくくなる関数」しか書いてないのかという疑問は残る。
なにせ「多用」しているのだから。
0292デフォルトの名無しさん2006/07/23(日) 19:18:05
>>290
その発言で、設計がヘタだってことがばれちゃったよねw
0293デフォルトの名無しさん2006/07/23(日) 19:23:01
>>278
は?
小さな独立した関数を呼ぶコードの方が、詳細なコードがずらずらと書かれている
コードより、トップダウンで理解しやすいだろ
0294デフォルトの名無しさん2006/07/23(日) 19:25:38
っていうか、関数化に反対してるのって、元発言の人ただ一人じゃないの?
0295デフォルトの名無しさん2006/07/23(日) 19:28:22
この話題って、このスレにピッタリだね。
自称、中上級者が良かれと思って使うテクニックが、他人から見ると
ヘタに見えるから笑える。
初級者が書くヘタなコードはつまんないし。
0296デフォルトの名無しさん2006/07/23(日) 19:33:03
夏だなあ
0297デフォルトの名無しさん2006/07/23(日) 19:33:44
子犬が数匹互いの尻尾噛みあってくるくる回ってる感じ
0298デフォルトの名無しさん2006/07/23(日) 19:34:20
>>294
俺もそんな気がする。凝集度という言葉を知らないと見た。
0299デフォルトの名無しさん2006/07/23(日) 19:34:30
自作自演が激しいな
0300デフォルトの名無しさん2006/07/23(日) 19:36:11
>>296-297
2chで初めての夏ではしゃいでる馬鹿
0301デフォルトの名無しさん2006/07/23(日) 19:36:16
>>294
そ、なぜか必死
0302デフォルトの名無しさん2006/07/23(日) 19:37:59
>>299
このスレって多分そういうスレなんだよ。
お互い多数派っぽく見せたくて自作自演合戦w
0303デフォルトの名無しさん2006/07/23(日) 19:39:27
ブロックコメントも、関数内ブロックもどうでもいい話。
なんでそんなに一生懸命になるのか理解不能。

ヘタな「コード」を出せ。
0304デフォルトの名無しさん2006/07/23(日) 19:43:23
長い関数で、意味のまとまりを強調したくてブロック化してるんじゃないの?
そうだとしたら、全く同意できないけど。
0305デフォルトの名無しさん2006/07/23(日) 19:44:04
下手なコードとして出してたんだろうよ
0306デフォルトの名無しさん2006/07/23(日) 19:44:50
いや、素晴らしいコードを理解しない同僚が下手だって言いたかったんだよ。
0307デフォルトの名無しさん2006/07/23(日) 19:49:02
とりあえず、>>244のリンク先は頭悪過ぎってことは確定でいいんだよね?
0308デフォルトの名無しさん2006/07/23(日) 19:49:05
>>190
そもそも、スコープを最小にする意味がわからん
0309デフォルトの名無しさん2006/07/23(日) 19:49:23
あれが素晴らしいとは…
0310デフォルトの名無しさん2006/07/23(日) 19:51:53
>>278,>>280
それらの問題を考慮して考えられたのが >>243-244 なんじゃないのか?
0311デフォルトの名無しさん2006/07/23(日) 19:53:45
Unit Testしない人たちなんだねぇ
0312デフォルトの名無しさん2006/07/23(日) 19:56:28
>>310
まあ、結論からいうとバカタレの極致だなw
0313デフォルトの名無しさん2006/07/23(日) 19:57:59
もう自演はいいから。
0314デフォルトの名無しさん2006/07/23(日) 20:02:13
>>307
お前、理解できてないだろ?
0315デフォルトの名無しさん2006/07/23(日) 20:02:22
>>313
なんで自演と思いたがるのか。
俺もいくつか書いてるが、数人はいると思うぞ。
0316デフォルトの名無しさん2006/07/23(日) 20:05:14
>>314
何を?
語ってくれよ
0317デフォルトの名無しさん2006/07/23(日) 20:06:10
>>244のリンク先みたいな恥ずかしいコード書くぐらいなら死んだほうがましだよw
0318デフォルトの名無しさん2006/07/23(日) 20:07:43
自演認定だけが生き甲斐
0319デフォルトの名無しさん2006/07/23(日) 20:07:51
荒らしたいだけなら他所でやれ
0320デフォルトの名無しさん2006/07/23(日) 20:08:21
後からいつでも分割できるからと巨大な関数書くくらいなら、
関数コールのオーバーヘッドがボトルネックになっていると
分かった段階で一つの関数にまとめるというスタンスの方が
余程まともな考え方。
0321デフォルトの名無しさん2006/07/23(日) 20:09:20
>>319
え?そういうヘタレの隔離スレじゃないの?ここ
0322デフォルトの名無しさん2006/07/23(日) 20:10:07
まさかとは思うが、
ID表示されなければ自演はバレないと思ってるんじゃ・・・^^
0323デフォルトの名無しさん2006/07/23(日) 20:11:17
測りもしないで関数コールのオーバーヘッドがどうとか
ウンコみたいなこと言い出すところとかぶん殴ってやりたいな。
0324デフォルトの名無しさん2006/07/23(日) 20:11:41
>>322
それ飽きた
0325デフォルトの名無しさん2006/07/23(日) 20:12:50
>>320,>>323
>>278,>>280
0326デフォルトの名無しさん2006/07/23(日) 20:14:34
>>244のリンク先の奴って生んでくれた両親にすまないと思わないのかな?
こんな馬鹿に育ってしまってスミマセンとか謝ってほしい。
0327デフォルトの名無しさん2006/07/23(日) 20:17:12
>>325
日本語喋れないの?
0328デフォルトの名無しさん2006/07/23(日) 20:17:24
自演してるおまえら自分のレスのHTMLソース見てみろ
0329デフォルトの名無しさん2006/07/23(日) 20:19:05
夏厨発見
0330デフォルトの名無しさん2006/07/23(日) 20:20:26
思わぬ反撃にあった>>190の自演でしょ
0331デフォルトの名無しさん2006/07/23(日) 20:21:17
>>244のリンク先の奴ってあんまり馬鹿で死にたくならないのかな?
■ このスレッドは過去ログ倉庫に格納されています