C++ 设计 : single function performing multiple tasks vs multiple functions performing single task

标签 c++ methods

在设计 C++ 类时,假设我有以下两种选择:

选项 1:一个方法具有很长的参数列表,并且该方法执行多个任务。
选项 2:每个任务的单独方法(每个方法的参数列表较小)。

显然,一般来说,选项 2 更可取,因为它会生成更清晰的代码。但是,如果这些方法的唯一目的是成为其他方法的“助手”,那么在选项 2 的情况下,我将不得不承担多个函数调用的开销,而选项 1 将只有一个函数调用。

在这种(极端)情况下,假设的性能提升(由于更少的函数调用)是否证明选择选项 1 是合理的?

最佳答案

Would the supposed performance gain (due to fewer function calls) justify choosing option 1 in such (extreme) a case?

IMO,这里的性能提升可以忽略不计,不会牺牲代码的可维护性,特别是在企业应用程序中,具有大量参数列表和大量代码行的函数很难修改/调试。此类功能必须分解为多个较小的功能,其中每个功能执行一个定义明确的步骤,该步骤是较大任务的一部分。

关于C++ 设计 : single function performing multiple tasks vs multiple functions performing single task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994628/

相关文章:

c# - 属性和方法之间的界线应该在哪里?

ruby-on-rails - 从不同的 View 调用模型方法

2D 滚动游戏的 Java nullpointerException

c++ - 在 C++ 中自动从 double/int/string 转换为 bool

c++ - 我有什么方法可以将 openCV 输出流式传输到我自己的远程 C++ gui?

c++ - 以引用作为值的 std::unordered_map 不起作用?

c++ - pthread_create() 和内存泄漏

c++ - 如何在 QtCreator 上添加预构建事件

php - 了解产品页面的 productAttribute() 方法

c# - C# 中的静态 XML 序列化程序是否会导致内存过度增长?