[表示 : 全て 最新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 ]
文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる

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

448 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:04:12.06 ]
hoge禁止

fooは許せるがhogeはイラッつとする俺だが、表立ってhogeを禁じられるのはそれはそれでイラッつとする

449 名前:仕様書無しさん mailto:sage [2012/04/20(金) 20:06:43.00 ]
fooとかbarは西洋かぶれっぽくて嫌味が。

450 名前:仕様書無しさん mailto:sage [2012/04/20(金) 23:55:09.79 ]
>>448
お前hageだな?w

451 名前:仕様書無しさん mailto:sage [2012/04/21(土) 00:16:12.53 ]
は、は、は、はげちゃうわ!

452 名前:仕様書無しさん mailto:sage [2012/04/21(土) 11:07:27.55 ]
まあまあ
アイスでも食って落ち着こうぜ

ttp://www.haagen-dazs.co.jp/

453 名前:仕様書無しさん mailto:sage [2012/04/21(土) 12:52:00.49 ]
俺は薄いだけだからセーフだな

454 名前:仕様書無しさん mailto:sage [2012/04/21(土) 17:15:03.61 ]


ホリエモン  元ニート  でググれ


やばすぎwwwwwwwwwwwwwwwwwwwwwwwwww

455 名前:仕様書無しさん mailto:sage [2012/04/21(土) 18:57:29.69 ]
a.set(b.getHoge())
こういう戻り値を直接引数に渡しているコード
デバッグしずらいんだよね

456 名前:仕様書無しさん mailto:sage [2012/04/21(土) 19:43:40.18 ]
どうすべきだと思う?
いったん器に入れてから食う?



457 名前:仕様書無しさん mailto:sage [2012/04/21(土) 20:29:54.84 ]
デバッガを変える

458 名前:仕様書無しさん mailto:sage [2012/04/21(土) 21:43:37.82 ]
うーん、読みやすいと思うんだけどねー

459 名前:仕様書無しさん mailto:sage [2012/04/21(土) 22:53:11.51 ]
デバッガ使わないやつはまったく使わないからな。

オレなら一時変数に1度いれるようにする。

460 名前:仕様書無しさん mailto:sage [2012/04/22(日) 06:52:26.52 ]
場合によるが大抵は一時変数にいれるな

461 名前:仕様書無しさん mailto:sage [2012/04/22(日) 18:58:57.81 ]
俺も一時変数に入れる

462 名前:仕様書無しさん mailto:sage [2012/04/22(日) 19:02:15.91 ]
>>456
戻り値を表示できるデバッガを使うのが一番楽

463 名前:仕様書無しさん mailto:sage [2012/04/22(日) 19:29:33.48 ]
int getHoge(){ return Fuga; }

ってのがヘッダに書いてあってもデバッグし辛い時があるけど、諦めてる。

464 名前:仕様書無しさん mailto:sage [2012/04/22(日) 21:44:00.17 ]
それはインライン展開があるからしょうがない。

でも行を分けてないとデバッグしにくいよね。使わないやつには判らんだろうが。

465 名前:仕様書無しさん mailto:sage [2012/04/22(日) 21:56:01.47 ]
printfデバッグだって変数につっこまなきゃできないぞ

466 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:33:12.37 ]
一時変数にいれる一手間を加えると美味しいソースが出来るの?
同じ味が出せるなら手抜きした方がいいと思うんだけど。



467 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:38:58.96 ]
> 一時変数にいれる一手間を加えると美味しいソースが出来るの?
簡単に味見ができる。

468 名前:仕様書無しさん mailto:sage [2012/04/23(月) 00:52:14.87 ]
そんなに手間かなあ?

469 名前:仕様書無しさん mailto:sage [2012/04/23(月) 04:46:41.50 ]
そんなに手間っていうより、無駄な手間って感じ。
関数名が正しければ一時変数にいれない方が文章として読みやすいし。
あと、処理系によつまては処理が早そうだし。

と書いたけど、俺も一時変数にいれた方がその後のコードが読みやすくなる場合は一時変数にいれてるな。

