- 1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
- 文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド
- 563 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:02:23.85 ]
- >>559
>つまり、「もし(文字比較)なら」 >という意味になるので、これはイラッとするコーディングである。 問題は、文としての書き方なのに何でお前は名前に拘ってんだ?
- 564 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:08:33.22 ]
- > 問題は、文としての書き方なのに
どこ見てそう思いましたか?
- 565 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:09:46.10 ]
- >>564
「もし(文字比較)なら」
- 566 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:10:20.91 ]
- strcmpの戻り値が真偽値ではない、
真偽値ではないものを、もし(if)で使うなという 話ですよね?
- 567 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:11:05.12 ]
- >>564
文の話じゃねーよ。 真偽値を返さないものを ifで使うのが気持ち悪いという話だよ。
- 568 名前:567 mailto:sage [2012/04/29(日) 00:11:30.38 ]
- × >>564
○ >>565
- 569 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:12:46.49 ]
- なぜ真偽値じゃないものをifで使うのが気持ち悪いかというと
ifが、もし〜なら という意味だからでしょうね。
- 570 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:17:59.45 ]
- >>567
だからif文の中で真偽値を返さないものを返してる文の書き方がおかしいんでしょ
- 571 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:21:13.19 ]
- >>570
文がおかしい? じゃあ、どういう文ならおかしくないというの? ”文”ですよね?
- 572 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:28:03.95 ]
- >>571
真偽値を返す関数を使った文だったらよろしいんじゃないでしょうか
- 573 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:29:31.39 ]
- >>572
つまり、式を変えるってことですねw あれ?文の話じゃなかったのかいw
- 574 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:31:34.03 ]
- 直感と反するのが気持ち悪い
一緒だったらって判定に!使うな
- 575 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:32:25.05 ]
- strcmpは「一緒だったら」ではなく、
「比較したら」
- 576 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:37:31.36 ]
- >>573
文として分かり辛いから文の中の式を直すってのがおかしいか?
- 577 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:38:41.57 ]
- もし(おなじである(a, b))なら
なら気にならない。
- 578 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:39:49.83 ]
- >>576
文はおかしくなかったから、文はそのままで 式を書きなおしたんだろw お前、文がなにかわかってるのか? if文の定義・・・if (条件式) 真文 仕様書見てもこんな感じでしか書いてないぞ。
- 579 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:38.23 ]
- >>577
つまり、英単語の意味と合っていないということか。
- 580 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:50.64 ]
- >>575
大元のif文はどう見ても一致してるかの判定 それ以外の意図で書いてたらなお悪い
- 581 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:40:53.63 ]
- もし(ひかくする(a, b))なら
だとわかりにくい さらに もし(文ひか(a, b))なら だからもう死ね
- 582 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:43:04.40 ]
- >>578
仕様書には書いてないから実現は可能だが、プログラムには意図を込める事が出来る。 プロなら使わない手はない。
- 583 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:44:04.46 ]
- >>582
で、何が言いたいの?
- 584 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:44:39.33 ]
- >>583
より分かりやすく書けって話だよ。
- 585 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:45:43.69 ]
- >>580
> 大元のif文はどう見ても一致してるかの判定 もし(否定 比較する(a,b)) これを「aとbが一致した場合」と解釈するのは難しい。
- 586 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:47:20.56 ]
- もし( 比較する(a,b) == 差が0なら)
こう書けばわかりやすい。
- 587 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:49:40.01 ]
- >>585
書き方のぜひはともかく文字列一致判定の定型文だろ
- 588 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:52:37.27 ]
- >>586
どんな顔してこんな当たり前の書き込みするのか興味深い
- 589 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:59:33.34 ]
- >>587
こんなのを定型文と言わなきゃいけない事自体がおかしい。
- 590 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:00:23.87 ]
- >>588
え? 当たり前のことを言ったような顔を しているだけですが・・・?
- 591 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:05:32.77 ]
- >>578
if文 = if statement CやC++だと、そもそも式も文も同じ意味なんだが
- 592 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:10:42.27 ]
- C/C++のif文は、値を返さないので式として使えませんよ?
if式っていうのはこういうものです。(Scalaの例) val msg = if (true) "true dayo" else "false dayo"
- 593 名前:仕様書無しさん mailto:sage [2012/04/29(日) 01:12:18.69 ]
- >>591
文と式の違いも知らん奴が さっきから喚いていたんだなw
- 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や空白さんがたまに来る 初期値はシステムで統一しろ
|

|