<分区>
这只是一个一般性的帮助问题,我想知道在 C++ 应用程序代码中使用一组小函数比使用一个包含解决问题所需的所有语句的长复杂函数有什么优势?
<分区>
这只是一个一般性的帮助问题,我想知道在 C++ 应用程序代码中使用一组小函数比使用一个包含解决问题所需的所有语句的长复杂函数有什么优势?
最佳答案
编辑 此助记符归功于 OP 中的评论者。
将大功能分解为几个较小的功能可能会导致谋杀!在这种情况下,这可能是一件好事。 :)
M - Maintainability. Smaller, simpler functions are easier to maintain.
U - Understandability. Simpler functions are easier to understand.
R - Reuseability. Encourages code reuse by moving common operations to a separate function.
D - Debugability. It's easier to debug simple functions than complex ones.
E - Extensibility. Code reuse and maintainability lead to functions that are easier to refactor in 6 months.
R - Regression. Reuse and modularization lead to more effective regression testing.
将大函数分解为小函数有一些潜在的好处。按照它们从我脑子里掉出来的顺序:
它鼓励代码重用。通常在大型函数中,您必须或多或少地多次执行相同的操作。通过将其概括为一个通用函数,您可以在多个地方使用该代码块。
代码重用可以通过将潜在错误隔离到一个地方而不是几个地方来帮助提高稳健性和可维护性。
当代码行数更少并且对命名良好的函数进行大量调用时,更容易理解函数的语义。
如果您反对具有多个返回点的函数,将大函数分解可以帮助减少它们。
它有助于识别和隔离具有细微数据依赖性的(潜在)问题,否则很难注意到。
然而,重要的是要注意,您将好的与坏的结合在一起。分解大函数也有一些潜在的缺点:
如果这个大功能以前工作过,尝试对其进行模块化可能会产生缺陷。
在多线程应用程序中,如果您的同步策略微妙或完全错误,您可能会引入死锁和竞争条件。
您可能会从函数调用中引入性能影响。
关于c++ - 在 C++ 中将代码分解为几个小函数有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256453/