掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.25678

return文はシンプル?
投稿者---RiSK(2006/01/23 23:55:00)


No.25674の派生スレッドです。

上記スレッドによると
「return直後の式は単純な副作用なしのオブジェクトを返すようにするべし」
ととれるコーディング規約があるようです。
理由は「デバッグがしやすい」,「後で直す際にわかりにくくなる」というものでした。

この件について自由に語ってください。
ただし,「誰が/どこで」やっているを話の中心にするのは禁止です。
「何」をやっているか,「なぜ」やっているか,「どのように」やっているか
(あるいはやっていないか)を議論してください。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:return文はシンプル? 25679 RiSK 2006/01/23 23:55:30
<子記事> Re:return文はシンプル? 25680 nop 2006/01/24 00:22:06
<子記事> Re:return文はシンプル? 25696 ぽへぇ 2006/01/25 06:35:03
<子記事> Re:return文はシンプル? 25701 がりんしゃ 2006/01/25 11:11:34


No.25679

Re:return文はシンプル?
投稿者---RiSK(2006/01/23 23:55:30)


まず,私から。

なぜ「デバッグしやすい」のか分かりません。

以下のようなコードがあったとして…
int add(int a,int b){
    return a+b;
}
int main(void){
    add(1,2);
}

VC6ではadd(1,2);の次の行へステップオーバーする際に
変数ペインの自動タブに add 戻り値 3 と表示されます。
何もデバッグしにくいとは感じません。
また,一時オブジェクトを利用した方がデバッグしやすくなる
というのも理解できません。


この投稿にコメントする

削除パスワード

No.25680

Re:return文はシンプル?
投稿者---nop(2006/01/24 00:22:06)


コーディング規約に関しては、そこかしこで不思議なものがあったりしますが、
派生元スレッドのスレ主が所属する団体ではそう決まっているのでしょう。


ちなみに私は、return に限らず、極力括弧は使いません。
括弧があった方が見やすいだろうと思える箇所、
または括弧がどうしても必要な場合のみです。

括弧が多すぎると逆に見にくくなることも多々あるので、
スペースや改行で区切るなどするようにしています。

従って、私の場合ですと以下のようになるでしょう。

  return value * value * value;


この投稿にコメントする

削除パスワード

No.25696

Re:return文はシンプル?
投稿者---ぽへぇ(2006/01/25 06:35:03)


return文の中はシンプルにする派かなぁ。
値が怪しくなりそうな奴は身構える。
あとは演算コスト次第。

例として適切かどうかは不明ですが、
    return (X + a*a*a+b*b+c)/(Y + a*a*a+b*b+c);
というのがあったら(最適化が貧弱なコンパイラの代わりに)
    d = a*a*a+b*b+c;
とおいて演算コストを稼ぎつつ、
d が -Y に近いかどうか(0除算)チェック。

#0除算に関してはもっと前の段階でなにかしら考えると思う。




この投稿にコメントする

削除パスワード

No.25701

Re:return文はシンプル?
投稿者---がりんしゃ(2006/01/25 11:11:34)


私の他愛も無いソースが題材になるとは・・・

私は前回も書いたように、コーディング規則として決められてるので、returnの中は簡潔にしています。
ただ、規則とは言っていますが、計算式が複雑な場合、別の部分で代入してからreturnに与えた方が見やすいかなと、自分でも思っていますので自然に使ってます。デバッグがやり易いかどうかはわかりません・・・

ちなみに、プログラムを始めた頃からの癖(?)で、returnに限らず括弧を多く使います。



この投稿にコメントする

削除パスワード

No.25729

Re:return文はシンプル?
投稿者---ぽへぇ(2006/01/26 07:59:46)


>私の他愛も無いソースが題材になるとは・・・
よくある話です。
http://c.csh.sh/style/return.html



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