入れる入れないの判断基準が「デバッグ出力しやすいか」ってのと「読みやすいか」ってのとの違いか。

470 名前:仕様書無しさん mailto:sage [2012/04/23(月) 07:43:18.44 ]
副作用を消せば返ってくる値が同じなので変数に入れる必要すらなくて
ただ関数の結果をピークすればいい。

471 名前:仕様書無しさん mailto:sage [2012/04/23(月) 08:01:12.26 ]
>>464
コンパイラにまかせろよ

ライブラリとして外部に譲渡すること考えたらキモチ悪いだろ

472 名前:仕様書無しさん mailto:sage [2012/04/23(月) 13:55:23.45 ]
一時変数に入れるのはいいが、temp だの value だの ret なんて名前だったり、const つけてなかったりしてるとイラッつとする。

473 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:00:40.40 ]
>>472
そんな奴が一時変数の効能考えて使ってるとは思えないわw

474 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:32:09.16 ]
中途半端な変数使うぐらいなら観察用関数使った方がましだわ
名前考えるのマンドクセ

template<class type> type &Check( type &value )
{
  return value;
}

template<class type> const type &Check( const type &value )
{
  return value;
}

FunctionB( Check( FunctionA() ) );

475 名前:仕様書無しさん mailto:sage [2012/04/23(月) 22:44:57.33 ]
>>474
そうするくらいならFunctionAの結果を直接見るよね

476 名前:仕様書無しさん mailto:sage [2012/04/23(月) 23:11:32.50 ]
今どき戻り値が見れないデバッガとか何を使ってるの?
16bit環境?



477 名前:仕様書無しさん mailto:sage [2012/04/24(火) 01:00:11.79 ]
パートナー

478 名前:仕様書無しさん mailto:sage [2012/04/24(火) 10:32:44.75 ]
>>474
これはイラッとするわ

479 名前:仕様書無しさん mailto:sage [2012/04/27(金) 18:52:57.59 ]
if(!strcmp(foo,bar)){

480 名前:仕様書無しさん mailto:sage [2012/04/27(金) 21:16:24.59 ]
strcmpが真偽値を結果とするような関数じゃないから不自然だね。仕方ないね。

481 名前:仕様書無しさん mailto:sage [2012/04/28(土) 06:30:45.48 ]
#define 麿 malloc
#define おじゃる free


482 名前:仕様書無しさん mailto:sage [2012/04/28(土) 11:01:56.73 ]
>>479
ふつーに使う

483 名前:仕様書無しさん mailto:sage [2012/04/28(土) 11:37:23.29 ]
switch( mode ){
case eHoge: mode++; break;
case eHoge+1: mode++; break;
case eHoge+2: mode = eFuga; break;
case eFuga: mode++; break;
case eFuga+1: break;
}

484 名前:仕様書無しさん mailto:sage [2012/04/28(土) 13:21:59.68 ]
>>480
真偽値などという型がないCが不自然なのであって
Cとしてはあれで正しい、といえなくもない。

485 名前:仕様書無しさん mailto:sage [2012/04/28(土) 13:36:00.81 ]
strequal関数を作ればいいだけの話

どちらが大きいか比較して
真だった場合。
意味がわからないだろ。
if(strcmp(a,b)) とはそのように読む。

どうしてもstrcmpを使いたいなら==0とするのが正解。
0をSTRMATCHと定義し、==STRMATCHとするのがベター

486 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:40:19.32 ]
>>484
不自然か?真偽値なんて、真偽値がオブジェクトだったり、
オーバーロードが必要と言う理由じゃなければ独立した型である必要ないだろ
単なる名前付けした定数で充分なぐらいじゃん



487 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:42:23.28 ]
真偽値という別の名前を与えている以上
別のものであると我々人間が解釈しているのですよ。

コンピュータに合わせない。
人間に合わせる。

488 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:48:31.46 ]
未だ真偽値という分け方自体が最善かすら揉めてるのにw

