Java API の流暢なスタイルを持つ不変オブジェクトのコレクションに何かを「追加」するメソッドに名前を付けるためのベストプラクティスまたは一般的に受け入れられているパターンはありますか?
コード例を次に示します。
public class GivenUUIDGenerator {
private final ImmutableList<String> playbackUUIDs;
public GivenUUIDGenerator(List<String> playbackUUIDs) {
this.playbackUUIDs = ImmutableList.copyOf(playbackUUIDs);
}
public GivenUUIDGenerator howShouldINameThisMethod(String uuid){
return new GivenUUIDGenerator(ImmutableList.<String>builder().addAll(playbackUUIDs).add(uuid).build());
}
}
これは、私が開発中のプロジェクトのプル リクエストから来ています。この方法の最適な命名オプションについてはすでに議論しましたが、両方ともフランス語であることは適切な名前を選択するのに役立ちません。
先行技術またはベスト プラクティスを見つけようとしましたが、これまでに見つけたものは次のとおりです。
- Fluent Interface に関する Martin Fowler の記事では、注文に注文明細行を追加するために単純に使用
with
されていますが、それほど一般的な (追加するものに名前を付けない) ことが適切なオプションであるかどうかはわかりません。 - Apache Commons HttpClient fluent APIは使用します
addXXX
が、不変ではありません。 - jaxb -fluent-api プロジェクトは
withNewXXX
規則を使用しますが、動作は異なります。実際には、既存のインスタンスを追加するのではなく、アイテム インスタンスを作成しています。
私が得た他の提案:
- 元の PR 提案:
withAddedXXX
- 別の命題:
withAdditionalXXX