[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part138 http://mevius.5ch.net/test/read.cgi/tech/1528194762/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
55: デフォルトの名無しさん (ワッチョイ 13b3-3s1o) [] 2018/06/09(土) 11:11:10.00 ID:3S5Pjg6F0 構造化制御文はインデントされた行を1行と1行、例えば if (a == b) { と } で挟むのが、 パッと見たとき一体に見えて分かりやすい。{ を単独行にすると、{ と } で挟まれた 無名ブロックがあって、その上に構造的に無関係な1行のif文があるように見えてしまう。 もう少しじっくり見れば、行末の ; の有無で下のブロックとの関係を判別できるが、 その一瞬の認知の遅れに違和感を覚え、もっとはっきり言えばキモいコードだと思う。 同じ理由で、条件が真のときの文が1つの場合の if (a == b) c = d; e = f; のようなスタイルもキモいし、Pythonの if a = b: c = d e = f g = h はもっとキモくて、まさに蛇蝎のように嫌いだ。 関数・メソッド定義と制御文の見分けという観点からも、前者は int func(int arg) { 後者は if (cond) { で始めて、( の前のスペースの有無と { の前の改行の有無のどちらでも前者と後者で 違いをつけた方が、すんなりと見分けられて良い。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/55
61: デフォルトの名無しさん (ワッチョイ 13b3-3s1o) [] 2018/06/09(土) 12:03:48.88 ID:3S5Pjg6F0 >>56 それぞれの制御文 (if, for, whileなど) 同士は機能が似通っているが、 関数は全く違うから、見た目も書き分けた方が良い。 Pascalだと関数は function func(arg: integer): integer; begin で、制御文は if cond then begin で始まり、前者は begin の前に ; が入り、関数頭部を書いて一旦区切ってから 関数本体を書く格好になるので、頭部の行の独立性が比較的高い。これに倣い、 C系でも関数は頭部だけで改行した方がすんなり読める。 >>58 じゃあ、スレ立ててよ。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/61
62: デフォルトの名無しさん (ワッチョイ 13b3-3s1o) [] 2018/06/09(土) 12:05:40.33 ID:3S5Pjg6F0 >>60 1行if文は否定しないし、自分自身も割とよく使うよ。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/62
65: デフォルトの名無しさん (ワッチョイ 13b3-3s1o) [] 2018/06/09(土) 12:43:14.79 ID:3S5Pjg6F0 >>63 Pascalの悪い所、例えば条件を ( ) で囲まないので条件が目立たないのは真似する 必要はないが、良い所は参考にすべきだろう。C#は開発主導者がTurbo Pascalの 作者だったこともあり、Pascalからもいくらかの影響を受けていて、赤の他人ではない。 関数と制御文は機能が違うし、関数の方がより大きなブロックだから、書き分けた方が すんなり読める。自然言語で小さな区切りには , を、大きな区切りには ; を使って 書き分けるのに似ている。あるいは章や節の見出しのスタイルに視覚的な差を つけるようなもの。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/65
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s