我想知道使用成员运算符是否是一个好的做法.
像这样:
someVector = (segment.getFirst() - segment.getSecond()).normalize().normalCCW();
只是这样做是为了展示我想知道的两件不同的事情,即如果使用(expressions).member/function()
and foo.getBar().getmoreBar()
符合可读性和可维护性的精神。在我学习的所有 C++ 代码和书籍中,我从未见过它以这种方式使用,但它的使用却非常简单。但不想养成任何坏习惯。
可能比这更(或更不)重要的是,我还想知道以这种方式使用它是否会带来任何性能增益/损失,或者会在程序中引入错误的不可预见的陷阱。
先感谢您!
或无法预见的陷阱会在程序中引入错误
嗯,可能的陷阱是
更难调试。您将无法查看每个函数调用的结果,因此如果其中一个函数返回了意外的结果,您将需要将其分成更小的部分以查看发生了什么。此外,链中的任何调用都可能完全失败,因此,您可能必须再次将其分解才能找出哪个调用失败。
更难阅读(有时)。链接函数调用会使代码更难阅读。这取决于具体情况,这里没有硬性规定。如果表达式有点复杂,就会使事情变得难以理解。阅读您的具体示例我没有任何问题。
最终取决于个人喜好。我并不努力在一条线上尽可能多地适应,并且我已经被不应该链接的地方咬住了很多次,所以我倾向于把东西分解一点。但是,对于不太可能失败的简单表达式,链接就可以了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)