ぱっと見て「ヘタだなぁ」と思うコード
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/03/09(木) 10:16:55・サブルーチン(関数)が数百行
・ネストが深い
・マジックナンバーが使われまくり
・識別子(変数名、関数名)が意味不明
・グローバル変数使われまくり
↓応用編、詳細編どうぞ
0232デフォルトの名無しさん
2006/03/11(土) 16:14:50「まとも」が何かによるけどな。
コーディングスタイルの流行なんて、すぐ変わるものだし。
0233デフォルトの名無しさん
2006/03/11(土) 16:19:34if(){
}
みたいなキモいコードブロック書いてるよな。
タブの代わりにスペース2個とか。視ねって。
0234デフォルトの名無しさん
2006/03/11(土) 16:20:48#includeの後にスペース入れるか入れないかなんて、流行すたりはないよ。
0235デフォルトの名無しさん
2006/03/11(土) 16:21:320236デフォルトの名無しさん
2006/03/11(土) 16:25:090237デフォルトの名無しさん
2006/03/11(土) 16:43:440238デフォルトの名無しさん
2006/03/11(土) 16:49:58そらどうでもいいからな。
0239デフォルトの名無しさん
2006/03/11(土) 16:58:38#include<hoge.h>
はくっつけたらダメなの?
逆に、離したら何がいいの?
論理的に説明できずに、感覚的にキモイとか言ったら低脳認定。
0240デフォルトの名無しさん
2006/03/11(土) 16:59:47エラー処理かかないのと、スタイルは関係ない。
ただの言いがかりをつけるやつは人としてダメだな
0241デフォルトの名無しさん
2006/03/11(土) 17:33:29いや、議論するまでもなく意見が一致するから。
二項演算子の両脇を詰めろってヤツが混じってたら、かなり紛糾すると思うけど。
0242デフォルトの名無しさん
2006/03/11(土) 17:34:27瑣末だと思ってるあたりがダメ。
0243デフォルトの名無しさん
2006/03/11(土) 17:39:58自分のスタイルを他人に強要して、詰めろ、というバカが居たらそうだろう。
同様に、自分のスタイルを他人に強要して、空けろ、とかいうバカが居ても紛糾するよ。
このスレのように。
0244デフォルトの名無しさん
2006/03/11(土) 17:47:11これが瑣末だと思えない時点で、プログラマ失格。
多分姑になるといいよ。嫁いびり上手そう。
0245デフォルトの名無しさん
2006/03/11(土) 17:49:30「Cプログラミング診断室」を引用するもんだけど
もうそういう時代じゃない?
0246デフォルトの名無しさん
2006/03/11(土) 17:49:53そういう機械で出来るような部分に価値を見出してもしょうがないぞ
0247デフォルトの名無しさん
2006/03/11(土) 17:52:05特定のスタイルに固執することに価値はない。
それがわからないのは趣味グラマだけだろう。
0248デフォルトの名無しさん
2006/03/11(土) 17:54:03元ソースのコーディングスタイル(変数名等の付け方も含む)を
踏襲するのが普通だと思うんだが…。(つまり、スタイルを気にしてない)
職業PGだって、規定があればそれに従うのみだろ…。
ここでキモイとかいってるやつは行数を増やすことだけに熱心な
アホ会社に勤めるカス職業PGか?
0249デフォルトの名無しさん
2006/03/11(土) 17:56:14べつに行数で金取るわけじゃねぇし。
ま、行数カウントして試験計画に反映することは良くあるけどな。
0250デフォルトの名無しさん
2006/03/11(土) 17:57:35> 自分のスタイルを他人に強要して、詰めろ、というバカが居たらそうだろう。
数人で作業をやるとか、コーディングルールを決めるような状況ならある程度「強要」はあるだろ。
そういう状況でも、二項演算子の両脇を開けるとか、カンマの後ろを空けるとかは
常識のレベルだから、紛糾なんてない。
あまりに常識過ぎて、言及しないこともあるけど。
(まともなところならね)
0251デフォルトの名無しさん
2006/03/11(土) 18:00:15単にまともなプログラマーなら、こう書くって話だし。
0252デフォルトの名無しさん
2006/03/11(土) 18:01:33そもそもコーディングスタイル決める意味ある?
0253デフォルトの名無しさん
2006/03/11(土) 18:03:390254デフォルトの名無しさん
2006/03/11(土) 18:04:430255デフォルトの名無しさん
2006/03/11(土) 18:04:450256デフォルトの名無しさん
2006/03/11(土) 18:06:040257デフォルトの名無しさん
2006/03/11(土) 18:06:46訂正:おまえらは人に読まれても恥ずかしくないコードを書くために、どんなことに気をつけている?
0258デフォルトの名無しさん
2006/03/11(土) 18:06:460259デフォルトの名無しさん
2006/03/11(土) 18:08:430260デフォルトの名無しさん
2006/03/11(土) 18:09:33>>255
publicな関数やクラスは、doxygen相当のツールで拾えるドキュメントを必ず記述する。
privateも自明なの以外はつける。
関数内にコメントは記さない。
コメントがなくても自明なコードとなるようにする。
0261デフォルトの名無しさん
2006/03/11(土) 18:15:160262デフォルトの名無しさん
2006/03/11(土) 18:32:44二重に意味わかんね。
ソースを隠したところでasmでは(時間かかるけど)バレバレだしな。
0263デフォルトの名無しさん
2006/03/11(土) 18:46:26> 元ソースのコーディングスタイル(変数名等の付け方も含む)を
> 踏襲するのが普通だと思うんだが…。(つまり、スタイルを気にしてない)
それはまともなスタイルだからだろ。
二項演算子の両端を空けないポリシーで、世間で評価されてるオープンソース
のプロダクツとかある?
0264デフォルトの名無しさん
2006/03/11(土) 18:52:42そもそもオープンソースの作者ってのは変質者が多い。
露出狂とでも言うか
なかにはオープンソースを餌にしてこんなオナニーを見せて喜ぶ奴もいる
#define BEGIN {
#define END }
0265デフォルトの名無しさん
2006/03/11(土) 18:54:02色分けしてくれるエディタ使えば、演算子の前後に空白があるだの無いだの気にする必要もない事だろ
0266デフォルトの名無しさん
2006/03/11(土) 19:03:50君はgrepを知らんのか。それともオプソのソースが手元に一切ないのか。
それくらい調べればすぐにわかるだろう。
0267デフォルトの名無しさん
2006/03/11(土) 19:06:32議論というか、空白無いとダメなんだもん!君が喚いてるだけ。
皆、どうでもいいだろ、どうしても嫌ならツール使えよ、とやさしく諭してあげてる。
0268デフォルトの名無しさん
2006/03/11(土) 19:10:010269デフォルトの名無しさん
2006/03/11(土) 19:52:06それで「ヘタだなぁ」って思うやつが結構いるということは分かったから
0270デフォルトの名無しさん
2006/03/11(土) 20:16:08そんなことは、演算子の両脇を詰めるのがまともだと思ってる人に言ってください。
0271デフォルトの名無しさん
2006/03/11(土) 20:20:42けっこう多いっていうか、まともな人は、ほぼ全員へただなぁ、素人っぽいなあって思うんじゃない?
0272デフォルトの名無しさん
2006/03/11(土) 20:31:12> どうしても嫌ならツール使えよ、
変な書き方してる連中って、ツールも使ってないってことだろ?
0273デフォルトの名無しさん
2006/03/11(土) 20:37:50そうなの? 俺は変だなとは思うけどヘタとは思わない
同じソース中でバラバラだったら素人っぽいと思うけど
0274デフォルトの名無しさん
2006/03/11(土) 20:39:310275デフォルトの名無しさん
2006/03/11(土) 20:42:43・へた
・素人
・変
0276デフォルトの名無しさん
2006/03/11(土) 20:44:46何で平気でツール使えとか言えるのかがわからん。
責任感って物がないのか?
てか単項演算子の両端をあけないのって小さくて単純なプログラムしか組んだこと無いからだろ。
そりゃたしかに
n = n + m; とか
for(n = 0 ; n < MAX; n++)
みたいなんじゃぁ間抜けにみえるかもな。
0277デフォルトの名無しさん
2006/03/11(土) 20:44:50オレは2項演算子の両脇を詰めるのが自分のスタイルだと言ってるだけで、
まともとかとかそういう話はしてない。
仕事でコーディング規約でそうあるならそれに従うが、
そうでない以上、こんなのは好みの差にすぎない。ギャーギャー騒ぐことではない。
つーか、「まともな人」とか笑わせんなよ。
論理的な理由も示せず、感覚的にキモイって理由で
批判するなんて、まともな人間のすることじゃない。
0278デフォルトの名無しさん
2006/03/11(土) 20:44:57nnnesterJは元が*nix系の書き方なのに、
途中で変数名がM$お得意のb〜とか、i〜とか入ってきて
ヘタとかじゃなく非常識極まりないものになってる。
こんな状態になると、演算子で詰めるかどうかの議論なんてアホらしくなってくる。
0279デフォルトの名無しさん
2006/03/11(土) 20:47:23なるべく一緒に仕事をしたくない類の人間だな。
0280デフォルトの名無しさん
2006/03/11(土) 20:48:42コーディングスタイル以前に、まともな知識付けた方がいいのでは?
0281デフォルトの名無しさん
2006/03/11(土) 20:54:09延々とファビョってるのって213だろ
これだから腐女子は嫌なんだ
0282デフォルトの名無しさん
2006/03/11(土) 20:56:03お前の意見って、全部根拠ナシのただの主観だよなぁ。
そういう意見つて、そっくりそのまま逆に言い替えれるんだよなぁ。
空白があろうがなかろうがどうでもいい人って、けっこう多いっていうか、
まともな人は、ほぼ全員どうでもいいなぁって思うんじゃない?
こんな空白無いと「へただなぁ、素人っぽいなあって思う」人をへただなぁ、素人っぽいなあって思うんじゃない?
0283デフォルトの名無しさん
2006/03/11(土) 20:56:260284デフォルトの名無しさん
2006/03/11(土) 20:57:47書き込みせずにいられない人のほうがアレなんじゃないの?
0285デフォルトの名無しさん
2006/03/11(土) 20:59:13詰めて書く派はいないんだろ。
あとは何が何でもあけないと気がすまない派という痛い存在が
いるかどうかでないの。
そこんとこどうなの?
0286デフォルトの名無しさん
2006/03/11(土) 20:59:52いや、世間でそれなりに評価される本とか、プロダクツのコードで、
二項演算子の両脇を詰めてかいてるのってある?
0287デフォルトの名無しさん
2006/03/11(土) 21:03:11>>276
> n = n + m;
0288デフォルトの名無しさん
2006/03/11(土) 21:10:24今見てる、「Perlクックブック」は、
大体においてPerlのガイドラインの通り、演算子は空けているが、
空けていないところもある。
ま、重箱の隅をつつくなってことじゃね?
0289デフォルトの名無しさん
2006/03/11(土) 21:11:22>>266
まぁいいか。手元にあったオープンソース見てみた。
例えばこれは演算子の空白の数はアバウトな感じだけど。
http://www.codercorner.com/Opcode.htm
お前がなんて言いそうか大体想像つくなぁ。
0290デフォルトの名無しさん
2006/03/11(土) 21:16:15実に禿げな議論だ
0291デフォルトの名無しさん
2006/03/11(土) 21:23:160292デフォルトの名無しさん
2006/03/11(土) 21:24:55だからさ、読み辛いのは、それを読んでるオノレの問題だろ?
少なくともオレの問題じゃない。
オレはカラーで表示されるエディタで見てるから何の問題もないんだからさ。
オノレが読みづらいならそれは自分で解決すべき問題だ。
なんで責任感が無いなんてわけの判らん発言になるんだ?
0293デフォルトの名無しさん
2006/03/11(土) 21:31:03ああ、それは知らなかった。
0294デフォルトの名無しさん
2006/03/11(土) 21:31:56どっちかが妥協しないとな。
0295デフォルトの名無しさん
2006/03/11(土) 21:32:56ほんとに読み辛いと思うのは
http://pc8.2ch.net/test/read.cgi/tech/1141740363/35
この35からの質問者のような 書き方だ。
>
ある角度αで回転した四角形があります
左上角を(x,y)とします
上辺の中心を(x',y')とします
この中心をドラッグし移動するとマウスと上辺は交差する位置を維持します
下辺2点は固定です
この時いまマウスがいる座標を(x'',y'')とします
この座標と交差する上辺の左角の座標を求める計算式を提示してください
-----------------------------
言葉が足りない上、交差する位置 とか謎言葉がちりばめられた文章
まあでも、お客様からの文章からは、こんなものは序の口。
そっから真意を探り出してくるんだぞ。
演算子の左右に空白が無いとかで読み辛いとか、ホント笑っちゃうよ
0296デフォルトの名無しさん
2006/03/11(土) 21:37:02a*b + c*d
だよなぁ。
0297デフォルトの名無しさん
2006/03/11(土) 21:38:06演算子の両側のスペースなんて、その手の宗教論争とは違うだろよ。
「変数名は内容を表すようにつける」とか「サブルーチンは適切な単位に分ける」とか、
そういうレベルの話。
0298デフォルトの名無しさん
2006/03/11(土) 21:40:44スタイルなんかより設計が全てだな
一貫してるMFCやATLの読みにくいこと。
0299デフォルトの名無しさん
2006/03/11(土) 21:41:00そうだね。 演算子の両側のスペースなんて
「変数名は内容を表すようにつける」とか「サブルーチンは適切な単位に分ける」とか、
そういうレベルの話とは全く違って、全く意味の無い話だ。
演算子の両側にスペース入れるのは簡単なプログラムを作れば自動で出来るが
前者2つを自動でやるのは、現時点では不可能だし
それが出来るならプログラマなんて不要になってるだろう
0300デフォルトの名無しさん
2006/03/11(土) 21:41:410301デフォルトの名無しさん
2006/03/11(土) 21:42:43ツールで完全に自動でどうとでもなるものを、それらと同列に?マジかよ。
0302デフォルトの名無しさん
2006/03/11(土) 21:47:10プログラミングというのは >>295のような曖昧かつ漠然としたところから
「内容を適切な単位に分けて明確にしてそれに名前をつける」
という作業をする事であって
少なくとも、演算子の両端に空白を入れる事に必死になる事じゃないんだよ
0303デフォルトの名無しさん
2006/03/11(土) 21:47:46かってに整形すればいいって言ってるのと同じ思考なんだろうか。。。
0304デフォルトの名無しさん
2006/03/11(土) 21:48:56反論があるんなら、モゴモゴ言わずに、ちゃんと意見を言え。
ちんちん付いてるんだろ? しゃぶるぞ!
0305デフォルトの名無しさん
2006/03/11(土) 21:49:12> 少なくとも、演算子の両端に空白を入れる事に必死になる事じゃないんだよ
必死になってやるんじゃなくて、とくに意識しなくても当たり前にやるんだよな。
0306デフォルトの名無しさん
2006/03/11(土) 21:51:32読みやすいコードを書くように意識しろよ。
0307デフォルトの名無しさん
2006/03/11(土) 21:52:190308デフォルトの名無しさん
2006/03/11(土) 21:53:56逆もまたしかり。
0309デフォルトの名無しさん
2006/03/11(土) 21:59:000310デフォルトの名無しさん
2006/03/11(土) 21:59:33何が何でもあけないと気がすまない派
と
どうでもいい・気にしてない派
だけどな
0311デフォルトの名無しさん
2006/03/11(土) 22:01:280312デフォルトの名無しさん
2006/03/11(土) 22:01:55あなたが意識しなくても入れるというのはあなたの問題。
あなたが人のコードで空白を入れてないのがダメってのもあなたの問題。
そのコードを見て 下手だなと思うのもあなたの問題。
自分の問題をさも他人の問題のようにいわないでくれ
0313デフォルトの名無しさん
2006/03/11(土) 22:03:53ちがうでしょ
そういう対比じゃなくて、
何が何でもあけないとダメだとか、責任感が無いとか
それは違うでしょと。
0314デフォルトの名無しさん
2006/03/11(土) 22:04:03もっともっと少ないんじゃないの? (まともなのでは)
0315デフォルトの名無しさん
2006/03/11(土) 22:09:41・適度にあける。
・何が何でもくっつける。
・どうでもいい。
0316デフォルトの名無しさん
2006/03/11(土) 22:11:29x %= 8; でも x&=(8-1); でもいいけど x&=7; はチョッと嫌だなとか
10回のループを表現するのに
for(i=0;i<10;i++) ..... でも
for(i=01i<=10;i++) ..... でも いいけど
for( i = 0 ;i <= 9 ; i++ ) ..... はちょっとダメだとかは思うけど
空白が入ってる、入ってないが価値基準ってのはどうかと思うけどね
0317デフォルトの名無しさん
2006/03/11(土) 22:15:320318デフォルトの名無しさん
2006/03/11(土) 22:16:17#define _DIM 3 とかヘッダで定義して
for(i=0 ; i < _DIM;i++)... とか書くの 2とか4にする場合があるなら別だけど
for(i=0 ; i < 3 ; i++)... と 数字の3書いた方が何倍も読み易いのに
0319デフォルトの名無しさん
2006/03/11(土) 22:17:39このプログラムについてprintf下3つが理解できないので、どのような動きを
しているのか、解説をして頂きたいのですが、お願いします。
#include <stdio.h>
char *c[]={
"ENTER",
"NEW",
"POINT",
"FIRST"
};
char **cp[]={c+3,c+2,c+1,c};
char ***cpp=cp;
main()
{
printf("%s",**++cpp);
printf("%s ",*--*++cpp+3);
printf("%s",*cpp[-2]+3);
printf("%s\n",cpp[-1][-1]+1);
}
出力 POINTER STEW
0320デフォルトの名無しさん
2006/03/11(土) 22:20:48ヘタ以前に人格を疑うな…。
つーか、ポインタの宿題じゃねーの?
0321デフォルトの名無しさん
2006/03/11(土) 22:21:36> for(i=01;i<=10;i++) ..... でも いいけど
唐突に8進数でてくるのはどうかと
0322デフォルトの名無しさん
2006/03/11(土) 22:24:24ホント色別けしてくれるエディタは有難いね。 昔は2桁の8進数を間違って使ってなかなか気付かなかった
0323デフォルトの名無しさん
2006/03/11(土) 22:32:05else 節が多いと、なんか主張が弱いというか視点のハッキリしていない人の意見を聞いてるようでイライラする
あと、条件判断で && || を同じ行で使うのも、なんか下手っぽい
if( XXX && XXXX) 使うなら
if(XXX )
if(XXXX) と書く方がいい。 実際、 && || は良く間違って使われてる。
0324デフォルトの名無しさん
2006/03/11(土) 22:36:55> 10回のループを表現するのに
その三つの例は全部ダメだろ。やざとやってんのか?
0325デフォルトの名無しさん
2006/03/11(土) 22:38:42if( XXX && XXXX){
} else {
}
こう書きたいときは二段ifにするわけにはいかない。
>&& || は良く間違って使われてる
あまりにレベルが低いのを引き合いに出されてもな。
ああ、そういうスレか
0326デフォルトの名無しさん
2006/03/11(土) 22:40:090327デフォルトの名無しさん
2006/03/11(土) 22:41:01空白の有無よりも数値の意味を明確するほうが大事だと言いたいのかもしれんが、
統一されてないのはやっぱり問題だと思う。
特に ; の前後の空白が全く統一性がないのがあれだな。
プログラムでも英語の文法に従うとするなら、
句読点の前には空白を入れず後ろには空白を1つ入れることになる。
0328デフォルトの名無しさん
2006/03/11(土) 22:43:01だからそれ1個だけならいいよ。
一つの手続き内に そんなのが沢山あるとか
ダラダラ 入れ子にして るコードとか
それからチャンスがあるなら 他人のコードで バグ取りをする時は、 && || を使ってるとまず疑うといいよ
0329デフォルトの名無しさん
2006/03/11(土) 22:45:13&&はifをネストすればいいけど、||はどうしてるの?
0330デフォルトの名無しさん
2006/03/11(土) 22:45:35>>327 統一しないとダメな人は、自分でツールに通せばいいじゃない。
そんなの変換するの一瞬でしょ? そんなことに時間を使うのは勿体ないよ
0331デフォルトの名無しさん
2006/03/11(土) 22:47:36スタイル統一するのに、時間かかっちゃう人なのか。
■ このスレッドは過去ログ倉庫に格納されています