489 名前:仕様書無しさん mailto:sage [2012/04/28(土) 14:51:37.24 ]
真偽値というか、ifの文脈で明らかにおかしいだろ

490 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:07:33.70 ]
外国人にはこのように見えています

もし(文字列比較(a,b)の否定) なら

491 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:17:02.25 ]
コードかきなれてるやつで、自然言語に近づけたいと
思ってるヤツなんてほとんど居ないだろ
慣れて気になるのは合理的か、回りくどくないか(考える手間が増えないか)
ぐらいだろ

492 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:21:04.96 ]
じゃあなんで関数名、変数名、キーワードは
英語なんですか?

英語=自然言語ですよ。


493 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:41.47 ]
>>492
名前だけだろ
文章の体をなしてない

494 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:54.62 ]
if(!strcmp(foo,bar)){
これで、実効時間が一クロックでも違うのなら意味があると思うけど、
== 0 と変わらないのであれば、採用するメリットがない。

495 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:24:59.39 ]
>>492
英語じゃなくてもいいけど

496 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:26:26.29 ]
>>493
でも、名前は英語ですよね。

その名前から連想できるものは何でしょうか?
そこは変わらなはずですが。

むしろ、自然言語から連想できるように
キーワードを選んでいるわけだけど。



497 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:28:25.70 ]
例えばifという名前が、繰り返すという意味だったりしたら
わけがわからないことになる。

そんな事するぐらいなら、ifもforもやめて、
A01、B02 とかいうキーワードの方がまだまし。

でもそうしないで、ifという単語を割り当てているというのは、
ifという単語の本来の意味が重要だってこと。

498 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:28:31.58 ]
>>493
Javaなどでは、オブジェクト.動詞目的語
という命名規則が普通ですね。

499 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:50:55.83 ]
>>496
日本語でも、イスラム語でもフランス語でもいいぞ。

500 名前:仕様書無しさん mailto:sage [2012/04/28(土) 15:53:58.39 ]
>>496
構文に自然言語を求めてないと言ってるんだが。

大体、Unixのソースコードとか英語名称に準拠してるか?
アルファベット使ってるだけで略語だらけじゃねぇか。
アルファベット使ってりゃ自然言語だというなら、そりゃ全部自然言語だろうよ。

501 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:00:09.18 ]
馬鹿って絶対に自分の非を認めないよね
故に馬鹿なのか

502 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:04:07.16 ]
英語で書いてある部分なんて機能が解るシンボルとしてしか見ないな
言語自体が英語らしいかどうかなんてどうでもいいや
COBOL見たいなの見せられたら吐き気がするし

503 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:05:57.41 ]
>>500
> 構文に自然言語を求めてないと言ってるんだが。

あなたわかってるじゃないですかw

自然言語を求めてないのは構文でしょう?
単語には自然言語を求めてるんですよ。

504 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:06:45.08 ]
略語も自然言語。自然言語の略語。

505 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:22:10.58 ]
>>492 は、「アルファベット」を見ると「英語」と言ってしまう
ローマ字未修得の小学生、あるいは戦中派に違いない。

506 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:25:09.14 ]
>>505
え? 普通言語って英語を元にしてるでしょw



507 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:27:30.60 ]
俺の大得意な言語は
日本語を元にしてますよ。




なんてなーwwww

508 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:32:49.85 ]
>>506
UKとUSAの人間が読めなくても英語なのか?

509 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:33:55.58 ]
>508
if が読めないのですか?

510 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:34:11.97 ]
string や compare が読めないのですか?

511 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:34:34.45 ]
TSUNAMI, HENTAIは英語だけど
Heigh Visionは日本語という不思議。

512 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:35:51.86 ]
英語が分かる人

「strcmpって何?」
「string compare の略だよ」
「なるほど!」


513 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:36:21.62 ]
>>509
"if"だけじゃなぁ。interfaceの略かもしれんし、
イタリア語かもしれんし、フランス語かもしれんし。

514 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:36:57.36 ]
>>511
英語わからないならムリしないほうがいいよw

