这不是一个困难的问题。我只是想知道您认为这两个 C++ 代码片段中哪一个更好(可读性 vs. 长度vs.boiler-platery):
选项1
Entity* square = Entity::Builder().positionX(0.0).positionY(0.0).
controller(ctrl).representation(rep).build();
选项#2
Entity::Builder bld;
bld.positionX(0.0).positionY(0.0).controller(ctrl).representation(rep);
Entity* square = bld.build();
我个人更喜欢第一个选项,但这可能是因为我是代码的作者并且已经知道代码的作用(对于不知道代码的人来说可能会感到困惑)。我更喜欢它,因为它显示了对Entity
对象而不是Entity::Builder
对象的关注(并且因为它更短)。