- 1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
- 文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド
- 594 名前:仕様書無しさん [2012/04/29(日) 01:37:33.40 ]
- 日本語として正しいテキストのやり取りでこれだけ揉めてるんだから、
言語としての正しさは、意思疎通の効率化の一要素でしかないってのを 自ら証明してる罠
- 595 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:37:58.64 ]
- >>594
日本語でおk?
- 596 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:40:09.09 ]
- >>595
日本語の議論でもこれだけ揉めるのだから、やはりプログラムは奥深くて楽しい。
- 597 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:40:59.74 ]
- What's your point?”
- 598 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:48:55.76 ]
- 何か伸びてると思ったら、何の話してんの?
- 599 名前:仕様書無しさん mailto:sage [2012/04/29(日) 03:27:22.81 ]
- 毎年この時期は色々とアレな人が湧くなあ、というお話。
- 600 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:25:20.32 ]
- ↑ここまでイラッとするレススタイルの話
↓ここからイラッとするコーディングスタイルの話
- 601 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:27:33.91 ]
- 終了
- 602 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:30:53.97 ]
- >>598
理系のボクにはよくわからないお話。
- 603 名前:仕様書無しさん mailto:sage [2012/04/29(日) 05:32:15.06 ]
- >>602
理系とか関係なく 単にあなたがお馬鹿であるだけ。
- 604 名前:仕様書無しさん mailto:sage [2012/04/29(日) 18:30:27.78 ]
- 三項演算ってのがあってだな・・・
- 605 名前:仕様書無しさん mailto:sage [2012/04/29(日) 18:31:41.69 ]
- それで?
- 606 名前:仕様書無しさん mailto:sage [2012/04/30(月) 11:28:44.34 ]
- ハンガリアン記法を使うなら使うで統一してればまだいいが、
ハンガリアンな変数名とそうでない変数名が混在しているソースコードはバカだと思う。
- 607 名前:仕様書無しさん mailto:sage [2012/04/30(月) 14:32:32.64 ]
- b p m_ g_ だけ付けてる。
- 608 名前:仕様書無しさん mailto:sage [2012/04/30(月) 14:57:12.58 ]
- それはハンガリアンではない
- 609 名前:仕様書無しさん mailto:sage [2012/04/30(月) 15:26:03.24 ]
- >>606
ハンガリアン記法で統一されていても、記法が実態と合っていないと、 もっとイラッつとする。不具合修正後にたまに見かけるんだが……。
- 610 名前:仕様書無しさん mailto:sage [2012/05/01(火) 04:35:45.89 ]
- システムハンガリアンをコーディング規約に盛り込む連中は漏れなく無能。
- 611 名前:仕様書無しさん mailto:sage [2012/05/01(火) 09:48:20.21 ]
- プログラムのお勉強的な意味でどうしてこんな事が必要だったのかを
若手に学習させるためにシステムハンガリアンは割りと良いんだよなw
- 612 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:26:21.50 ]
- システムハンガリアン使ってるヤツは、ハンガリアン使うときどうするんだ?
例えば、↓とかどう修飾してる? ptX; // ポイント単位のX軸 cmX; // センチメートル単位のX軸 dbY; // デシベル単位のY軸
- 613 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:35:03.26 ]
- fPtX
nCmX dDbY
- 614 名前:仕様書無しさん mailto:sage [2012/05/01(火) 13:42:21.92 ]
- イラッとするな
- 615 名前:仕様書無しさん mailto:sage [2012/05/01(火) 14:30:32.62 ]
- 他人のコーディングスタイルは常にイラッつとするものなんだよ
- 616 名前:仕様書無しさん mailto:sage [2012/05/02(水) 21:39:30.85 ]
- なにがハンガリアンだよハムスターかよ!
俺はローマ字で変数を使うからな!
- 617 名前:仕様書無しさん mailto:sage [2012/05/02(水) 22:13:12.04 ]
- だったら日本語でかきゃいいのに
最近のコンパイラーは日本語使えるんだぞ #define 整数 int #define 無 void #define 本体 main #define 戻す return 整数 本体(無) { 整数 値 = 0; 戻す 値; }
- 618 名前:仕様書無しさん mailto:sage [2012/05/02(水) 23:35:31.92 ]
- キモイwww
- 619 名前:仕様書無しさん mailto:sage [2012/05/03(木) 00:05:17.09 ]
- そうか?
英語で命名しても認識する時は日本語だからそんなに気にならないけど。
- 620 名前:仕様書無しさん mailto:sage [2012/05/03(木) 03:58:47.27 ]
- なでしこ思い出した
- 621 名前:仕様書無しさん mailto:sage [2012/05/03(木) 04:01:24.82 ]
- ひまわりでやれ
- 622 名前:仕様書無しさん mailto:sage [2012/05/03(木) 04:29:44.89 ]
- >>617
マクロの謝った使用法の中でも最悪だなこれ。
- 623 名前:仕様書無しさん mailto:sage [2012/05/03(木) 05:00:42.74 ]
- 変数名に$aとか$bとかマジ勘弁
- 624 名前:仕様書無しさん mailto:sage [2012/05/03(木) 05:13:27.17 ]
- >>623
VMS「…(´・ω・`)」
- 625 名前:仕様書無しさん mailto:sage [2012/05/03(木) 10:37:35.39 ]
- >>623
でも $i は良いんでしょ?
- 626 名前:仕様書無しさん mailto:sage [2012/05/04(金) 13:03:50.07 ]
- $iiiまでは許してくれ。
- 627 名前:仕様書無しさん mailto:sage [2012/05/05(土) 04:07:53.59 ]
- $とか通るのかよ。アセンブラでおかしくなるだろ?
- 628 名前:仕様書無しさん mailto:sage [2012/05/05(土) 06:16:15.35 ]
- phpならきっと・・・
- 629 名前:仕様書無しさん mailto:sage [2012/05/05(土) 19:21:20.26 ]
- むしろPHPでは$つけわすれるのがエラーの筆頭だろ
- 630 名前:仕様書無しさん mailto:sage [2012/05/05(土) 23:03:56.89 ]
- Perlも?
- 631 名前:仕様書無しさん mailto:sage [2012/05/07(月) 03:22:45.46 ]
- Perlは頭に何付けるか考えなきゃいけないから
他の言語を直前までやってたときに新規でソースファイル起こしたときの最初の数分だけかな忘れるのは
- 632 名前:仕様書無しさん mailto:sage [2012/05/07(月) 03:52:46.25 ]
- #define ZERO 0
#define ONE 1 #define TWO 2 … #define ELEVEN 11 驚愕したそして 12以降は普通に使われていた 俺は泣いた
- 633 名前:仕様書無しさん mailto:sage [2012/05/07(月) 07:09:08.37 ]
- よくあるコード改善本の指摘に「できるだけマクロを使うな(コンパイラを働かせろ)」というのがあるけれど
実際どれくらいメリットがあるのだろう・・・?
- 634 名前:仕様書無しさん mailto:sage [2012/05/07(月) 19:42:52.59 ]
- 「マクロを使わない=コンパイラを働かせる」
の意味がわかんないんで教えて
- 635 名前:仕様書無しさん mailto:sage [2012/05/07(月) 20:36:38.67 ]
- Cの本読めば最初の章に出てくるだろ
マクロの部分を処理するのは、コンパイラではなくプリプロセッサ (気を利かせることができて賢い)コンパイラを使え = (単純で馬鹿な)プリプロセッサを使うな
- 636 名前:仕様書無しさん mailto:sage [2012/05/07(月) 21:30:39.56 ]
- てか、マクロを多用するコードの方がコンパイラの仕事が増えるような気が。
- 637 名前:仕様書無しさん mailto:sage [2012/05/07(月) 21:34:21.83 ]
- 一緒だと思う。
- 638 名前:仕様書無しさん mailto:sage [2012/05/07(月) 22:28:35.51 ]
- マクロ展開した後のソースがどんだけデカくなるのか見たことないのかよ!
コンパイラさん凄い頑張ってんぞ!
- 639 名前:仕様書無しさん mailto:sage [2012/05/07(月) 23:53:37.14 ]
- >>633
知らない方がいいよ。それを知ったとき、おまえは地獄にいる。
- 640 名前:仕様書無しさん mailto:sage [2012/05/07(月) 23:56:57.94 ]
- >>636
ようは、コンパイラをプログラマの道具として使えってことだよ。 コンパイラが分かる形にしておくと、 コンパイルした時にミスを色々教えてくれる。 静的型付け言語ならではの、コンパイラを使った 快適プログラミングテクニックが生かせる。
- 641 名前:仕様書無しさん mailto:sage [2012/05/08(火) 10:40:28.54 ]
- プリプロセッサを働かせずにコンパイラを働かせろということだと思うが、
コードの肥大を防ぐのが目的なのかなんなのか
- 642 名前:仕様書無しさん mailto:sage [2012/05/08(火) 10:47:16.38 ]
- マクロは基本的に定数定義とか、移植性の向上のために使ってるな。
- 643 名前:仕様書無しさん mailto:sage [2012/05/08(火) 12:20:14.89 ]
- マクロ禁止って暗にCをディスってるような気がする。
C++かC#陣営の策略に違いない。
- 644 名前:仕様書無しさん mailto:sage [2012/05/08(火) 16:18:08.66 ]
- コメントは40カラム目から
- 645 名前:仕様書無しさん mailto:sage [2012/05/08(火) 17:30:22.51 ]
- >>644
うわ、それ強制されたことあるわ
- 646 名前:仕様書無しさん mailto:sage [2012/05/09(水) 07:53:56.36 ]
- switchには必ずdefaultをつけるべし
ifには必ずelseをつけるべし
- 647 名前:仕様書無しさん mailto:sage [2012/05/09(水) 08:32:49.88 ]
- それ嫌いだわぁ
else書いといて中身無しとか せめてプログラミング作法くらいは皆読んで欲しいところだ
- 648 名前:仕様書無しさん mailto:sage [2012/05/09(水) 11:01:52.47 ]
- switch () {
default: ; } これはあり。というか、俺はいつもそうやってる。 defaultの考慮漏れはしていないし、defaultではやることないよという表明。 > ifには必ずelseをつけるべし これはあまり見たこと無いな。 「if〜else if〜には必ずelseをつけるべし」なら、見たことあるし、俺も実践してる。 switchのdefaultと同じ理由。
- 649 名前:仕様書無しさん mailto:sage [2012/05/09(水) 11:27:41.36 ]
- たまに頭が回らん時とか、if文の条件が書きづらい時とか
if( !(条件) ){ 処理 } ってしないで if( 条件 ){}else{ 処理 } って書くのも他人から見たらイラッつとさせてるんだろうなと思った。
- 650 名前:仕様書無しさん mailto:sage [2012/05/09(水) 21:39:26.50 ]
- >>633
1.オーバーロード可能になる 2.using宣言、もしくは名前空間の別名で短い名前が使える この2点だけでも結構楽になる。
- 651 名前:仕様書無しさん mailto:sage [2012/05/09(水) 23:27:06.14 ]
- リポジトリからソースを落とすとThumbs.dbがついて来た。
システムに必要なファイルだろうから消すなだと。
- 652 名前:仕様書無しさん mailto:sage [2012/05/10(木) 22:36:52.26 ]
- >>649
何もやることないよ というより 書き忘れたのかと思ってしまう。
- 653 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:07:09.59 ]
- >>648
> defaultの考慮漏れはしていないし、defaultではやることないよという表明。 オレだったら、それはコメントに記述するなあ
- 654 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:34:49.93 ]
- そういえば以前の上司がどうしても『defaultは最後に書け』と言ってゆずらなかったな。
- 655 名前:仕様書無しさん mailto:sage [2012/05/11(金) 00:56:41.06 ]
- デフォルトに出会った時点で分岐終了するウンココンパイラなかったっけ
- 656 名前:仕様書無しさん mailto:sage [2012/05/11(金) 01:16:38.05 ]
- 名付けて、運コンパイラ
- 657 名前:仕様書無しさん mailto:sage [2012/05/11(金) 14:08:06.49 ]
- >>653
defaultが無いとwarning出す静的解析ツールとかありがちなんで、俺はコードで書く。
- 658 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:24:17.65 ]
- >>653
俺はdefaultに assert(false) を入れとくなあ。 ミスの検出にも役立つし。
- 659 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:28:42.09 ]
- そこに
assert(false); // 来ないはず とか書いてあるソースは見た事ある。 来ないはずの所に来るバグがあるって事なんだろうな、と思った。
- 660 名前:仕様書無しさん mailto:sage [2012/05/11(金) 17:54:19.52 ]
- >>658
いや、来ないのでは無くて、来ることもあるが処理は無しよ、って意味なんだけど。 来ないはずならエラー処理入れるわ。
- 661 名前:仕様書無しさん mailto:sage [2012/05/11(金) 21:13:10.20 ]
- いいこと考えた
assert(true); // 入れとけばいいんじゃねw
- 662 名前:仕様書無しさん mailto:sage [2012/05/12(土) 00:02:23.15 ]
- 定義増えた場合の取りこぼし対策でASSERTいれるのはアリ
- 663 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:08:02.61 ]
- でふぉるとさんはどんな条件にも引っ掛からなかったダメな子を許容してくれるお姉さんキャラ
たまに「絶対に書いておけ」と言う参考書がある為に //ここに来る事は無い と言う書き残しをして居る時があるが nullやDBNull判定をすり抜けて来た0や空白さんがたまに来る 初期値はシステムで統一しろ
- 664 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:28:51.61 ]
- ifにelseは必要ない。
なぜなら、条件を満たしているか?という質問をするならば みたいしていない場合が存在するのは明らかだから。 switchに関しては、case一個だけ書くことなんてまずない Aの場合、Bの場合、Cの場合、じゃあそれ以外はどうなるんだ? ということになる。 取りうる値がA、B、Cの三つしかないというのであれば、 Aの場合、Bの場合、それ以外(default)。でいいはず。 defaultがないということは、なにか意味があるということなので それを明記するのが良い。
- 665 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:31:07.25 ]
- >>659
assertionはdefaultだけで使うものではない。 何のためにassertionを使っているかを考えれば分かる。
- 666 名前:仕様書無しさん mailto:sage [2012/05/12(土) 04:52:54.88 ]
- >>664
>ifにelseは必要ない。 お前は何を言っているんだ
- 667 名前:仕様書無しさん mailto:sage [2012/05/12(土) 05:50:36.01 ]
- bool値を返す関数で
bool func(){ if(exp){ return true; }else{ return false; } }
- 668 名前:仕様書無しさん mailto:sage [2012/05/12(土) 05:52:39.62 ]
- 途中で書き込んでしまった。。
bool値を返す関数で bool func(){ if(exp){ return true; }else{ return false; } } って書いてるのがイラッとする。
- 669 名前:仕様書無しさん mailto:sage [2012/05/12(土) 06:49:59.39 ]
- >>666
あれじゃないか○○であるの条件のelseは明示的に書かれていないだけで○○ではないのif文 つまり読みやすいとは別として理解しやすいと言う部分、何がしたいかをはっきりさせたい場合はifを2回書いた方がいい つまりelseは要らない
- 670 名前:仕様書無しさん mailto:sage [2012/05/12(土) 06:55:40.08 ]
- >>669
「それ以外」の条件をいちいち列挙するの?面倒くせえ
- 671 名前:仕様書無しさん mailto:sage [2012/05/12(土) 08:26:14.32 ]
- 面倒くさいだけじゃ済まないぞ
わざわざ別に書いてる位だから、本当は別の条件があるのに記述漏れがあんじゃねーかって疑念が湧くし、 ifに入る条件がより限定されるような修正する際に、 else使うなら一箇所の修正だけで済むものを、使わない場合はelse相当のif文も修正が必要になる どう考えてもバグの誘因になる 言語仕様でelseが無いとか、switchのdefaultが無いならともかく、 言語仕様としてあって、更にそれを使うのに適した場面なら、それを使う方が良いと思う まぁ、全部にelseやdefaultを入れろって縛りはどうかと思うけど
- 672 名前:仕様書無しさん mailto:sage [2012/05/12(土) 09:42:39.16 ]
- >>668
どう書けばいいのでしょう・・・ ご教授していただけると嬉しいです
- 673 名前:仕様書無しさん mailto:sage [2012/05/12(土) 10:23:26.26 ]
- return (bool)exp;
だろ?
- 674 名前:仕様書無しさん mailto:sage [2012/05/12(土) 10:29:07.54 ]
- else書くなって言ってるんだろ
- 675 名前:仕様書無しさん mailto:sage [2012/05/12(土) 13:21:10.78 ]
- gotoは基本的に使用しないこと
ただしエラー処理や多重ループから抜ける場合などは使用した方が見やすくなる ・・・ったく、いつまでクヌースの呪縛に捕らわれてんの? 全面禁止だろ、いまどき
- 676 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:00:43.31 ]
- >>675
全面禁止ってことは、 breakもcontinueもreturnもダメってこと? これらはgotoと同じ事出来るんだけど。
- 677 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:25:20.15 ]
- いや、だからだよ
今の言語はブロック制御に則ったジャンプ命令があるのに いつまでALGOL時代の「goto」という命令に捕らわれてるんだって意味
- 678 名前:仕様書無しさん mailto:sage [2012/05/12(土) 14:34:49.81 ]
- >>675
いつまで構造化プログラミングの呪縛に縛られてるの?
- 679 名前:仕様書無しさん mailto:sage [2012/05/12(土) 15:23:16.21 ]
- >>678
アウフヘーベンするならともかく、goto使うところに戻るんじゃただの退化じゃん。
- 680 名前:仕様書無しさん mailto:sage [2012/05/12(土) 15:47:39.09 ]
- >>677
それらで出来ないことだって有るだろ。
- 681 名前:仕様書無しさん mailto:sage [2012/05/12(土) 16:08:22.41 ]
- >>679
今更gotoがどうとかどっちでもいいじゃん
- 682 名前:仕様書無しさん mailto:sage [2012/05/12(土) 16:55:46.12 ]
- >>673
return (exp) ? true : false; かな でも、おれ、三項演算子好きじゃない こまった・・・
- 683 名前:仕様書無しさん mailto:sage [2012/05/12(土) 17:30:18.41 ]
- 三項演算子を好んで使うやつなんか存在するのか?
- 684 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:02:26.13 ]
- bool func(){
bool result = false if(exp){ result = true; } return result; }
- 685 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:08:45.16 ]
- return exp;
- 686 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:13:32.23 ]
- >>683
エレキ屋あがりが「オブジェクトファイルを開いてみろ!if-elseと比べてこんなにシンプルだぞ!」と しきりに勧めてくるのだが・・・・・実際どうなんだろうと思う
- 687 名前:仕様書無しさん mailto:sage [2012/05/12(土) 18:38:40.32 ]
- 最近カンスト付きの加減算で好んで使ってたりしてる。
無理に使えとは言わないw num = ((num+hoge) > max) ? max : (num+hoge);
- 688 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:08:11.15 ]
- ifが戻り値を返したいって時は
三項演算子使うだろ。 var a; if(exp1) { a = 1; } else if(exp2) { a = 2; } else { a = 3 } var a = (exp1) ? 1 : (exp2) ? 2 : 3; どっちが見やすいかなんて一目瞭然だと思うが?
- 689 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:15:57.08 ]
- >>688
複数の判定がいるならswichかテーブル使ってしまうなぁ
- 690 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:19:05.66 ]
- 三項演算子を使って一行で書ける時はよく使う。
>>688はイラッ
- 691 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:21:21.33 ]
- >>689
switchだって戻り値返せないだろ? var a; switch(exp) { case cond1 : a = 1; break; case cond2 : a = 2; break; default : a = 3; break; } var a = (exp == cond1) ? 1 : (exp == cond2) ? 2 : 3; 値を返すならこっちのほうがシンプル
- 692 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:23:03.00 ]
- 処理を分岐させたいなら
if、switch 条件に応じて値を返したいなら 三項演算子
- 693 名前:仕様書無しさん mailto:sage [2012/05/12(土) 23:42:10.01 ]
- 一番のネックは三項演算子をやたらに憎む奴らが多い事なんだよな
まあ、IFの変わりに使うひとが大量に居たせいだと恨んでるけとw
- 694 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:05:26.98 ]
- 三項演算子くらいラムダ式に比べたらまだまだまだまだ可愛い。
- 695 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:07:43.98 ]
- >>693
関数型言語では三項演算子(風)の記述が主流 三項演算子を嫌うような老害は このあと消える。
- 696 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:09:47.61 ]
- 老害って言葉好きだね。いつまでケツが青いままのつもり?
- 697 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:14:04.30 ]
- >>676
一緒じゃねぇよ全然ちげぇよ。 ダイクストラが提起した問題は、gotoそのものや、ジャンプじゃない。 処理ブロック(forやifといった分岐反復のまとまり)のネストを無視して、 処理ブロックから、処理ブロックに飛べる事が問題なんだ。 なんでgotoがあるのにbreakやcontinueがあるか解ってんのか?
- 698 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:15:36.69 ]
- >>688
3講演子の条件式をカッコでくくってんのがイラっとする
- 699 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:18:57.46 ]
- >>698
カッコがないと見難い
- 700 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:20:09.10 ]
- >>697
ダイクストラが提起した問題は、gotoそのものや、ジャンプじゃない。 処理ブロック(forやifといった分岐反復のまとまり)のネストを無視して、 処理ブロックから、処理ブロックに飛べる事が問題なんだ。 だから、処理ブロックから、処理ブロックに飛ぶようなことをしなければ gotoを使ってもいい
- 701 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:22:12.48 ]
- x = 10 + ( n ? n / 100 : 0 );
こういうことしたいとき、条件にかっこつけやがると x = 10 + ( ( n ) ? n / 100 : 0 ); こんな感じでカッコが二重になんのが非常に見づらい
- 702 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:22:42.49 ]
- >>700
そうだよ
- 703 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:24:24.94 ]
- >>700
だからCにもgotoが残ってる ネストを飛ぶとき警告だすぐらい仕様にいれても よかったとはおもうが
- 704 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:24:46.55 ]
- 当たり前だろw
条件式が変数一つの時に カッコつけるなよw (exp)という書いてある時のexpってのは 変数の意味じゃないだろ。
- 705 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:25:39.55 ]
- >>675
結局お前、否定されたぞw goto全面禁止とかありえないってさ。
- 706 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:29:38.06 ]
- >>703
警告出すのは、ネストの中に入る時だろ? ネストから出るときは、returnなどと一緒なので問題ない。
- 707 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:30:44.82 ]
- >>706
ネストからネストに飛ぶときの話
- 708 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:31:40.42 ]
- IClass a = (state) ? new ClassA() : new ClassB();
みたいに「確実に何か代入されるけど条件によって違う」場合に使うんじゃないかなぁ
- 709 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:32:39.01 ]
- >>704
式だろうと見づれぇよ x = 10 + ( ( n > 0 ) ? n / 100 : 0 ); こっちの方が明らかにすっきりするわ x = 10 + ( n > 0 ? n / 100 : 0 );
- 710 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:37:03.95 ]
- >>708
大抵変数作るのがめんどい時だろ。演算子なんだから。 function( 5 > n ? 1 : 9 ); とか ( max > n ? alpha : beta ).Execute(); みたいな場合。
- 711 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:37:47.22 ]
- x = 10 + n > 0 ? n / 100 : 0 ;
見難い
- 712 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:38:15.20 ]
- >>707
> ネストからネストに飛ぶときの話 ”ネストから” ってのは必須条件?
- 713 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:40:26.30 ]
- x = (n > 0)
? n / 100 + 10 : 10;
- 714 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:42:26.39 ]
- >>710
それはifでやれよ…
- 715 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:45:29.39 ]
- >>712
ネストを1段上げる、ネストを1段下げるなら goto使わんでも出来るし問題にならんだろ
- 716 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:47:09.13 ]
- >>713
そんな書き方すんならifつかえよ
- 717 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:49:00.52 ]
- >>716
「ここで確実にxが変わる」ってわかるじゃないか 「if使え」っていうことはわかんないのか。困ったな
- 718 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:51:14.52 ]
- >>717
カッコつけてブロックでインデントするぐらいならif使えといってんの 見づらいだろ
- 719 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:53:09.54 ]
- x = ((10 + n > 0) ? n / 100 : 0);
みづらい・・・ カッコが好きならいっそ全部くくりゃいいのに x = ((10 + n > 0) ? (n / 100) : (0));
- 720 名前:仕様書無しさん mailto:sage [2012/05/13(日) 00:58:03.94 ]
- >>718
ifだと if (n > 0) { int x = } else { int x = } って書けないじゃん 先にint xって書いても節でxx = って書くかもしれない もちろんコンパイラがワーニング出すけど
- 721 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:00:41.19 ]
- >>714
面倒だろ。特にメンバー関数なんかは、引数2回書くのがだるい。 かといって、オブジェクトをifでポインターに入れて、 そのあとメンバー関数呼び出すのも面倒い。 ( max > n ? alpha : beta ).Execute( arg_first, arg_second, arg_third );
- 722 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:03:46.98 ]
- 他人に見せるか他人のを読むかという前提で
「おれがめんどくさい」っていわれたら もう何も言うことはない
- 723 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:16.78 ]
- >>715
なんの話してるの? gotoで警告出す時の条件の話でしょ。 使わない時の話はしてないよ。
- 724 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:04:32.84 ]
- >>720
んな事はどうでもよくて、カッコつけて見づらい書き方するんなら 三項演算子つかうの止めろと言ってるんだよ
- 725 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:06:01.68 ]
- 条件式や値のコードが極端に長くないなら、
処理を分岐させたいなら if、switch 条件に応じて値を返したいなら 三項演算子 この2つで決めればいいだけだろ。
- 726 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:20.76 ]
- >>724
カッコつけて見やすくする書き方なら 問題ないでしょw
- 727 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:07:59.44 ]
- >>724
変な書き方してたら「何か変なことしてるな」ってわかるじゃん 1行でさらっと流したら絶対見落とすぜ
- 728 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:08:48.84 ]
- >>723
gotoつかってネスト上げたり下げたりするのは、 他の構文と同じだから、警告だすなら ネストからネストに飛ぶ時だけでいいでしょって話。
- 729 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:10:41.61 ]
- >>727
x = n > 0 ? n / 100 + 10 : 10; こうだったら文句いわんよ
- 730 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:12:30.19 ]
- 条件に括弧つけるのはif文の代わりって意味なんじゃないの?
俺ならbool値にも括弧つけるよ (flag)? って
- 731 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:08.44 ]
- 三項式はメンバ変数のコンストラクタ渡しとかで使う
- 732 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:14:12.54 ]
- >>728
だから、”ネストから”ってのは要らないよね? 単に「ネストに入るときだけ」に警告でいいよね? って話。
- 733 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:16:39.41 ]
- >>729
x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : defvalue; こんな感じですか? カッコつけたほうがいいよ。
- 734 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:18:39.26 ]
- x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 nantoka / 100 + defvalue2 : defvalue;
こんな感じですか? カッコつけたほうがいいよ。
- 735 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:19:08.41 ]
- 訂正
x = nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ? nantoka / 100 + defvalue2 : defvalue; こんな感じですか? カッコつけたほうがいいよ。
- 736 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:35.76 ]
- x = (((10 > a) ? a / 4 : 0)>((5 > b) ? b : 0) ? (( c == d) ? 4 : 2 ) : (( e || f ) : 3 : 1 );
- 737 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:20:38.32 ]
- x = (0 < nantoka && nantoka < 100) ? nantoka / 100 + defvalue :
(100 <= nantoka && nantoka < 200) ? nantoka / 100 + defvalue2 : defvalue; こんな感じですか?
- 738 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:21:41.88 ]
- やっぱりカッコ多すぎると分かり辛いな
- 739 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:22:24.89 ]
- >>732
ネストに入るだけなら問題ないって
- 740 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:24:58.07 ]
- >>735
nantoka > 0 && nantoka < 100 ? nantoka / 100 + defvalue : nantoka >=100 && nantoka < 200 ? nantoka / 100 + defvalue2 : defvalue; ?で切ればいいだけだからすぐ解るじゃん カッコあると余計迷う
- 741 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:16.70 ]
- >>736
x = ( (10 > a) ? a / 4 : 0 ) > ( (5 > b) ? b : 0 ) ? ( (c == d) ? 4 : 2 ) : ( (e || f ) ? 3 : 1 );
- 742 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:26:50.03 ]
- >>737
最初と条件違うじゃねぇか。間違えるならカッコつけんなよ。
- 743 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:29:49.62 ]
- x = 10 > a ? a / 4 : 0 > 5 > b ? b : 0 ? c == d ? 4 : 2 : e || f ? 3 : 1;
- 744 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:30:20.32 ]
- >>740
見難い
- 745 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:12.76 ]
- 三項演算って言語によって動作が違うから困る
- 746 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:35:19.87 ]
- >>741
どの部分が条件文なのかが見やすいね。
- 747 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:41:15.20 ]
- 長い三項演算子を一行で書く奴が馬鹿ということでw
- 748 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:49:00.22 ]
- >>741
x = ( 10 > a ? a / 4 : 0 ) > ( 5 > b ? b : 0 ) ? ( c == d ? 4 : 2 ) : ( e || f ? 3 : 1 );
- 749 名前:仕様書無しさん mailto:sage [2012/05/13(日) 01:51:18.27 ]
- ?より左が全部?より右の条件だって知らない人おおいの?
- 750 名前:仕様書無しさん mailto:sage [2012/05/13(日) 02:09:52.04 ]
- >>747
長かったら何行に分けようと莫迦だろう。 あと、副作用のある式が含まれてる場合も。
- 751 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:23:11.54 ]
- >>750
なんで馬鹿じゃなく莫迦と書いた?
- 752 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:31:51.39 ]
- >>750
話しするたびに、無駄に疲れさせるタイプだとみた。 こういうタイプは浅い理解しか出来ないクセに 他人には1を聞いて10を知れみたいな理解を求める人が多い。
- 753 名前:仕様書無しさん mailto:sage [2012/05/13(日) 16:48:25.33 ]
- >>751
別段意味はないよ。 強いていえば、救い様のないレベルであることを 強調したい気持ちが伝わるといいなー、程度。 そこ大事なトコだった?
- 754 名前:仕様書無しさん mailto:sage [2012/05/13(日) 17:10:39.27 ]
- >>753
表現の仕方がイラッとする。 コーディングも同じようにイライラさせてると推測する。 そういう意味で大事なトコ。
- 755 名前:仕様書無しさん mailto:sage [2012/05/13(日) 18:20:24.05 ]
- >>740
commit前にformatter通すというルールがあるところだと、こういう、 改行で複雑な式の区切りを示すってやりかたはできないなぁ。 自然と、長い複雑な式は使わないようになってくる。
- 756 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:17:09.64 ]
- 1行の文字数制限とかアホだよなーと思う。
右のほう見に行かなきゃ見えない部分は、どうせ後から読む奴には重要じゃない情報しか無いから。 全体の流れの把握を助けるために、敢えて長くしてるんだってばよ。 もちろん>>740のようなコトをやってない前提だけど。
- 757 名前:仕様書無しさん mailto:sage [2012/05/13(日) 19:37:53.74 ]
- エディタのフォントサイズを10にしてる
文字はみにくいが、全体が見渡せる。
- 758 名前:757 mailto:sage [2012/05/13(日) 19:48:00.58 ]
- フォントサイズを小さくしてるからカッコがあった方がパッと見わかりやすい
- 759 名前:仕様書無しさん mailto:sage [2012/05/13(日) 20:38:36.97 ]
- >>755
そもそも長い三項目演算子書かなきゃいい 現実はせいぜいこんなもんだろ z = n + ( 0 < x ? y / x : 0 );
- 760 名前:仕様書無しさん mailto:sage [2012/05/13(日) 21:35:42.19 ]
- 「三項演算子の中にベタ書きで処理を入れるな」と
- 761 名前:仕様書無しさん mailto:sage [2012/05/13(日) 22:14:41.06 ]
- 長い行のときだけスペース入れずに書いてあるのはかなりイラッとする
複数行にするよりスペース省いてでも無理やり一行で書いたほうが見やすいと思ってるのか
- 762 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:17:39.06 ]
- 括弧でくくると見やすくなるの法則って、何法則だっけ?
- 763 名前:仕様書無しさん mailto:sage [2012/05/14(月) 18:20:08.27 ]
- プレグナンツの法則
- 764 名前:仕様書無しさん mailto:sage [2012/05/14(月) 19:04:53.78 ]
- C言語のくせに、インデックス指定が1から始まるのは
嫌がらせとしか思えない。
- 765 名前:仕様書無しさん mailto:sage [2012/05/14(月) 23:58:57.22 ]
- 場合によるだろう
month[0] == January, month[1] == February, month[2] == March ……よりも month[1] == January, month[2] == February, month[3] == March ……のほうが直感的だ
- 766 名前:仕様書無しさん mailto:sage [2012/05/15(火) 00:46:28.70 ]
- そういう問題じゃねぇ
下手したらバグの温床になる 0版にはゴミは入るし、 配列の要素数とループカウンターの 上限があわねぇし
- 767 名前:仕様書無しさん mailto:sage [2012/05/15(火) 01:19:55.22 ]
- その理屈だと日付も0日からはじめるべきじゃね?
day[0] == 1, day[1] == 2
- 768 名前:仕様書無しさん mailto:sage [2012/05/15(火) 02:46:24.41 ]
- そんなもん配列にいれんな
じゃダメ?
- 769 名前:仕様書無しさん mailto:sage [2012/05/15(火) 03:04:10.81 ]
- 日付も0からはじめろ
- 770 名前:仕様書無しさん mailto:sage [2012/05/15(火) 04:01:20.32 ]
- 噂の9月0日か…
確か1年を30日が12回ってゲームあったな プログラマにとっては楽そうだなと思った
- 771 名前:仕様書無しさん mailto:sage [2012/05/15(火) 10:41:01.70 ]
- >>770
FF11のことかw
- 772 名前:仕様書無しさん mailto:sage [2012/05/15(火) 12:42:31.47 ]
- カレンダーの仕様がおかしいから変えちまえ!ってことか潔いな
- 773 名前:仕様書無しさん mailto:sage [2012/05/15(火) 13:05:26.93 ]
- Luaの配列のインデックスが1からで結局綺麗に書くの諦めた覚えがある。
- 774 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:23:08.80 ]
- 上に行ったら下から出てくる。
左に行ったら右から出てくる。 こんな世界もプログラマにやさしい。
- 775 名前:仕様書無しさん mailto:sage [2012/05/15(火) 18:54:18.17 ]
- > 左に行ったら右から出てくる。
これはいいんじゃね?
- 776 名前:仕様書無しさん mailto:sage [2012/05/15(火) 20:17:29.03 ]
- 0はnullやfasleと混同しやすいから、バグを生む
- 777 名前:仕様書無しさん mailto:sage [2012/05/15(火) 23:56:12.94 ]
- fasle ?
- 778 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:12:07.19 ]
- #define fasle false
問題は解決だ
- 779 名前:仕様書無しさん mailto:sage [2012/05/16(水) 00:37:47.33 ]
- >>778みたいな定義があった上で
そこら中でfalseとfasleが混在してたら イラッ☆つとくるじゃ済まねーぜ
- 780 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:30:24.88 ]
- 1ヶ月に28日有る月は何ヶ月有る?
- 781 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:23.69 ]
- 12ヶ月
- 782 名前:仕様書無しさん mailto:sage [2012/05/16(水) 23:52:58.77 ]
- 訂正、1年あたり12ヶ月
- 783 名前:仕様書無しさん mailto:sage [2012/05/17(木) 01:08:31.49 ]
- 無限
- 784 名前:仕様書無しさん mailto:sage [2012/05/17(木) 09:15:07.96 ]
- コーディングスタイルの問題というのかわからないけど、
10年前の改修履歴が残ってるのを見るとイラッつとする
- 785 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:28:54.79 ]
- 「コメント禁止。ソース内ではなくExcelファイルに対応するコメントをまとめること。」
という内部規約のプロジェクトのソースを貰った。 案の定ソースとコメントがずれまくっててシャレにならん・・・
- 786 名前:仕様書無しさん mailto:sage [2012/05/17(木) 17:47:12.96 ]
- コメント禁止の方はそれほど問題じゃ無いな
俺、コメントなんかほぼ書かないし
- 787 名前:仕様書名無しさん mailto:sage [2012/05/17(木) 20:35:40.97 ]
- 関数作るのに申請が必要。
関数名は申請番号をつける。
- 788 名前:仕様書無しさん mailto:sage [2012/05/17(木) 22:46:50.74 ]
- >>784
けれど、その履歴が熟成された30年物だったら……?
- 789 名前:仕様書無しさん mailto:sage [2012/05/18(金) 00:27:51.60 ]
- 行数を出来る限り短くするのが俺のポリシー
なので極力変数は切らない。 分岐は参考演算子のネスト。 俺流コーディングスタイル。
- 790 名前:仕様書無しさん mailto:sage [2012/05/18(金) 02:14:19.65 ]
- if(ture or fasle){
contineu; }esle{ fasle retrun; }
- 791 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:05:53.38 ]
- >>790
はぁ? これでリターンする言語なんてあんの?
- 792 名前:仕様書無しさん mailto:sage [2012/05/18(金) 03:08:30.98 ]
- ああああ そゆことか。 こりゃ確かにイラつくわw
- 793 名前:仕様書無しさん mailto:sage [2012/05/18(金) 07:46:00.94 ]
- >>657
それはコーディングスタイルの話じゃないよね
- 794 名前:仕様書無しさん mailto:sage [2012/05/18(金) 08:04:32.31 ]
- /*
この関数なんだか挙動がおかしいからとりあえずコメントアウト 中の人が悪さしているかも fn(); */
- 795 名前:仕様書無しさん mailto:sage [2012/05/18(金) 21:32:33.68 ]
- >>791
C言語 int true = 1; int false = 1;
- 796 名前:仕様書無しさん mailto:sage [2012/05/18(金) 22:58:22.00 ]
- >>790
間違い探し?
- 797 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:24:54.71 ]
- baseClassとかでいい物を、clazzと書く
- 798 名前:仕様書無しさん mailto:sage [2012/05/19(土) 20:51:41.00 ]
- コボラの書いたコードで
1ファンクションに3万ステップあった。
- 799 名前:仕様書無しさん mailto:sage [2012/05/19(土) 22:09:26.69 ]
- それはもはやコーディングスタイルの問題ではなく
そいつのプログラミングスキルの問題だな
- 800 名前:仕様書無しさん [2012/05/22(火) 22:47:53.70 ]
- >>684
それ自分はよくやる。戻り値を変数に居れて最後にリターンしたいから。その際に変数名で悩みたくない。
- 801 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:05:53.66 ]
- >>800
いやこれの注目点はif文の条件の出所じゃね クラス変数としても使うなら引数として用意して欲しい
- 802 名前:仕様書無しさん mailto:sage [2012/05/23(水) 06:44:26.47 ]
- >>800
処理の見通しが悪くなるから俺はイヤだな 関数の前半で値が確定してるにもかかわらず 最後でreturnされたら、影響が後半で発生してないか いちいち考えなきゃならんのがメンドイ
- 803 名前:仕様書無しさん [2012/05/23(水) 09:33:43.27 ]
- え?>>684て>>685で答えが出てるんじゃないの?
- 804 名前:仕様書無しさん mailto:sage [2012/05/23(水) 10:39:15.55 ]
- >>684は解釈の仕方がいくつかあるなw
自分的には finally 使わないで書く事多いからよくやる。
- 805 名前:仕様書無しさん mailto:sage [2012/05/23(水) 19:23:20.20 ]
- >>803
分岐とreturnの間に別の処理があるつもりで 反応してるやつも多いんだろ
- 806 名前:仕様書無しさん mailto:sage [2012/05/23(水) 22:13:17.23 ]
- >>805
まさかそのままだったのかwww 当然ながら処理が省略されてるもんだと思ってたw
- 807 名前:仕様書無しさん mailto:sage [2012/05/23(水) 23:25:54.83 ]
- >>806
確かにコレがそのままなら、>>685で終わりw
- 808 名前:仕様書無しさん mailto:sage [2012/05/24(木) 09:12:00.04 ]
- 分岐とreturnの間に戻り値に影響しない処理が入ってたらそれこそイラッとする
- 809 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:29:11.35 ]
- 引数をアンスコ+大文字にする奴が居てイライラする
int func(int _Hoge, int _Hage) みたいな感じ
- 810 名前:仕様書無しさん mailto:sage [2012/05/25(金) 09:35:20.83 ]
- >>809
C/C++なら、「それは非常識だ」と罵っていい。
- 811 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:09:41.26 ]
- public:
↓ private: この順番、どうよ?
- 812 名前:仕様書無しさん mailto:sage [2012/05/25(金) 19:38:14.00 ]
- というか無駄にprivate:があるのがイラッとする
privateメンバーがあるなら、classのデフォルトアクセスレベル。 全てpublicならstructのデフォルトアクセスレベルでいい。
- 813 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:14:25.63 ]
- >>811
classを使いたい奴が第一に欲する情報は、公開されているメンバに関するもの それが先頭にまとめられていれば見やすい よってそのスタイルは何ら問題ない
- 814 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:51:40.56 ]
- >>813
言いたいのはメンバ関数だと思うが、それはさておき クラスの素性を知るには、そのクラス特有の基本的管理データ、つまりprivate変数を見るべきじゃないのか?
- 815 名前:仕様書無しさん mailto:sage [2012/05/25(金) 21:59:23.64 ]
- 漢のなかの漢な規約では
構造体は一切使わず、全てクラスを使う 潔いから、というのがある
- 816 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:36:31.36 ]
- >>814
普通はprivate変数を見なくても分かるように設計します。 クラスを編集するときの話は別な。
- 817 名前:仕様書無しさん mailto:sage [2012/05/25(金) 22:59:17.56 ]
- コーディングスタイルの話じゃないけど、javaの記憶クラスのデフォルトが
publicでもprivateでもない中途半端なのがイラッつとする。
- 818 名前:仕様書無しさん mailto:sage [2012/05/25(金) 23:08:03.36 ]
- >817 しかも、明示的に"package"等と書けないのがイラッつきを加速させる
- 819 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:33:39.55 ]
- >>813
pimpl使えば気にならんだろ class XxX { public: ;こう始まるほうがウザイわ
- 820 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:34:37.90 ]
- >>814
privateのメンバって、実装上の理由でたまたま持ってるだけだったりするから クラスの素性を知るには、公開されているI/Fをまず調査する。
- 821 名前:仕様書無しさん mailto:sage [2012/05/26(土) 00:35:16.85 ]
- >>817
原則publicよりinternalスコープ使えって事だよ いわせんな恥ずかしい
- 822 名前:仕様書無しさん mailto:sage [2012/05/26(土) 03:39:46.06 ]
- >>110
うちマジで、 > 入口一つに出口一つ になりそうで、逸脱するときは手続きとれって事になりそうなんだけど、 まぁ俺今品証で直接は関係ないんだけど、文句でないのが不思議だ。 レガシーコードの中には間違いなくあると思うんだけどな。 みんなソース見せてくれないんで知らないけどw
- 823 名前:仕様書無しさん mailto:sage [2012/05/26(土) 04:32:07.43 ]
- perl書くときに、どうせ人に見せる事もないので、
C言語のように、main文がほしいと思って #!/usr/bin/perl -w use … &main; sub main{ } と書いてますが、イラッつとしますか?
- 824 名前:仕様書無しさん mailto:sage [2012/05/26(土) 19:45:38.20 ]
- 他人に見せないのなら気にすることはない
- 825 名前:仕様書無しさん mailto:sage [2012/05/26(土) 20:32:38.77 ]
- >>823
最初からそう書くことは少ないけど、段階的にそうなることはあるなw ベタで書く→サブルーチンを分ける→途中の修正で、面倒くさいからとグローバル変数を直接参照する →収拾がつかなくなってきたところでmainを分離して、出てきたエラーを一気に修正する
- 826 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:27:34.77 ]
- オブジェクト指向ですね
- 827 名前:仕様書無しさん mailto:sage [2012/05/26(土) 21:55:23.91 ]
- 違うから
- 828 名前:仕様書無しさん mailto:sage [2012/05/26(土) 22:30:59.78 ]
- >>823
-w は今時使わない & は今時使わない お前のコードは古い。
- 829 名前:仕様書無しさん mailto:sage [2012/05/26(土) 23:05:10.42 ]
- 即ちイラッつとするコーディングスタイルである
- 830 名前:仕様書無しさん mailto:sage [2012/05/27(日) 10:52:44.39 ]
- 軽口叩いてるコメントって書くのはいいけど読まされるとイラッと来るからやめて欲しい
- 831 名前:仕様書無しさん mailto:sage [2012/05/27(日) 11:13:42.55 ]
- まともな神経してたら、書くのも違和感を覚えるだろう。
- 832 名前:仕様書無しさん mailto:sage [2012/05/27(日) 12:26:47.70 ]
- 変数名や関数名にROMAJIを使わないでください
- 833 名前:仕様書無しさん mailto:sage [2012/05/27(日) 16:58:11.32 ]
- samuraiとかninjaみたいに、英語にしたくてもアッチの国でローマ字で通っちゃってる言葉の場合はどうすればいいだろう。
- 834 名前:仕様書無しさん mailto:sage [2012/05/27(日) 17:07:07.97 ]
- >>833
それは立派な英語だろ
- 835 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:23:27.48 ]
- 配偶者特別控除なんて変に英訳されたらたまらん。
- 836 名前:仕様書無しさん mailto:sage [2012/05/27(日) 21:54:28.02 ]
- それはコード内で識別子に使わずに文字列データとして扱うべし
- 837 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:21:47.22 ]
- HaiguusyaSpecialKoujo
- 838 名前:仕様書無しさん mailto:sage [2012/05/27(日) 23:36:18.74 ]
- 某社の自治体向けパッケージではそのまま「配偶者特別控除」だな
個人的には漢字識別子名は邪道だと思うが、視認性がずば抜けてるのは認めざるをえない
- 839 名前:仕様書無しさん mailto:sage [2012/05/28(月) 00:23:45.53 ]
- // オブジェクト作成に必要なコードをこの下に挿入します。
- 840 名前:仕様書無しさん mailto:sage [2012/05/28(月) 01:17:07.48 ]
- if(1==a) というスタイルで書かれたソースをメンテしたときに、
for(i=0;10>i;++i) i[dst]=i[src]; というコードを追加してやった。
- 841 名前:仕様書無しさん mailto:sage [2012/05/28(月) 02:08:59.50 ]
- >>840
普通に意味分かんない。 dst[i] = src[i] か?
- 842 名前:仕様書無しさん mailto:sage [2012/05/28(月) 06:21:33.73 ]
- a[b]でもb[a]でも参照するアドレスが同じ言語があるらしい
そう皆さんもよくしってるあれです
- 843 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:01:57.72 ]
- 意味がわからずただ反抗するバカっているよな
- 844 名前:仕様書無しさん mailto:sage [2012/05/28(月) 07:02:58.73 ]
- 意味がわからずただ反抗するバカっているよな
- 845 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:10:25.95 ]
- >>809
_大文字や__はCなら予約語だな。 #ifndef __HOGE_H__ とかもイラッとする
- 846 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:33:29.24 ]
- >>841
Cすらわからん奴がここにいるとは、信じられん
- 847 名前:仕様書無しさん mailto:sage [2012/05/28(月) 14:45:44.74 ]
- わかりやすく書け、ってちょっとイラッつとしたw
- 848 名前:仕様書無しさん mailto:sage [2012/05/28(月) 16:14:24.26 ]
- そういうネタだろう
- 849 名前:仕様書無しさん mailto:sage [2012/05/28(月) 17:40:17.47 ]
- >>832
ローマ字でもあってればまだいい。 一見英語なんだけどつづり間違いってのがあって どんだけ直したかったかw
- 850 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:22:44.61 ]
- ここでもまたUwaRiteか
- 851 名前:仕様書無しさん mailto:sage [2012/05/28(月) 20:38:56.59 ]
- この板の伝説の逸品のひとつだな
- 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 )
読みづらいっつうの
|

|