[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/31 00:34 / Filesize : 180 KB / Number-of Response : 913
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

イラッつとするコーディングスタイル



1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる

そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド

852 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:38:10.07 ]
>>840
if(1==a)
for(i=0;10>i;++i)
はありだな。定数が左に来ないと
比較演算子が画面右に寄って見づらい

853 名前:仕様書無しさん mailto:sage [2012/05/28(月) 21:50:05.01 ]
結局>>840はどういう意味なんでしょうか?
Cはやったことが無いのでまったく意味がわかりません
誰か教えてください。

854 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:00:25.08 ]
Cの配列はポインタみたいなものだっけ
もう五年くらい触ってないから忘れた

855 名前:仕様書無しさん mailto:sage [2012/05/28(月) 22:03:06.42 ]
>>852
10>iはちょっといやじゃね?
数学の書き方からの借用でi<10が世界標準なきがする

856 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:18:07.63 ]
>>853
>>855

857 名前:仕様書無しさん mailto:sage [2012/05/28(月) 23:53:36.86 ]
>>853
通常、a(変数)==1(定数)って書く条件式を逆に記述してるから、他も入れ替えて記述したった!って事よ。

858 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:05:01.58 ]
バカじゃないなら=を書き忘れた時の対策になる書き方の癖を付ける前に
=を書き忘れない癖を付けるもんなw

859 名前:仕様書無しさん mailto:sage [2012/05/29(火) 03:08:17.86 ]
フェイルセーフ

860 名前:仕様書無しさん mailto:sage [2012/05/29(火) 04:51:14.73 ]
癖の問題じゃねえよどう考えても



861 名前:仕様書無しさん mailto:sage [2012/05/29(火) 05:48:59.62 ]
int arr[]={
  1
  ,2
  ,3
  ,4
  ,5
};
という最高にメンテしやすい表記編み出したんだけど使っていい?

862 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:32:50.37 ]
>>857
左に変数書くのは常識でも何でもないのに身勝手極まりない話だよ
寧ろ左に定数置く方が多数派だろうに。

if( S_OK == Xxxx() )
オプソや、MS、Oracleなんかのサンプルコードじゃ大概
こんな風に左定数。

863 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:34:03.20 ]
>>857
>i[dst]=i[src];
この部分は動くんですか?

864 名前:仕様書無しさん mailto:sage [2012/05/29(火) 06:44:33.06 ]
>>863
*( i + dst ) = *( i + src );

865 名前:仕様書無しさん mailto:sage [2012/05/29(火) 08:14:25.89 ]
言語実装上の間抜けな穴と認識している
動作が同一だからといって文法に基づく意味が同じとはいえない

866 名前:仕様書無しさん mailto:sage [2012/05/29(火) 12:40:39.34 ]
>>858
一つの言語しか使えない土方はそうかもしれんが、
たいていのプログラマは複数の言語を使うわけよ
等号が = な言語で仕事しているときに、ちょっとデバグでC++のソースを触ったりすると、
間違えることもあるのだよ

867 名前:仕様書無しさん mailto:sage [2012/05/29(火) 13:06:33.50 ]
まともなプログラマなら「運が良ければエラーになる」ようなものに頼らない。

868 名前:仕様書無しさん mailto:sage [2012/05/29(火) 14:57:58.26 ]
逆にSQLとか書いてると==でエラー吐かれてずっと悩む時があるもんな…

869 名前:仕様書無しさん mailto:sage [2012/05/29(火) 16:41:24.05 ]
ねーよ

870 名前:仕様書無しさん [2012/05/29(火) 18:19:43.91 ]
>>863
自分で試さない奴がいちばんイラッつとする。



871 名前:仕様書無しさん [2012/05/29(火) 19:43:14.85 ]
int a = 0 ;
int b = 0 ;
scanf("%d %d" , &a , &b ) ;
a ^= b ^= a ^= b ;
printf(" a = %d \nb= %d\n" ,a , b ) ;

みたいな感じで、一行スワップ書いたら怒られた

872 名前:仕様書無しさん mailto:sage [2012/05/29(火) 19:53:53.57 ]
怒られたのはたぶん scanf() なんて使ってるから

873 名前:仕様書無しさん [2012/05/29(火) 20:11:27.21 ]
scanfって一度の使ったことない

874 名前:仕様書無しさん [2012/05/29(火) 20:38:37.38 ]
>>872
>>873
いや、実際にscanf使ったわけじゃないから。

875 名前:仕様書無しさん mailto:sage [2012/05/29(火) 21:54:21.53 ]
>>872
何でだよ
scanfのパターンマッチが理解出来てねぇだろお前

876 名前:仕様書無しさん mailto:sage [2012/05/29(火) 22:07:31.87 ]
aとbが同じ値のときのこと考えてないから怒られたらんじゃね?

877 名前:仕様書無しさん [2012/05/29(火) 23:15:03.81 ]
>>871
自己満のトリッキーコード書く奴は怒られて当然
どうしてもそれがやりたきゃせめてマクロ化だろ

878 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:20:00.07 ]
>>871はそれ書いて何がしたかったの?
格好つけたかったのか?

879 名前:仕様書無しさん mailto:sage [2012/05/29(火) 23:27:30.27 ]
入力にscanfを使っても何も感じない馬鹿が1名いるな
特有の臭さがあるんでこいつのレスはすぐ分かる

880 名前:仕様書無しさん mailto:sage [2012/05/30(水) 01:19:50.06 ]
やっぱsscanf_sくらいは使って欲しいよな!



