哪个代码更具可读性?

发布于 2024-10-22 05:12:44 字数 606 浏览 8 评论 0原文

这不是一个困难的问题。我只是想知道您认为这两个 C++ 代码片段中哪一个更好(可读性 vs. 长度 vs. boiler-platery):

Option #1

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

Option # 2

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

我个人更喜欢第一个选项,但这可能是因为我是代码的作者并且已经知道代码的作用(对于不了解代码的人来说可能会感到困惑)。我更喜欢它,因为它显示了对 Entity 对象的关注,而不是对 Entity::Builder 对象的关注(而且因为它更短)。

This isn't a difficult question. I simply want to know which of these two C++ code snippets you think is better (readability vs. length vs. boiler-platery):

Option #1

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

Option #2

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

I personally prefer the first option, but that may be because I am the author of the code and already know what the code does (it may be confusing for someone who doesn't know the code). I like it better because it shows the focus on the Entity object rather than on the Entity::Builder object (and because it's shorter).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡淡的优雅 2024-10-29 05:12:44

选项#3

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

Option #3

Entity* square = Entity::Builder()
                     .positionX(0.0)
                     .positionY(0.0)
                     .controller(ctrl)
                     .representation(rep)
                     .build();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文