2012年02月02日
川俣晶の縁側ソフトウェア技術雑記total 6148 count

続・C系言語で、a = b = 123;といった複数対象への値の代入を積極的に肯定すべきか?

Written By: 川俣 晶連絡先

Subject: C系言語で、a = b = 123;といった複数対象への値の代入を積極的に肯定すべきか?

Keyword: 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

URL: http://mag.autumn.org/Content.modf?id=20050707181234

名前:

メールアドレス:

本文:

a.prop1 = a.prop2 = ちょっと負担の重い式;

となっていますが、

演算の順番を考慮すると

a.prop2 = a.prop1 = ちょっと負担の重い式;

では無いかと思ったので投稿しました。

「また来たよ。一切名乗らない無礼な人」

「仮名すら名乗らないのは、それが良くない行為だってことが分かってないのかな?」

「分かってないだろ。分かってないのがネットの常識」

「ネットの常識は世間の非常識ってことか」

「そうだな」

「では指摘の問題はどう解釈すべきなの?」

「代入の順番を意識すると正しいことを言っているようにも思えるが、文章の趣旨からするとそうとも断言できない」

「なぜ?」

「この文章のテーマは、2つのプロパティに同じ値を入れる方法だ。等価な式の書き換えではない」

「もっとかみ砕いて説明してくれよ」

「だからさ。プロパティの実装に副作用が無い場合、a=b=cとb=a=cの結果は等価なんだ。その場合、実はb=a=cとは書きたくない」

「どうして?」

「見た目が美しくないからね。同じなら順番に文字が並ぶa=b=cの方がいい」

「もしも、副作用があったら?」

「あったら別の書き方をしていただろう」

「それは空気でよめということ?」

「そうじゃない。以下のように書いてあるだろ?」

ついさっき、C#で2つのプロパティに同じ値を設定するコードを書くことになったのですが、これをスマートに重複無くシンプルに書き切る方法を探していました。

「どういうこと?」

「実際のコードで書くことを前提に話をしているんだ。書いて意図した機能が実現出来たからこの文章はある。だから空気なんて読む必要は無い。文章を読めば、この時点の書き手のニーズはこれで満たされていることが分かる」

「じゃあ、無礼君のニーズは満たされないが、君のニーズは満たされていたんだね」

「いや、無礼君のニーズも満たされていたんだよ」

「えっ?」

「本を書いている偉そうな川俣氏の欠陥を指摘できる僕ってもっと賢い、という満足感が得られた」

「ぎゃふん」

感想 §

「しかし、もう興味も無い古い問題にコメントされてもな。積極的に答えるのもぜんぜん意欲が沸かない」

「日付を見れば2005年だよね。古いよね」

「完全に忘れていた話だ」

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2012年
02月
08日
完璧を目指すよりまず終わらせろ
3days 0 count
total 3917 count
【技術雑記】の前のコンテンツ
2012年
02月
01日
まだWindows Azureが満2歳って信じられない!
3days 0 count
total 3267 count

このサイト内の関連コンテンツ リスト

2005年
07月
07日
C系言語で、a = b = 123;といった複数対象への値の代入を積極的に肯定すべきか?
3days 0 count
total 13289 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20120202193643
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.