515 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:38:06.09 ]
>>509
ifとかdefaultとか予約語じゃない言語もいっぱいあるぞ
関数型系とかSmalltalkの派生とか

516 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:38:10.51 ]
>>513
英語と考えれば辻褄が合うでしょw

だからほとんどの言語=英語が元になっているわけです。



517 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:39:29.02 ]
>>516
if( a == b )
これをよめるヤツはプログラマーぐらいだろ

518 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:40:07.42 ]
>>515
予約語かどうかは本質じゃねーw

プログラム言語はほとんど英単語が
元になってるってことだろ。

英単語そのものか、英単語の略語ばかりだ。
よってコーディングする時は
英語の意味を考えなさいということ。

519 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:41:12.04 ]
>>517
ifが英語だからプログラマーは読めるよね。

gtaweg( a == b)

これ、読めるかい?

520 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:41:29.02 ]
>>518
cat と cdr はどういう意味?

521 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:42:12.07 ]
>>519
言語仕様読めば解るんじゃね?

522 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:43:51.60 ]
>>519
プログラマー外の英語圏の人間はすぐ解らんだろうと
いう意味で書いたんだが

523 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:43:51.88 ]
Lisp の car や cdr が、以下の略であることぐらい、Lisp をかじったことのある人なら知っているでしょう。

Contents of the Address part of Register number
Contents of the Decrement part of Register number

524 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:44:53.93 ]
>>522
そりゃそうだろ。
そんな話はしていない。


ほとんどのプログラム言語は
英語が元になってることに異論はないね?

525 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:45:31.86 ]
>>523
やっぱりcatやcdrも英語の略なんだね。

526 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:48:37.26 ]
>>524
COBOLレベルなら英語が元になってるとは言えるかもしれんが
シンボルだけ英語使ってるものを英語が元になってると言われると
違和感が有るぞ



527 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:49:23.26 ]
> シンボルだけ英語使ってる
あ、認めたw

シンボルだけじゃなくて
意味も英語の意味を使ってる。

528 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:51:22.35 ]
文法は英語じゃなくが
単語は英単語だし
意味も英単語だ。

なのだからその意味に当てはまらない使い方をしたらダメ。

529 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:56:57.83 ]
>>528
> 意味も英語だけど
int 変数 = 0;

classs Type { public Type(){} }

英語の意味でどう読むんだ?

530 名前:仕様書無しさん mailto:sage [2012/04/28(土) 16:59:31.80 ]
>>527
俺は構文が英語じゃないから、言語全体は自然言語に近い必要はないと
いう意味でしかレスしてない。名前云々のレスといっしょにすんな。

531 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:04:57.39 ]
>>529
変数は日本語ですが?

int ・・・ integerの略。なるほど整数か!
class ・・・種類
Type・・・型
public・・・公開

英語だと考えれば、辻づまがあう。

532 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:05:54.91 ]
>>531
単語の意味じゃなく英文として読めよ


533 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:06:08.67 ]
>>530
俺は単語が英語だから
その英語の通りの使い方をしろと言ってる。



534 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:07:24.65 ]
>>532
なぜ英文として読まないといけないの?

俺は最初から構文は英語じゃないが
単語が英語であり、
その意味のとおりに使えと言ってるだけですが?

535 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:13:37.49 ]
>>534
俺は最初から構文は英語じゃないからコードが英文に準じる必要はないと言っている

まぁ、>>500で余計なことは書いたが。

536 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:15:42.11 ]
なら単語が英単語になっている理由は?



537 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:15:57.31 ]
英単語の意味を無視していいなら、
英単語を使う理由はない。

538 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:19:33.03 ]
名前と構文をごっちゃにするなって
ダンボールに英語のラベルはってあったら、
ダンボールが英語に準拠してんのかよ

539 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:21:25.05 ]
そうですが何か

540 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:21:47.37 ]
つられて英語と書いてしまったが
そもそも、自然言語に準じる必要が無いといだけで
英語かどうかは重要じゃないだろ。


541 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:28:03.72 ]
>>539
XSLTとXMLの仕様をごっちゃにしてそうな発言だな

