2

流暢なAPIに対してプログラミングするとき、または単にメソッドチェーンを使用するとき、私は主に次のようなスタイルを見てきました。

var obj = objectFactory.CreateObject()
    .SetObjectParameter(paramName, value)
    .SetObjectParameter(paramName, value)
    .DoSomeTransformation();

次のように、行の終わりではなく行の先頭にドットを配置する理由は何ですか。

var obj = objectFactory.CreateObject().
    SetObjectParameter(paramName, value).
    SetObjectParameter(paramName, value).
    DoSomeTransformation();

それとも、チームがコンセンサスを作るのは単なるスタイルのことですか?

4

2 に答える 2

13

それは単なるスタイルのものです。

置くことの利点。行の最初にあるのは、これがスタンドアロンのメソッド呼び出しではないことを一目でより明確にすることです。

たとえば、次の場合:

var obj = objectFactory.CreateObject()
    .SetObjectParameter(paramName, value)

SetObjectParameter(...)その行を見るだけで、それが他のオブジェクトで呼び出されているメソッドであることがわかります。これを行う:

var obj = objectFactory.CreateObject().
    SetObjectParameter(paramName, value)

前の行を見て伝える必要があります。たとえば、これはフォーマットの問題である可能性があります。

var obj = objectFactory.CreateObject();
    SetObjectParameter(paramName, value);

(ここでSetObjectParameterは、-によって返される型ではなく、現在の型のメソッドになりますがCreateObject()、2行目を見ると、その行の先頭がないとわかりません)。

于 2010-03-08T16:58:15.627 に答える
5

私が考えることができる3つの理由:

  • 各ステートメントが前のステートメントの続きであることは、より明白です。
  • VisualStudioのインテリセンスはこの方法を好むことがわかりました。
  • 少なくとも私の意見では、目には簡単です。
于 2010-03-08T17:01:07.207 に答える