- PR -

コードの改行の目安ってどうしてます?

投稿者投稿内容
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-12-05 17:04
引用:

コード:

MessageBox.Show(
"Text",
"Title",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2
);





私はこれとほぼ同じ。
行の最後には使えない文字列を使うというのは、よくみかけます。
行が続いているかどうかは、続きの行のtabを2つ重ねて区別しています。


_________________
たつごろー http://www.codeseek.net
MS MVP - Visual Developer Visual Basic (2005/08 - 2006/07)

[ メッセージ編集済み 編集者: たつごろー 編集日時 2005-12-05 17:07 ]
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2005-12-05 18:57
僕は、どちらも試したことがありますが最終的に、じゃんぬねっとさん形式に落ち着きました。
これって計算の時にも言えますよね。例えば、横幅が20文字以内と仮定した場合。

コード:

12345678901234567890→こっちははみでちゃう
消費税込金額 = (単価 * 数量) * ((消費税率 / 100) + 1)



どう書きます?代入は使っちゃ駄目です。

コード:

12345678901234567890
消費税込金額 = 
  (単価 * 数量) * 
  (
    (
      消費税率 / 100
    ) + 1
  )


こんな感じになるんでしょうか?とても見にくいですね。
どう書くのが見やすいんでしょうね。

それと悩むのがこんなときです。

コード:

ちょっと長めのメソッド名ですが(0, 14, "メッセージの中身ですが", 4)



これを改行するときに

コード:

ちょっと長めのメソッド名ですが(
    0, 
    14, 
    "メッセージの中身ですが", 
    4
)



こうではなくて

コード:

ちょっと長めのメソッド名ですが 
    (0, 14, "メッセージの中身ですが", 4)



こう書きたくなります。
でも、本当は

コード:

dim s as string = "メッセージの中身ですが"
ちょっと長めのメソッド名ですが(0, 14, s, 4)



こうやって書いてます。バグの入り込む余地はできてしまいますが・・・
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-12-05 22:12
.NETじゃないのですが、Javaでコードを書くとき、

1.取り敢えず適当に書く
2.コードフォーマッタでフォーマット

って感じにします。
完全にフォーマッタの書式設定に依存する方式ですね。
自動処理だと見にくい部分も出てくるのですが、

・複数のメンバで作っている場合に書き方の差が出にくい
・見映えを気にせずコーディングに専念できる

というメリットもあると思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-12-05 22:24
コード:
12345678901234567890
消費税込金額 = 
  (単価 * 数量) 
  * ((消費税率
  / 100.0)
  + 1.0)


かなぁ。。。
# なにげに、double を明示

コード:
ちょっと長めのメソッド名ですが(0
    , 14
    , "メッセージの中身ですが"
    , 4)


だなぁ。。。
 第1引数は同じ行にできるだけ置いて、あとはカンマを次行に。
 これ、引数を増減させるとき(主に SQL 文の組み立て)、1行だけ直せばいいということもあるので。はい、最後の行を消して、新しく最後になった行のカンマを消し忘れてた!ってことを、よくやるもんですから。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-12-06 00:25
引用:
完全にフォーマッタの書式設定に依存する方式ですね。


そうですね。私もそうしています。揺らぎがなくなるので、バージョン管理している場合など diff が見やすくなりますし。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-06 01:12
引用:

R・田中一郎さんの書き込み (2005-12-05 18:57) より:

どう書きます?
代入は使っちゃ駄目です。


この場合は括弧の単位で変数に代入しちゃいますね...
複数行に及ぶような複雑な計算の場合は尚更にそうなります。
間違えがおきやすいので...

たいてい { } でブロック化して局所的にするか、
場合によっては専用の別メソッドを用意します。

あの質問に対してこの返しは反則でしょうけど、(^^;)
それ以外は個人的に考えられなかったりします。

引用:

ちょっと長めのメソッド名ですが(0, 14, "メッセージの中身ですが", 4)


これは、「マジックストリング」を含みますよね。
私の場合は最初から定数化 (など) していますね。

引用:

ちょっと長めのメソッド名ですが
(0, 14, "メッセージの中身ですが", 4)


個人的にはインデントのせいでブロックが見難くなるのであまり好きではないです... (^^;)
インデントしたならば、最初と最後の位置をブラケットを付けたくなります...
そうすることで範囲がわかるので、何気に長い名前空間をインスタンス化する場合でも、

コード:

    System.Data.OracleClient.OracleConnection connection = (
        new System.Data.OracleClient.OracleConnection()
    );


なんて書きます。(いつも変人がられますがw)

引用:

こうやって書いてます。バグの入り込む余地はできてしまいますが・・・


この場合は、定数か Readonly な変数が使えますね。
これ以外の場合だと臨機応変になると思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2005-12-06 02:51
引用:

R・田中一郎さんの書き込み (2005-12-05 18:57) より:

これって計算の時にも言えますよね。例えば、横幅が20文字以内と仮定した場合。

コード:

12345678901234567890→こっちははみでちゃう
消費税込金額 = (単価 * 数量) * ((消費税率 / 100) + 1)





私の場合は改行しない、別メソッドにする、括弧などまとまった単位に変数に代入するのうちのどれかですね。
数式は改行すると非常に見にくくなります。

引用:

コード:

ちょっと長めのメソッド名ですが 
    (0, 14, "メッセージの中身ですが", 4)





これはぱっと見た目でメソッドだと分かりにくいので私はやらないですね。
メッセージは最初から素直に定数化しておきます。

# ちなみに私は、V-RAMにpeek&pokeで文字を書き込んでいた世代です
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2005-12-06 13:40
皆さん親切にありがとうございます。かなり参考になりました。
隣の人に聞けば良いようなことかもしれませんが、僕の隣には人が誰もいません。

結局のところ、読みやすさに尽きるのだと痛感しました。

ところで、僕はいつも例えが悪くて、皆さんにご迷惑をかけてしまっているようです。
文字列というよりは、単純に1行で書ききれないメソッドの呼び出しの記法が知りたかったのです。

コード:

ちょっと長めのメソッド名ですが 
    (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)



皆さんは、あまりこのように書かないようなので、僕も、このように書くのはやめることにしました。

コード:

ちょっと長めのメソッド名ですが(
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
)



こう書くのがいいのかな。

引用:

まいるどきゃっとさんの書き込み (2005-12-06 02:51) より:

# ちなみに私は、V-RAMにpeek&pokeで文字を書き込んでいた世代です



昔の甘酸っぱい思い出が込み上げてきました。

スキルアップ/キャリアアップ(JOB@IT)