コーディングスタイルにこだわるスレ
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/10/28(日) 15:59:01 コーディングスタイルについて熱く語れ
114デフォルトの名無しさん
2009/02/05(木) 09:44:40 なんでC/C++は宣言の時、int *a, *b;という構文にしたんだろう?
キャストやテンプレートではint*を使うことになるのに。
スレ違いか。
キャストやテンプレートではint*を使うことになるのに。
スレ違いか。
115デフォルトの名無しさん
2009/02/05(木) 17:16:21116デフォルトの名無しさん
2009/02/05(木) 19:33:24 >>114
constへのポインタとconstポインタを
はっきり書きわけられることはメリット。
ぱっと見はわかりにくい文法だけど、
関数へのポインタとかも含めていろいろ
わかってくると、全体としては悪くないと
納得せざるをえないと思う。
constへのポインタとconstポインタを
はっきり書きわけられることはメリット。
ぱっと見はわかりにくい文法だけど、
関数へのポインタとかも含めていろいろ
わかってくると、全体としては悪くないと
納得せざるをえないと思う。
117デフォルトの名無しさん
2009/02/05(木) 20:44:49 >>116
それがどうした
それがどうした
118デフォルトの名無しさん
2009/02/05(木) 21:24:38 >>116
const int* a, b;// aもbもconstへのポインタ
int* const c, d;// cもdもconstポインタ
こういう文法にして欲しかった。
関数へのポインタの宣言はかなり気持ち悪く感じる(typedefの挙動なんか特に)。
こっちもなんとかして欲しかった。
const int* a, b;// aもbもconstへのポインタ
int* const c, d;// cもdもconstポインタ
こういう文法にして欲しかった。
関数へのポインタの宣言はかなり気持ち悪く感じる(typedefの挙動なんか特に)。
こっちもなんとかして欲しかった。
119デフォルトの名無しさん
2009/02/05(木) 21:28:31 でも、ポインタを戻り値とする関数と区別するためにはやむを得ないんだよな・・・
120デフォルトの名無しさん
2009/02/07(土) 04:21:07 >116
単純に記述量を減らすためかと。
例: int a = 1, *p = &a;
単純に記述量を減らすためかと。
例: int a = 1, *p = &a;
121デフォルトの名無しさん
2009/02/07(土) 10:03:22122デフォルトの名無しさん
2009/02/07(土) 10:16:16123デフォルトの名無しさん
2009/02/07(土) 17:22:52 今でも、C++でBoost使えば、functionっぽく書ける。実際に使うかどうかは別として。
void f(int, double);
boost::mpl::identity<void (int, double)>::type* pfn = f; //void (*pfn)(int, double) = f;と同じ
まあ素直にtypedefすべきだな。
void f(int, double);
boost::mpl::identity<void (int, double)>::type* pfn = f; //void (*pfn)(int, double) = f;と同じ
まあ素直にtypedefすべきだな。
124120
2009/02/08(日) 00:38:56 無名の構造体て書けなかったっけ?
そのポインタを宣言するのに必要な気がする。
struct {
} obj, *p;
そのポインタを宣言するのに必要な気がする。
struct {
} obj, *p;
125デフォルトの名無しさん
2009/02/08(日) 00:41:41 それって、コンパイラが勝手に適当な名前を付けるやつだっけ
126デフォルトの名無しさん
2009/02/08(日) 10:25:49127デフォルトの名無しさん
2009/02/08(日) 12:50:57 インスタンスが2つあれば、その切り替えに使えるかもしれないが、
ま、そこまでするなら型名付けた方がいいと思う。
ま、そこまでするなら型名付けた方がいいと思う。
128デフォルトの名無しさん
2009/02/08(日) 13:07:35 typedef struct {
} t, *p;
こんなのなら見るけど
} t, *p;
こんなのなら見るけど
129デフォルトの名無しさん
2009/02/09(月) 21:09:40 >>99
C言語のこの仕様はポインタの理解をさまたげてくれたなあ・・・
Delphiは前者が前提なんだが、C挫折してDelphiやってはじめてポインタの概念がわかったよ俺は
ポインタって「なんとかのポインタ」で1つの型なんだ、と気づくまでにやたら時間がかかた。
C言語のこの仕様はポインタの理解をさまたげてくれたなあ・・・
Delphiは前者が前提なんだが、C挫折してDelphiやってはじめてポインタの概念がわかったよ俺は
ポインタって「なんとかのポインタ」で1つの型なんだ、と気づくまでにやたら時間がかかた。
130デフォルトの名無しさん
2009/02/10(火) 12:22:29 ポインタ宣言に使う記号がアスタリスクなのもややこしいよね。
ポインタ絡みで間接演算子使うだけに。
ポインタ絡みで間接演算子使うだけに。
131デフォルトの名無しさん
2009/02/10(火) 12:28:56 if(flag){
}
if(flag == true){
}
どっちを選べばよいか・・・
}
if(flag == true){
}
どっちを選べばよいか・・・
132デフォルトの名無しさん
2009/02/10(火) 12:34:02 >>128 構造体の typedef 禁止
133デフォルトの名無しさん
2009/02/10(火) 13:29:14134デフォルトの名無しさん
2009/02/10(火) 15:04:14 if(flag){
この間にいくつスペースを挟めばいいのかわからない
この間にいくつスペースを挟めばいいのかわからない
135デフォルトの名無しさん
2009/02/10(火) 16:26:13 入れなくてもいいし、入れるのならif (flag) {がお勧め。
136デフォルトの名無しさん
2009/02/10(火) 17:11:33 "if"の後に一個、
"("の後に一個、
")"の後に一個スペースを入れないと、
かつ、二個以上入れた場合、コンパイルできない
とかいう仕様だったらいいのに。
俺は末期か・・・
"("の後に一個、
")"の後に一個スペースを入れないと、
かつ、二個以上入れた場合、コンパイルできない
とかいう仕様だったらいいのに。
俺は末期か・・・
137デフォルトの名無しさん
2009/02/10(火) 20:49:28 if の後に空白を入れるスタイルだと、
条件が二行以上に渡る場合に4タブで綺麗に揃う
条件が二行以上に渡る場合に4タブで綺麗に揃う
138デフォルトの名無しさん
2009/02/10(火) 20:52:17 >>136
MS信者?
MS信者?
139デフォルトの名無しさん
2009/02/10(火) 20:53:07 if ( hoge) {
こうか?
バランス悪すぎ
こうか?
バランス悪すぎ
140デフォルトの名無しさん
2009/02/10(火) 23:27:25 >137
漏れはこう
if( 条件1
|| 条件2 )
漏れはこう
if( 条件1
|| 条件2 )
141デフォルトの名無しさん
2009/02/11(水) 00:28:58 既存のコードにあとから手を付ける場合は、出来るだけ合わせて書いてるな
142デフォルトの名無しさん
2009/02/11(水) 01:38:12143デフォルトの名無しさん
2009/02/11(水) 01:57:32 じじいに言わせると80桁を越すと犯罪らしいぜ
144デフォルトの名無しさん
2009/02/11(水) 02:00:18 コーディング規約でも規定されない限り、横の長さはそれほど神経質に考えないな
ある程度は工夫するけど
ある程度は工夫するけど
145デフォルトの名無しさん
2009/02/11(水) 03:22:49 モニタが大きくなるとかえって80桁とかに縛りたくなる。
横にいくつもウィンドウを並べてみるのに都合がいい。
横にいくつもウィンドウを並べてみるのに都合がいい。
146デフォルトの名無しさん
2009/02/11(水) 06:14:45 端末エミュレータを三つ並べても100桁表示できるご時世だから、気にしてもねぇ。
そんな私はどちらかと言えばこっち。
if (条件1 ||
条件2) {
そんな私はどちらかと言えばこっち。
if (条件1 ||
条件2) {
147デフォルトの名無しさん
2009/02/11(水) 15:00:02 デバッガでトレースしやすいように1行で書いてる。
if (条件1 || 条件2 || 条件3 || 条件4 || 条件5 || 条件6 || 条件7 || 条件8 || 条件9 || 条件10) {
if (条件1 || 条件2 || 条件3 || 条件4 || 条件5 || 条件6 || 条件7 || 条件8 || 条件9 || 条件10) {
148デフォルトの名無しさん
2009/02/11(水) 15:06:14 ソースコード関係ないけど、未だにWindowsのデスクトップの縦のアイコン数は、1024x768時代の数だなw
でも最近Windows7使ってると、その傾向はなくなってきた(Vistaは常用したことない)
エディタは、文字数による改行なしで設定するのが俺のジャスティスだな
でも最近Windows7使ってると、その傾向はなくなってきた(Vistaは常用したことない)
エディタは、文字数による改行なしで設定するのが俺のジャスティスだな
149デフォルトの名無しさん
2009/02/11(水) 22:19:15150デフォルトの名無しさん
2009/02/11(水) 22:25:43 >>149
true でも TRUE でも以下の話は同じ。
> もし君が「if((a == b) == TRUE)」が「if(a == b)」の改良版であると信じるのなら、な ぜそこで止めるのか。なぜ「if (((a == b) == TRUE) == TRUE)」を 使わないのか
論理定数との比較自体が無意味。
true でも TRUE でも以下の話は同じ。
> もし君が「if((a == b) == TRUE)」が「if(a == b)」の改良版であると信じるのなら、な ぜそこで止めるのか。なぜ「if (((a == b) == TRUE) == TRUE)」を 使わないのか
論理定数との比較自体が無意味。
151デフォルトの名無しさん
2009/02/11(水) 22:26:58 ((a == b) == TRUE)
↑これ何の冗談?w
↑これ何の冗談?w
152デフォルトの名無しさん
2009/02/11(水) 22:30:57 >>151
つまりそういう皮肉
つまりそういう皮肉
153デフォルトの名無しさん
2009/02/11(水) 23:00:51154デフォルトの名無しさん
2009/02/11(水) 23:16:29 >>153
うるせぇなぁ。少しは応用しろよ。
>131 へのレスで挙げてるんだらこういうことだろ。
もし if(flag == true) が if(flag) より良いと思うのなら、なぜそこで止めるのか。
なぜ if(flag == true == true) を使わないのか。
うるせぇなぁ。少しは応用しろよ。
>131 へのレスで挙げてるんだらこういうことだろ。
もし if(flag == true) が if(flag) より良いと思うのなら、なぜそこで止めるのか。
なぜ if(flag == true == true) を使わないのか。
155デフォルトの名無しさん
2009/02/12(木) 01:10:46 処理上は無意味でも
if ( flag )より
if ( flag == true )のが
わかりやすくないか?
if ( flag )より
if ( flag == true )のが
わかりやすくないか?
156デフォルトの名無しさん
2009/02/12(木) 01:13:50 それじゃflagが2だったらとおらねぇだろ
157デフォルトの名無しさん
2009/02/12(木) 01:16:11 それでいいじゃんw
2が入ること自体がおかしい
2が入ること自体がおかしい
158デフォルトの名無しさん
2009/02/12(木) 01:27:37159デフォルトの名無しさん
2009/02/12(木) 01:41:46 trueはfalse以外が仕様だからそれじゃダメだっての。
if ( flag )
if ( flag != false )
これ以外は許されない
if ( flag )
if ( flag != false )
これ以外は許されない
160デフォルトの名無しさん
2009/02/12(木) 01:47:26161デフォルトの名無しさん
2009/02/12(木) 02:12:25 >>160
C言語だとダメなやつもあるから、0と0以外にしとくのが安全なスタイルってもんだよ。
比較演算の結果でてくる論理を比較するのもありだけどね。
assert( (p == NULL) != false );
C言語だとダメなやつもあるから、0と0以外にしとくのが安全なスタイルってもんだよ。
比較演算の結果でてくる論理を比較するのもありだけどね。
assert( (p == NULL) != false );
162デフォルトの名無しさん
2009/02/12(木) 02:15:40163デフォルトの名無しさん
2009/02/12(木) 02:33:29 いやいや、そこはこうでしょ
assert( (p == NULL) != false != false);ってのが(ry
assert( (p == NULL) != false != false);ってのが(ry
164デフォルトの名無しさん
2009/02/12(木) 02:47:00 だからさ、FAQの
> もし君が「if((a == b) == TRUE)」が「if(a == b)」の改良版であると信じるのなら、な ぜそこで止めるのか。なぜ「if (((a == b) == TRUE) == TRUE)」を 使わないのか
これがそもそもおかしい
おそらく原作者はジョークのつもりだったろうが、真に受けてるアホがいるからな・・・
> もし君が「if((a == b) == TRUE)」が「if(a == b)」の改良版であると信じるのなら、な ぜそこで止めるのか。なぜ「if (((a == b) == TRUE) == TRUE)」を 使わないのか
これがそもそもおかしい
おそらく原作者はジョークのつもりだったろうが、真に受けてるアホがいるからな・・・
165デフォルトの名無しさん
2009/02/12(木) 02:58:25 Cの(ユーザー定義の)TRUEとC++の(言語の)trueの違いがわかってない奴がいるな
Cでif(flag==TRUE)は間違いだが、C++でif(flag==true)は書き方の問題だ
書き方の問題=好みだよ
ここでif((flag==true)==true)を持ち出す奴はジョークが理解できないってことだ
Cでif(flag==TRUE)は間違いだが、C++でif(flag==true)は書き方の問題だ
書き方の問題=好みだよ
ここでif((flag==true)==true)を持ち出す奴はジョークが理解できないってことだ
166デフォルトの名無しさん
2009/02/12(木) 03:50:19 >>164
で、何がいいたいの?論理定数との比較を擁護するつもりなの?
で、何がいいたいの?論理定数との比較を擁護するつもりなの?
167デフォルトの名無しさん
2009/02/12(木) 04:00:02 >>165
はなから技術的な正しさとか間違いとかを問題としてるんじゃない。
論理定数との比較に意味が無く、混乱の元でしかないから書くべきではないという話だ。
(... == true) も (... != false) も同じくらいに意味が無い。
はなから技術的な正しさとか間違いとかを問題としてるんじゃない。
論理定数との比較に意味が無く、混乱の元でしかないから書くべきではないという話だ。
(... == true) も (... != false) も同じくらいに意味が無い。
168デフォルトの名無しさん
2009/02/12(木) 04:43:58 意味あるじゃん
ある特定の人間にとっては見やすいという意味が
ある特定の人間にとっては見やすいという意味が
169デフォルトの名無しさん
2009/02/12(木) 05:01:14 カスみたいな意味だな。
170デフォルトの名無しさん
2009/02/12(木) 10:58:38 一番ダメなのは is〜, has〜, can〜 などの自然に読み下せるように工夫した命名規則を
台無しにしてしまうこと。
if (x.isReady()) で済むところを
if (x.isReady() == true) だの
if (x.isReady() != false) だの
わざわざノイズを混ぜるのが許せない。
台無しにしてしまうこと。
if (x.isReady()) で済むところを
if (x.isReady() == true) だの
if (x.isReady() != false) だの
わざわざノイズを混ぜるのが許せない。
171デフォルトの名無しさん
2009/02/12(木) 11:49:41 俺はif(flag)派だが、if(flag==true)なソースを見てもいちいち噛み付かないな
TRUEは明らかに不味いがtrueは見た目の問題、見易いかどうかは主観だからな
それをノイズと感じるのも自由だし、そんなのは人に押し付けなければどっちでもいい
それよりTRUEとtrueを混同して大昔のFAQを持ち出したり、
技術と好みの違いが分からない奴の方がスキル低いだろ
TRUEは明らかに不味いがtrueは見た目の問題、見易いかどうかは主観だからな
それをノイズと感じるのも自由だし、そんなのは人に押し付けなければどっちでもいい
それよりTRUEとtrueを混同して大昔のFAQを持ち出したり、
技術と好みの違いが分からない奴の方がスキル低いだろ
172デフォルトの名無しさん
2009/02/12(木) 13:42:38 TRUEとの比較には問題があるなんて>>133なども当然理解しているだろ。
それは誰もが理解しているという前提で、本筋からそれるのでスルーしただけにしか思えない。
それは誰もが理解しているという前提で、本筋からそれるのでスルーしただけにしか思えない。
173デフォルトの名無しさん
2009/02/12(木) 22:31:56 初見のソースでif( hoge == true ) と書かれていると、hogeがboolになっているか、
そうでなければtrue/falseの2値しか取り得ないのかチェックする手間が生じる。
初見じゃなくてもどうなってるかいずれ忘れるかもしれない。
(そんなの気にしないとかってのは論外過ぎる)
if( hoge != false ) も、万人がつっかえず読めるソースであるとは言い切れない。
そうでなければtrue/falseの2値しか取り得ないのかチェックする手間が生じる。
初見じゃなくてもどうなってるかいずれ忘れるかもしれない。
(そんなの気にしないとかってのは論外過ぎる)
if( hoge != false ) も、万人がつっかえず読めるソースであるとは言い切れない。
174デフォルトの名無しさん
2009/02/13(金) 00:20:00 もしかしてflagが2でも==trueなら通るのか?
175デフォルトの名無しさん
2009/02/13(金) 00:35:12 flagに2が入っている時点で不具合だとしか思わない
bool型ならな
bool型ならな
176デフォルトの名無しさん
2009/02/13(金) 01:02:25 素直に!=falseにしとけよ。
177デフォルトの名無しさん
2009/02/13(金) 04:07:26 >>172
理解してたらtrueに対してFAQ(TRUE)を持ち出さないだろ
理解してたらtrueに対してFAQ(TRUE)を持ち出さないだろ
178デフォルトの名無しさん
2009/02/13(金) 10:51:29 ヘンなケースだけど if (flag) 形式は
うっかり bool の配列を渡してハマりそうになったことあるなぁ
bool array[2];
if (array)
みたいな
うっかり bool の配列を渡してハマりそうになったことあるなぁ
bool array[2];
if (array)
みたいな
179デフォルトの名無しさん
2009/02/13(金) 14:13:43180デフォルトの名無しさん
2009/02/13(金) 14:19:19 読み違えてるよ
181デフォルトの名無しさん
2009/02/13(金) 14:23:58 hoge == 1 は何とも思わないが、 hoge == true を見つけたら bool 値に対する理解が
不十分な可能性を疑わざるを得ないだろうね。バグを探してるときならなおさら。
signed/unsigned が混在してたり、可変長引数にキャスト無しの NULL を渡してたり、
ループ変数に char が使ってあったりするのと同じ。言語仕様の不十分な理解から出る
バグのにおいがする。
不十分な可能性を疑わざるを得ないだろうね。バグを探してるときならなおさら。
signed/unsigned が混在してたり、可変長引数にキャスト無しの NULL を渡してたり、
ループ変数に char が使ってあったりするのと同じ。言語仕様の不十分な理解から出る
バグのにおいがする。
182デフォルトの名無しさん
2009/02/13(金) 14:37:11 hoge==true見つけただけで言語使用を理解してない可能性を疑うってどんだけレベルの低い環境なんだ
ところで181の挙げた例に細かいミスがあるんだが、普段の俺ならスルーしてあげる
だが181の論理によれば、俺からみたら181は言語使用を理解してないと疑わざるを得ない
ところで181の挙げた例に細かいミスがあるんだが、普段の俺ならスルーしてあげる
だが181の論理によれば、俺からみたら181は言語使用を理解してないと疑わざるを得ない
183デフォルトの名無しさん
2009/02/13(金) 14:38:48 言語使用→言語仕様
184181
2009/02/13(金) 14:43:46 何かミスがあるというなら言語仕様を理解していないと疑われるのはしかたがないと思うけど、
できればはっきりと指摘してほしいところだね。
できればはっきりと指摘してほしいところだね。
185デフォルトの名無しさん
2009/02/13(金) 14:46:01 どうせハッタリだろ。
186デフォルトの名無しさん
2009/02/13(金) 15:08:25 なんか話ずれてるけど
173はif(hoge==true)ならhogeがboolかチェックするんでしょ?
もうその時点でありえないんだけど、そんな底辺レベルの職場なら
if(hoge==1)でもhogeがintかチェックする必要がある、チェックしないのはダブスタじゃん
って意味だよね、違う?
普通の職場なら同僚やらオープンソースで
if(hoge==true)見つけても、「あらあら、このひとはtrueと比較しちゃうんだ」って思って終わりだよ
どんだけ病んだ職場で働いてるんだ、転職したほうがいいよ
173はif(hoge==true)ならhogeがboolかチェックするんでしょ?
もうその時点でありえないんだけど、そんな底辺レベルの職場なら
if(hoge==1)でもhogeがintかチェックする必要がある、チェックしないのはダブスタじゃん
って意味だよね、違う?
普通の職場なら同僚やらオープンソースで
if(hoge==true)見つけても、「あらあら、このひとはtrueと比較しちゃうんだ」って思って終わりだよ
どんだけ病んだ職場で働いてるんだ、転職したほうがいいよ
187デフォルトの名無しさん
2009/02/13(金) 15:25:30 >>186
hoge == true (あるいは hoge != false ) を書くような人は bool 型や if 文になどついての理解が
あやふやな可能性が高いので、同様に理解の不足から int == true などという間違いを犯している
可能性があることを推測できる。
hoge == 1 を見ただけではそのような推測はできない。
関連箇所でのバグを探してるんじゃなければスルーすることも多いだろう。それが普通だというのも
妥当な話だ。しかし、スレタイを読む限りここでそれを主張するのは無意味だろう。
hoge == true (あるいは hoge != false ) を書くような人は bool 型や if 文になどついての理解が
あやふやな可能性が高いので、同様に理解の不足から int == true などという間違いを犯している
可能性があることを推測できる。
hoge == 1 を見ただけではそのような推測はできない。
関連箇所でのバグを探してるんじゃなければスルーすることも多いだろう。それが普通だというのも
妥当な話だ。しかし、スレタイを読む限りここでそれを主張するのは無意味だろう。
188デフォルトの名無しさん
2009/02/13(金) 20:14:16 あのさ,
if (is_true_this(x) || is_true_that(x)) {
}
ってコーディングを許してくれないのはなぜ?
仕様的に副作用がない事を要求されている関数使って、なんで
this_is_true = is_true_this(x);
that_is_true = is_true_that(x);
if (this_is_true || that_is_true) ....
って、かかんとあかんわけ?
if (is_true_this(x) || is_true_that(x)) {
}
ってコーディングを許してくれないのはなぜ?
仕様的に副作用がない事を要求されている関数使って、なんで
this_is_true = is_true_this(x);
that_is_true = is_true_that(x);
if (this_is_true || that_is_true) ....
って、かかんとあかんわけ?
189デフォルトの名無しさん
2009/02/13(金) 20:15:31 関数が何返したのか分かりにくい
190173
2009/02/13(金) 22:09:36 >179,182
if( hoge == TRUE )のケースを考えてみてよ。
hogeは本当にTRUEかFALSEしか取り得ないのか不安にならない?
漏れが指摘したいのはむしろこっちの方なんだよ。
if( hoge == true )の場合は気にし過ぎってのは素直に認める。
(コンパイルすりゃすぐ分かるというのはEnter押してから気付いた)
でもバグ発生時には疑うべき記述だと思う。
if( hoge == TRUE )のケースを考えてみてよ。
hogeは本当にTRUEかFALSEしか取り得ないのか不安にならない?
漏れが指摘したいのはむしろこっちの方なんだよ。
if( hoge == true )の場合は気にし過ぎってのは素直に認める。
(コンパイルすりゃすぐ分かるというのはEnter押してから気付いた)
でもバグ発生時には疑うべき記述だと思う。
191デフォルトの名無しさん
2009/02/13(金) 23:40:30 if ((!!flag == true) != false) {
flag = true;
flag = true; // 念のためもう一度
}
これくらいやっとけば安心
flag = true;
flag = true; // 念のためもう一度
}
これくらいやっとけば安心
192デフォルトの名無しさん
2009/02/14(土) 00:48:46 実際、trueやfalseと比較し捲くっているコードを整理したら、若干ではあるけど
所要時間に有意差が認められたからなぁ。
所要時間に有意差が認められたからなぁ。
193デフォルトの名無しさん
2009/02/14(土) 01:01:22 (1) if( hoge == TRUE )
(2) if( !!hoge == true )
(3) if( hoge == true )
(4) if( hoge )
最悪のケースを想定した場合、読み手が考え込む時間が一番短いのは(4)でしょ。
ifの動き、hogeの値、コーディングスタイル、ネーミング位しか悩める要素が無いんだから。
他は最悪、型とか脳内演算とかで、余計な思考時間を生んでしまう恐れがある。
(2) if( !!hoge == true )
(3) if( hoge == true )
(4) if( hoge )
最悪のケースを想定した場合、読み手が考え込む時間が一番短いのは(4)でしょ。
ifの動き、hogeの値、コーディングスタイル、ネーミング位しか悩める要素が無いんだから。
他は最悪、型とか脳内演算とかで、余計な思考時間を生んでしまう恐れがある。
194デフォルトの名無しさん
2009/02/14(土) 01:35:45 true との比較では所要時間に差は出るだろうが
false との比較で差が出るのは最適化レベルがおかしいんじゃないのか
false との比較で差が出るのは最適化レベルがおかしいんじゃないのか
196デフォルトの名無しさん
2009/02/14(土) 01:42:04 あえて(2)を混ぜて誤魔化してないか?w
197デフォルトの名無しさん
2009/02/14(土) 11:27:41198デフォルトの名無しさん
2009/02/14(土) 11:52:14 逆にboolをtrueと比較して困るケースの具体例、つか経験談ってある?
199デフォルトの名無しさん
2009/02/14(土) 11:58:59 >>198
1以外の値が入ってるときとか。
1以外の値が入ってるときとか。
200デフォルトの名無しさん
2009/02/14(土) 11:59:12 >>198
>194
>194
201デフォルトの名無しさん
2009/02/14(土) 16:47:04 ちょっと違う話かも知れんが、
if (式) {
return true;
} else {
return false;
}
なんてプログラムを見ることがたまにある。
最初からreturn 式;にしろよ、って思う。
if (式) {
return true;
} else {
return false;
}
なんてプログラムを見ることがたまにある。
最初からreturn 式;にしろよ、って思う。
202デフォルトの名無しさん
2009/02/14(土) 16:48:03 変更になりそうな箇所がおおいならそう書くこともある。
203デフォルトの名無しさん
2009/02/14(土) 19:46:26 漏れはこうだなあ。
if (式) {
return true;
}
return false;
if (式) {
return true;
}
return false;
204デフォルトの名無しさん
2009/02/14(土) 19:54:47 そういうのを書く時は最終的にtrueを返すようにしてるな
205デフォルトの名無しさん
2009/02/14(土) 19:55:23 return (式) ? true : false;
206デフォルトの名無しさん
2009/02/14(土) 21:41:18 >>205
これはないな。
これはないな。
207デフォルトの名無しさん
2009/02/14(土) 21:58:37 式が関数でtrue/falseの意味が取り違える可能性があるような名前ならアリかもな。
208デフォルトの名無しさん
2009/02/15(日) 16:12:23209デフォルトの名無しさん
2009/02/15(日) 17:18:59 static
_Boolean checkLevel(
double value,
double level,
_Boolean reverse )
{
if ( reverse == _False ) {
if ( level <= value ) {
return _True;
}
} else {
if ( value < level ) {
return _True;
}
}
return _False;
}
--
これ見たときはどうしてくれようかと思った。
_Boolean checkLevel(
double value,
double level,
_Boolean reverse )
{
if ( reverse == _False ) {
if ( level <= value ) {
return _True;
}
} else {
if ( value < level ) {
return _True;
}
}
return _False;
}
--
これ見たときはどうしてくれようかと思った。
210デフォルトの名無しさん
2009/02/15(日) 17:55:06 設計書にそういう「ロジック」を書いてるんだろうなあ。。。
1. 引数は値、レベル、反転フラグとする。
2. 反転フラグが _False であれば、以下を行う。
1) ・・・
3. 上記以外の場合、以下を行う。
1) ・・・
日本人プログラマが10人いれば、8人は何も考えずにコーディングを行う。
1人は、「反転フラグて。。。呼び出し側で結果を反転させりゃいいのに。。。」とか思いながらコーディングを行う。
残りの1人だけが「なんで設計書にロジック書いてんだwwwこの現場やべえwww」と笑い、辞める。
1. 引数は値、レベル、反転フラグとする。
2. 反転フラグが _False であれば、以下を行う。
1) ・・・
3. 上記以外の場合、以下を行う。
1) ・・・
日本人プログラマが10人いれば、8人は何も考えずにコーディングを行う。
1人は、「反転フラグて。。。呼び出し側で結果を反転させりゃいいのに。。。」とか思いながらコーディングを行う。
残りの1人だけが「なんで設計書にロジック書いてんだwwwこの現場やべえwww」と笑い、辞める。
211デフォルトの名無しさん
2009/02/15(日) 18:11:22 >>210
設計書を書いた奴と相談するっていう選択肢が無いのが悲しいな。
設計書を書いた奴と相談するっていう選択肢が無いのが悲しいな。
212デフォルトの名無しさん
2009/02/15(日) 20:05:55 _Booleanはどういう定義なんだよソレw
213209
2009/02/15(日) 20:14:34214デフォルトの名無しさん
2009/02/16(月) 05:43:24 "<="や">="を書くことが幼稚な気がして今まで避けてきたんだが
"<"や">"は小数を扱うのが正しい使い方で、
整数を扱う場合はイコールをつけたほうが直感的な気がする
for(int i=0; i<10; i++)
ってのが一般的で10回カウントするってのが直感的にわかるけど
なんというか、行って帰ってきて結果的にはあってるって感じで、
for(int i=0; i<=9; i++)
のが1から9まで1ずつカウントするって意味で
正しい使い方な気がする
"<"や">"は小数を扱うのが正しい使い方で、
整数を扱う場合はイコールをつけたほうが直感的な気がする
for(int i=0; i<10; i++)
ってのが一般的で10回カウントするってのが直感的にわかるけど
なんというか、行って帰ってきて結果的にはあってるって感じで、
for(int i=0; i<=9; i++)
のが1から9まで1ずつカウントするって意味で
正しい使い方な気がする
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 ★3 [少考さん★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★2 [Hitzeschleier★]
- 三谷幸喜氏 温泉嫌いの理由を熱弁「知らない人の股間を素通りしたお湯なんですよ」「おじさんの肛門を通り過ぎたお湯が自分の前に」 [Ailuropoda melanoleuca★]
- 【伊原剛志】62歳俳優、夫婦別姓に「選択出来るならしたい人はする したくない人はしない 何が問題?」 [少考さん★]
- M-1審査員 今年も松本人志の名前なし 9人発表 ミルクボーイ駒場、フット後藤は初 21日決勝 [ひかり★]
- ベトナムのバイク「脱ガソリン」、シェア8割のホンダに打撃…政府が電動二輪普及を主導 [煮卵★]
- 後藤ひとり(ぼっち・ざ・ろっく)承認欲求モンスターバージョンがフィギュア化キ​タ━━━━(゚∀゚)━━━━!! [724976303]
- 【実況】博衣こよりのえちえちドラクエ1&4リメイク🧪★2
- 【悲報】すまん何で日本ってこんなに反『中国』が増えたんだ?ネトウヨどころかそこらの一般人レベルでもゴロゴロいる [483447288]
- M-1グランプリ審査員発表…松本無し石田無しくるま無し粗品無し高市無し [462275543]
- 【悲報】「大阪万博」建設費が不足したから前回の大阪万博の儲けを回して補う方針。大成功してたはずなのになぜ・・・ [616817505]
- あ、出ちゃう、イクッ😫💦🏡