881 名前:仕様書無しさん mailto:sage [2012/05/30(水) 04:12:19.10 ]
sscanfなんざ使うよりscanfの方が安全だし、
文字の取りこぼしも少ない
実際scanfを使うことは少ないが、
一時ファイルなんかを対象にfscanfを
使うことは多い

882 名前:仕様書無しさん mailto:sage [2012/05/30(水) 06:17:59.87 ]
まあたまにやりたくなるよな
地獄のミサワ

「ふ〜ん、このトリッキーコード、3年位前に俺も思いついたわ〜」とか

883 名前:仕様書無しさん mailto:sage [2012/05/30(水) 07:01:00.94 ]
sprintf(buf,…);
int len=strlen(buf);

884 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:43:58.62 ]
>>881
ひょっとしてギャg(ry

885 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:44:55.03 ]
>>866
ない。

886 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:45:33.57 ]
>>862
ひょっとしてギャg(ry

887 名前:仕様書無しさん mailto:sage [2012/05/30(水) 10:47:55.32 ]
>>861
前職場の同僚にいたなあ>先カンマ
今のC/C++だと後カンマで書けと言わんばかりの仕様なんだが

888 名前:仕様書無しさん mailto:sage [2012/05/30(水) 15:59:23.52 ]
アホみたいにステップ数を稼ごうとするのはコボラー時代からの悪習

889 名前:仕様書無しさん mailto:sage [2012/05/30(水) 17:46:05.44 ]
前に見たC++のコードで

while(1) {
int Hoge = Hage();
if (Hogeの判定) {
goto Label;
}
break;
}


Lablel: :

ってのがあったんだけど、エラー処理にgoto使っているせいで変数宣言に
いちいちエラーが出るのを回避するためににやっていたみたい。
よくまあ思いつくなぁwwwと思ったんだが、ちょっとイラッつとした。


890 名前:889 mailto:sage [2012/05/30(水) 17:48:27.06 ]
× Lablel
○ Label




891 名前:仕様書無しさん mailto:sage [2012/05/30(水) 18:20:27.23 ]
>>889
longjumpだっけ?
関数越えのgoto
それしないだけマシだと思う。

892 名前:仕様書無しさん mailto:sage [2012/05/30(水) 19:34:40.78 ]
>>886
は?scanfの使い方も知らん素人が
マ板なんか来るなよ

893 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:00:39.11 ]
>>892
背伸びしてレスしても恥かくだけだよ
fscanfとsscanfは稀に使うことはあるが、scanfを使うことはまずない

894 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:03:28.25 ]
>>893
fscanfの話してたんだけど
つかレス番まちがえた >>884 だったな紛らわしい

895 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:05:56.45 ]
try/finallyやまともな一行入力ライブラリが
標準でついてない糞言語にイラッと来る

896 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:25.16 ]
>>887
長いSQL書いてたときは間カンマ(カンマで1行とる)にしてたなぁ。
あとSQLだと、

WHERE 1=1
AND a=hoge
AND b=hage
...

なんてのも。

897 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:21:26.50 ]
>>886
事実ですが
msdn.microsoft.com/ja-jp/library/cc305629.aspx

898 名前:仕様書無しさん mailto:sage [2012/05/30(水) 20:23:08.56 ]
WHERE
  1 = 1
 AND
  a = hoge
 AND
  b = hage

899 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:03:52.60 ]
>>897
これは?
msdn.microsoft.com/en-us/library/windows/desktop/ms724426%28v=vs.85%29.aspx

900 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:06:58.12 ]
全体として少数派



901 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:08:52.98 ]
てっきりコピペしてそのまま使わせないためにそうしてるものかと思っていた時期が私にも

902 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:49:22.51 ]
>>897
そもそもネストが深すぎだろw

903 名前:仕様書無しさん mailto:sage [2012/05/30(水) 21:59:51.00 ]
サンプルなんて盲信するなよ

904 名前:仕様書無しさん mailto:sage [2012/05/30(水) 22:40:23.90 ]
どこぞの教科書やサンプル通りに右に定数書くヤツは
条件分岐で何を一番に見るか考えてない


905 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:30:29.43 ]
>>904
$ tar xfJ linux-3.4.tar.xz
$ cd linux-3.4/
$ find . -name '*.c' | xargs pcregrep '==\s*[A-Z0-9_]+' | wc -l
127939
$ find . -name '*.c' | xargs pcregrep '[A-Z0-9_]+\s*==' | wc -l
6971

フム・・・・
定数が右ばかりにあるLinuxは危険だ。
今すぐインターネットから切断した方がいい。


906 名前:仕様書無しさん mailto:sage [2012/05/30(水) 23:34:56.89 ]
定数というより式であるモノを持って来てドヤ顔
しかも何が問題か解ってないという

907 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:03:00.58 ]
そもそも「定数を左に置く」なんてC/C++のバッドノウハウであって、
警告レベルを上げたり静的解析ツールかませば一発で解決すること
まぁ、C/C++はともかくとして、それをC#やJava等の他言語で実践している奴にはマジでイラッとくる

908 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:10:14.91 ]
なんてこった読みやすくて素晴らしいGNUスタイルは定数を右に置くのか
しかし、定数だけGNUスタイルに合わせるのは問題だな
改行もインデントも至高のGNUスタイルにあわせなきゃっ!

909 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:12:53.26 ]
未だ定数を左に置くのはエラー出すためだけだと思ってるヤツが居るんだな()

910 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:17:41.38 ]
>>909
他に何があるっていうんだい?



911 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:20:34.98 ]
定数を右に書くヤツは数個前のレスすら読めないそうだ

912 名前:仕様書無しさん mailto:sage [2012/05/31(木) 00:27:53.74 ]
while( GetMessage( &message, 0, 0 ) > 0 )
読みづらいっつうの






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef