コーディングトラブルの約70%はif文などでの{}省略
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/09(金) 14:02:01あとでコードを足さなければならない事態なんていくらでもやってくる。
他人がきちんと中括弧補ってくれるかどうかはわからない。
1行文だろうがなんだろうが
最初から中括弧をつけるクセをつけろ
0229デフォルトの名無しさん
2007/03/14(水) 04:48:53{
;
}
↑これは異端か?
0230デフォルトの名無しさん
2007/03/14(水) 05:29:000231デフォルトの名無しさん
2007/03/14(水) 06:53:590232デフォルトの名無しさん
2007/03/14(水) 10:31:18{ ; } unless hoge;
0233デフォルトの名無しさん
2007/03/14(水) 10:41:260234デフォルトの名無しさん
2007/03/14(水) 17:09:170235デフォルトの名無しさん
2007/03/14(水) 17:26:030236デフォルトの名無しさん
2007/03/14(水) 19:21:200237デフォルトの名無しさん
2007/03/15(木) 16:12:21それは局所的にしか通じないだろう。
0238デフォルトの名無しさん
2007/03/15(木) 16:57:00esac ってなんだろと。
0239デフォルトの名無しさん
2007/03/15(木) 17:06:360240デフォルトの名無しさん
2007/03/16(金) 22:54:36言語はどんなものがありますか。
0241デフォルトの名無しさん
2007/03/16(金) 23:11:150242デフォルトの名無しさん
2007/03/17(土) 13:24:530243デフォルトの名無しさん
2007/03/17(土) 13:25:180244デフォルトの名無しさん
2007/03/17(土) 13:43:26とりあえず腹をくくることにしている。
0245デフォルトの名無しさん
2007/03/17(土) 13:51:370246デフォルトの名無しさん
2007/03/17(土) 13:52:380247デフォルトの名無しさん
2007/03/17(土) 14:27:110248デフォルトの名無しさん
2007/03/17(土) 14:29:25なんで?
0249デフォルトの名無しさん
2007/03/17(土) 14:33:05あ?遊びでやってんじゃねーんだぞ
0250デフォルトの名無しさん
2007/03/17(土) 14:34:46kwsk
0251デフォルトの名無しさん
2007/03/17(土) 14:37:04or
テストケース再実行すりゃいいじゃん
好きなほうで
0252デフォルトの名無しさん
2007/03/17(土) 14:40:180253デフォルトの名無しさん
2007/03/17(土) 14:41:430254デフォルトの名無しさん
2007/03/17(土) 14:45:04ちょー大規模プロジェクトをやってるんだろう。
0255デフォルトの名無しさん
2007/03/17(土) 14:49:30>バイナリがかわんなきゃよくね?
これは納得できる
>テストケース再実行すりゃいいじゃん
手動のテストケースもあるから無理
仮に全自動であったとしても時間無駄にしてんじゃねーよ
>>252
ソース整形しただけの個所までテストするのが時間の無駄
>>253
改行した瞬間に自動的にソース整形するVBが最適解か……orz
0256デフォルトの名無しさん
2007/03/17(土) 14:53:350257デフォルトの名無しさん
2007/03/17(土) 14:54:49時間かかるテストは、夜走らせとけよ
エディタorIDE
↓
リポジトリ(コミット時にソース整形)
↓
CI(夜間に自動ビルド+テスト)
これ大抵の言語でいけるだろ。
0258デフォルトの名無しさん
2007/03/17(土) 16:57:260259デフォルトの名無しさん
2007/03/18(日) 01:12:11そんなの^(unsigned)*[int|char|short|float|double] [a-Z]+[0-9|a-Z]*\(とかで検索すればいいんじゃね?
0260デフォルトの名無しさん
2007/03/18(日) 01:20:04viでは検索が日常的なカーソル移動手段のひとつなんだよ。
0261デフォルトの名無しさん
2007/03/18(日) 01:34:57ぜんぜんだめ。おはなしにならない。
0262デフォルトの名無しさん
2007/03/18(日) 01:51:220263デフォルトの名無しさん
2007/03/18(日) 05:35:270264デフォルトの名無しさん
2007/03/18(日) 07:02:14コンパイラの本でも嫁
0265デフォルトの名無しさん
2007/03/18(日) 11:30:39そもそもどのレスに依存するのだろう。
0266デフォルトの名無しさん
2007/03/18(日) 11:33:560267デフォルトの名無しさん
2007/03/18(日) 11:41:310268デフォルトの名無しさん
2007/03/18(日) 11:50:270269デフォルトの名無しさん
2007/03/18(日) 13:40:300270デフォルトの名無しさん
2007/03/18(日) 13:49:32ぽっかり口をあけているC言語のどの辺がガチガチ?
0271デフォルトの名無しさん
2007/03/18(日) 14:23:150272263
2007/03/18(日) 18:26:200273デフォルトの名無しさん
2007/03/18(日) 19:16:41かっこが自由に無制限に入れ子に出来るパターンは
正規表現じゃ理論上無理らしいよ
0274デフォルトの名無しさん
2007/03/18(日) 20:28:250275デフォルトの名無しさん
2007/03/18(日) 20:33:57線形構造しか表現できない.
A→B→C
A is B.
B is C.
文脈自由文法は a is b and c のルール.
木構造を表現できる.
A┬B
└C┬D
└E
A is B and C.
C is D and E.
そういうこっちゃ.
0276デフォルトの名無しさん
2007/03/18(日) 21:01:570277デフォルトの名無しさん
2007/03/18(日) 21:11:130278デフォルトの名無しさん
2007/03/19(月) 00:02:33レギュラーのメンツだけでやってくれ、というわけですね。
0279デフォルトの名無しさん
2007/03/19(月) 05:52:30俺は例えば if なら
if(式) 文;
文が一行で、かつこの行が長くならない場合だけ { } を使わずに書くかなぁ。
if(式)
文;
と書くぐらいならブレースを使ってる。
0280デフォルトの名無しさん
2007/03/19(月) 07:18:05やっぱ1行でもブロックにする?
0281デフォルトの名無しさん
2007/03/19(月) 07:27:01そういう時ローカル関数使える言語だといいんだけどな。
0282デフォルトの名無しさん
2007/03/19(月) 08:29:050283デフォルトの名無しさん
2007/03/19(月) 08:35:210284デフォルトの名無しさん
2007/03/19(月) 08:44:43読みやすくすることが目的なのに。
0285279
2007/03/19(月) 20:21:25うん。条件が長い時もブレースにする。
もしくは条件式の閉じ括弧を実行文の行に持ってくる。
これなら俺は間違えない。集団ならやらんけど。
if(
条件式
) 実行文;
BASICで育ったんで一行IF/ブロックIFが基本、
長い時はブロック化するかこうしてたからなー。
IF 〜 _
THEN 実行文
0286デフォルトの名無しさん
2007/04/03(火) 13:47:00if (式) 文1つ ;
if (式) {
複数の文
}
のいずれか片方のみ可。
0287デフォルトの名無しさん
2007/04/03(火) 14:34:400288デフォルトの名無しさん
2007/04/03(火) 14:35:550289デフォルトの名無しさん
2007/04/03(火) 14:49:39{
・・・
}
これに統一すると美しい
0290デフォルトの名無しさん
2007/04/03(火) 14:58:540291デフォルトの名無しさん
2007/04/11(水) 06:53:45自分には美しく見えない。
変数のスコープのために、
{
何か
{
何か
}
何か
}
という書き方をする場合があるので、
if (式)
{
何か
}
という書き方を許してしまうと、{ が現われたとき、
if (式)
{
何か
}
という可能性を考えて、前方向をチェックしなくてはならない。
if (式) {
何か
}
というように同じ行に書くように強制すれば、見てすぐにわかる。
if (式) と { が生き別れになってしまうこともない。
0292デフォルトの名無しさん
2007/04/11(水) 11:19:49そのルールが気に入らない場合は、自分が読む時に整形しなおせばいい。
そして、読み終わったら元に戻すと。
0293デフォルトの名無しさん
2007/04/11(水) 11:36:07書くときはまわりに合わせりゃそれでいいじゃないの。
こんなのが原因でトラブるやつは他の原因でもっとトラブるよ。
0294デフォルトの名無しさん
2007/04/11(水) 12:55:21つ[c++ or c99]
0295デフォルトの名無しさん
2007/04/11(水) 14:17:170296デフォルトの名無しさん
2007/04/11(水) 22:35:26そうなのか。
あれは、それぞれがシェルコマンドみたいなもんだからな。
0297デフォルトの名無しさん
2007/04/12(木) 19:54:03そこでバッサリ文末になるからな
0298デフォルトの名無しさん
2007/04/12(木) 20:55:47二項演算式の途中とか対応するカッコを閉じる前のような、文が未完結である
ことがわかる場合は途中改行ができる。完結しているように見える場合は、
¥を付けて明示的に継続する必要がある。
0299デフォルトの名無しさん
2007/04/12(木) 23:55:43なんでそんなにも ; なくしたかったのかな?
0300デフォルトの名無しさん
2007/04/13(金) 00:57:430301デフォルトの名無しさん
2007/04/13(金) 01:16:58俺は逆に
何でわざわざ毎回行末を書かなきゃいけないんだ?
行末は普通文末だろ?
と思うぞ。
結局、普段使ってる言語の影響が強いんだと思う。
Lisperは文末どころか文の始まりまで毎回書くんだもんな…凄いと思う。
0302デフォルトの名無しさん
2007/04/13(金) 09:50:40無いほうが自然なんだな、と実感する
0303デフォルトの名無しさん
2007/04/13(金) 10:13:040304デフォルトの名無しさん
2007/04/13(金) 11:38:370305デフォルトの名無しさん
2007/04/13(金) 14:28:13むしろ、その時代はカラム制限があったから
セミコロン文末の方が利点が多かったろうに
ある程度のカラムが扱えるなら継続行のみ明示で良いと思うぞ
どうせそんな滅茶苦茶長い行書かないし
…ああ、C言語は使うAPIによっちゃ長い行が普通になるのか
0306デフォルトの名無しさん
2007/04/13(金) 19:18:25Lisperにはカッコは見えていないし意識して入力もしてないw
0307デフォルトの名無しさん
2007/04/13(金) 19:56:09そういうモノなのかw
他言語の人(俺含)から見れば大量の括弧の方が目につくんだがな〜
0308デフォルトの名無しさん
2007/04/13(金) 20:56:19begin endが目につくpascalとか
:-が目につくprologとか
{}が目につくCとか
<>が目につくXMLとか
0309デフォルトの名無しさん
2007/04/13(金) 21:57:000310デフォルトの名無しさん
2007/04/14(土) 01:53:45class hoge { どわーーー}
という具合に1行に書かないといけなくなりますぞ。
0311デフォルトの名無しさん
2007/04/14(土) 09:42:140312デフォルトの名無しさん
2007/04/14(土) 09:43:53そういう言語は
・閉じ括弧が少ない場合はブロックが継続する
・構文でブロックを示すからendが来るまでブロックが継続する
のどちらかを備えてるだろ普通。
Tclは前者。
BASICやCOBOLは後者。
Rubyは両方使ってるな。
Pythonはインデントでブロックを示すんだっけ?
0313デフォルトの名無しさん
2007/04/14(土) 12:12:360314デフォルトの名無しさん
2007/04/16(月) 22:57:370315デフォルトの名無しさん
2007/04/17(火) 04:31:020316デフォルトの名無しさん
2007/08/31(金) 11:46:070317デフォルトの名無しさん
2007/09/01(土) 15:23:250318デフォルトの名無しさん
2007/09/01(土) 15:33:260319デフォルトの名無しさん
2007/09/01(土) 17:16:33K&R、省略しまくりじゃん。
0320デフォルトの名無しさん
2007/09/02(日) 06:09:15コードブロックよりもセミコロンがない言語が苦手だな
0321デフォルトの名無しさん
2007/09/02(日) 18:34:190322デフォルトの名無しさん
2007/09/02(日) 21:58:200323デフォルトの名無しさん
2007/09/02(日) 23:07:250324デフォルトの名無しさん
2007/09/03(月) 00:46:44○ if a then b else c;
× if a then b; else c; (コンパイルエラー)
Cはどっちも大丈夫
0325デフォルトの名無しさん
2007/09/03(月) 01:18:280326デフォルトの名無しさん
2007/09/03(月) 13:06:030327デフォルトの名無しさん
2007/12/31(月) 03:42:45セミコロン付けると、そこでif文が終わるから
「文頭にelseはおかしい」って言われるんだよね。
0328デフォルトの名無しさん
2008/03/05(水) 17:00:17; が文同士のセパレータではなく文の終端記号でしかないから、
b; が 1 文となって問題にならない、ってこと。
■ このスレッドは過去ログ倉庫に格納されています