542 名前:仕様書無しさん mailto:sage [2012/04/28(土) 17:30:35.83 ]
多分最近のaviにはH.264が入ってることが多いから
>>539にとってaviはH.264がなんだろうな

543 名前:仕様書無しさん mailto:sage [2012/04/28(土) 18:55:32.75 ]
ダンボールの中身が英語に準拠しているかもしれないと期待することは出来るかな

544 名前:仕様書無しさん mailto:sage [2012/04/28(土) 20:41:52.10 ]
プログラムは自然言語ではないが
自然言語に似せて書くのが上手い書き方だろ。
何故なら、コンピュータが読むものであると同時に、人間が読むものでもあるからだ。

545 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:33:26.78 ]
>>544
「個人的見解」って頭につけといた方がいいですよ。

546 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:34:38.61 ]
>>545
まずお前から実践なw



547 名前:仕様書無しさん mailto:sage [2012/04/28(土) 21:53:43.30 ]
>>544
人間が読む場合と、コンピュータが読む場合があるところまではいい。
ただし、人間が読む場合は、人間らしい人間が読む場合と、コンパイラみたいな人間が読む場合と、宇宙人が読む場合があるんだよな…

「個人的見解だが」
すべての人間に読みやすいプログラムというものは存在しないと思う。
なので、読む人に合わせた書き方が求められる。
これは、もはやソースコードを介したコミュニケーションであって、そういう意味では、やはりプログラマは物書きだなーと思うし、コミュニケーション能力が求められる仕事だなと思う。

548 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:17:18.20 ]
>>547
すべての人間ではなく、
大部分の人間といえばいいだけの話。

549 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:40:44.94 ]
>>544
COBOLが読みやすいか?
ならCOBOL使えばいい。
ひまわりでもかまわんぞ

550 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:51:04.29 ]
>>549
www.aoky.net/articles/why_poignant_guide_to_ruby/chapter-3.html

551 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:56:54.08 ]
>>550
すごいな。

たまたま英文風に読める文章を
持ってきて全てを語るなんてw

552 名前:仕様書無しさん mailto:sage [2012/04/28(土) 22:58:44.27 ]
>>550
そのページが読みにくいのはなんでだ?w

553 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:04:43.00 ]
>>550
自然言語とプログラム言語は白と黒のようにはっきり分かれておらず
プログラマは皆、灰色の領域で仕事をしているのだと判らせてくれる。

554 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:05:57.12 ]
>>550
>['toast', 'cheese', 'wine'].each { |food| print food.capitalize }
英文まねても読みづらいだけだな。

555 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:07:10.90 ]
>>554
そもそも英語が読みやすい言語かっつうのもあるしな

556 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:11:55.82 ]
しかし、単語は英単語であり、
その英単語の意味通りを使い方をしているのは
どの言語も同じなのだ。



557 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:25:22.95 ]
何が問題か解ってないコミュ障が居るな

558 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:30:53.03 ]
じゃあ、話を最初に戻そう

if(!strcmp(foo,bar)){

問題はこれ。

strcmpは文字 比較の略であり、
ifはもし。

つまり、「もし(文字比較)なら」
という意味になるので、これはイラッとするコーディングである。

559 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:33:13.51 ]
この話に対して、プログラム言語は、
英語の文法と違うとか的外れのこといいだして、

そうじゃなくて、単語は英語であり
単語の意味通りの使い方をするべきという
話だよって教えてるだけ。

それを分からず、文法が〜文法が〜と
的外れのことを言い続けてる。

560 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:38:06.42 ]
>>558
! が Not ならいいの?

561 名前:仕様書無しさん mailto:sage [2012/04/28(土) 23:43:31.70 ]
違うね、ごめん。

562 名前:仕様書無しさん mailto:sage [2012/04/29(日) 00:00:23.13 ]
>>559
英単語と名前の話が一番ずれてる

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や空白さんがたまに来る
初期値はシステムで統一しろ

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 )
読みづらいっつうの






[ 新着レスの取得/表示 (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