2
这是一个好模式吗:用一系列lambda代替长函数?
我最近遇到以下情况。 class A{ public: void calculate(T inputs); } 首先,A表示物理世界中的一个对象,这是不将类拆分的有力论据。现在,calculate()事实证明它是一个相当长且复杂的功能。我认为它有三种可能的结构: 写成一堵墙-优势-所有信息都集中在一个地方 private在类中编写实用程序函数,并在calculate主体中使用它们-缺点-类的其余部分不了解/不在意/不了解这些方法 编写calculate以下方式: void A::calculate(T inputs){ auto lambda1 = () [] {}; auto lambda2 = () [] {}; auto lambda3 = () [] {}; lambda1(inputs.first_logical_chunk); lambda2(inputs.second_logical_chunk); lambda3(inputs.third_logical_chunk); } 可以认为这是好事还是坏事?这种方法有什么问题吗?总而言之,当我再次面临同样的情况时,我是否应该将此视为一种好方法? 编辑: class A{ ... public: // Reconfiguration of the algorithm. void set_colour(double …