哪个代码更具可读性?

时间:2011-03-16 21:04:23

标签: c++ readability builder-pattern

这不是一个难题。我只是想知道你认为哪两个C ++代码片段更好(可读性与长度对比锅炉 - ):

选项#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对象(并且因为它更短)。

1 个答案:

答案 0 :(得分:5)

选项#3

Entity* square = Entity::Builder()
                     .positionX(0.0)
                     .positionY(0.0)
                     .controller(ctrl)
                     .representation(rep)
                     .build();