没有函数调用编程算法是否合理?

n00*_*ki3 2 c++ optimization

我正在编写一个库的算法,我根本没有使用函数调用.该算法大约有100行,并且没有重复的代码.或者我应该使用内联?

Pao*_*sco 11

你的算法可读吗?将它分成几个函数可能有利于可读性(因此可维护性),即使它不会减少重复.


sle*_*ske 6

这有两个问题:

  1. 对于单个函数/方法,100行是否太长,是否需要将其分解为子函数?
  2. 是否值得考虑内联?

1.的答案是:它取决于.一般来说,许多人喜欢将功能放在一个屏幕上,因此可以一目了然地阅读.所以100条线是极限.有关类/方法大小的讨论,请参阅例如 良好实践类行数.

2.的答案是:不要过早优化.首先介绍,然后根据需要进行优化.SO上有太多类似的问题要链接到......


xto*_*ofl 5

大多数情况下,如果我的算法增长超过20行,我使用的是错误的抽象级别.下一个bugfix将增加10行,以下功能将增加40行的功能.

最好将功能块移动到更小的功能中,以它们的功能命名.对我来说更好,因为它允许我将例如宏观行为序列的关注与微观行为分开.更好的维护,因为您可以查看代码的全局结构,并放大感兴趣的部分.