Pau*_*nta 0 c++ readability builder-pattern
这不是一个难题.我只是想知道你认为这两个C++代码片段中的哪一个更好(可读性与长度对比锅炉):
选项1
Entity* square = Entity::Builder().positionX(0.0).positionY(0.0).
controller(ctrl).representation(rep).build();
Run Code Online (Sandbox Code Playgroud)
选项#2
Entity::Builder bld;
bld.positionX(0.0).positionY(0.0).controller(ctrl).representation(rep);
Entity* square = bld.build();
Run Code Online (Sandbox Code Playgroud)
我个人更喜欢第一个选项,但这可能是因为我是代码的作者并且已经知道代码的作用(对于不了解代码的人来说可能会让人感到困惑).我更喜欢它,因为它显示了Entity对象而不是对象的焦点Entity::Builder(因为它更短).
选项#3
Entity* square = Entity::Builder()
.positionX(0.0)
.positionY(0.0)
.controller(ctrl)
.representation(rep)
.build();
Run Code Online (Sandbox Code Playgroud)