在设计 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/