C核心指南I23函数参数的数量

理由:

参数的数量太多容易混乱出错。传递太多参数,成本也通常会很高。

讨论:

导致函数的参数太多,通常有两个理由:

缺少抽象。因为缺少抽象,本该组合的对象被分散为单个传递。因为没有一个不变的框架来约束参数的数值,不仅参数的数量变大,也容易出错。

违背了“一个函数一个职责”的原则。函数的工作超越了其本该完成的单个任务。

例子:

标准库函数merge()是我们能舒服处理的极限:

templateclassInputIterator1,classInputIterator2,classOutputIterator,classCompaOutputIteratormerge(InputIterator1first1,InputIterator1last1,InputIterator2first2,InputIterator2last2,OutputIteratorsult,Compa


转载请注明:http://www.aierlanlan.com/rzgz/568.html