必须以特定顺序调用的方法的命名约定?

时间:2011-07-04 11:10:55

标签: language-agnostic naming-conventions

我有一个类需要按特定顺序调用它的某些方法。如果这些方法无序调用,则对象将停止正常工作。方法中有一些断言可确保对象处于有效状态。我可以使用哪些命名约定来与下一个人沟通,以阅读需要按特定顺序调用这些方法的代码?

将其转换为一种巨大的方法是可能的,但是巨大的方法是创建问题的好方法。 (有两种方法可以触发此序列,因此一种巨大的方法也会导致重复。)

可以编写注释来解释需要按顺序调用方法,但注释与明确命名的方法相比不太有用。

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

是否有可能重构,所以(至少有一些)第一个函数的状态作为参数传递给第二个函数,那么就不可能避免了?

否则,如果你有评论和断言,那你就做得很好。

但是,“将其转换为一个巨大的方法”听起来好像外部代码不需要以任何方式访问中间状态。如果是这样,为什么不只是创建一个公共方法,它连续调用几个私有方法?类似的东西:

FroblicateWeazel() {
   // Need to be in this order:
   FroblicateWeazel_Init();
   FroblicateWeazel_PerformCals();
   FroblicateWeazel_OutputCalcs();
   FroblicateWeazel_Cleanup();
}

这并不完美,但如果订单集中在那个功能上,那么很容易看出他们应该采用什么顺序。

答案 1 :(得分:0)

消息摘要和加密/解密例程通常使用_init()方法进行设置,_update()添加新数据,_final()返回最终结果并撕回来再次下来。