Language agnostic 必须按特定顺序调用的方法的命名约定?
我有一个类,它要求按特定顺序调用它的一些方法。如果这些方法被无序调用,那么对象将停止正常工作。方法中有一些断言可以确保对象处于有效状态。我可以使用什么命名约定与下一个人进行通信,以阅读需要按特定顺序调用这些方法的代码 将其转化为一个巨大的方法是可能的,但巨大的方法是制造问题的一个伟大方式。(有两种方法可以触发此序列,因此一种巨大的方法也会导致重复。) 可以编写注释来解释需要按顺序调用这些方法,但是注释不如清晰命名的方法有用Language agnostic 必须按特定顺序调用的方法的命名约定?,language-agnostic,naming-conventions,Language Agnostic,Naming Conventions,我有一个类,它要求按特定顺序调用它的一些方法。如果这些方法被无序调用,那么对象将停止正常工作。方法中有一些断言可以确保对象处于有效状态。我可以使用什么命名约定与下一个人进行通信,以阅读需要按特定顺序调用这些方法的代码 将其转化为一个巨大的方法是可能的,但巨大的方法是制造问题的一个伟大方式。(有两种方法可以触发此序列,因此一种巨大的方法也会导致重复。) 可以编写注释来解释需要按顺序调用这些方法,但是注释不如清晰命名的方法有用 有什么建议吗?是否可以进行重构,以便(至少部分)将第一个函数的状态作为参
有什么建议吗?是否可以进行重构,以便(至少部分)将第一个函数的状态作为参数传递给第二个函数,这样就无法避免了 否则,如果你有意见和主张,你做得很好 然而,“有可能将其转化为一个巨大的方法”使得外部代码似乎不需要以任何方式访问中间状态。如果是这样的话,为什么不让一个公共方法连续调用几个私有方法呢?比如:
FroblicateWeazel() {
// Need to be in this order:
FroblicateWeazel_Init();
FroblicateWeazel_PerformCals();
FroblicateWeazel_OutputCalcs();
FroblicateWeazel_Cleanup();
}
这并不完美,但如果顺序集中在这一个函数上,就很容易看出它们的顺序。是否可以重构,以便(至少部分)将第一个函数的状态作为参数传递给第二个函数,这是无法避免的 否则,如果你有意见和主张,你做得很好 然而,“有可能将其转化为一个巨大的方法”使得外部代码似乎不需要以任何方式访问中间状态。如果是这样的话,为什么不让一个公共方法连续调用几个私有方法呢?比如:
FroblicateWeazel() {
// Need to be in this order:
FroblicateWeazel_Init();
FroblicateWeazel_PerformCals();
FroblicateWeazel_OutputCalcs();
FroblicateWeazel_Cleanup();
}
这并不完美,但如果将顺序集中到这一个函数上,就很容易看到它们的顺序。消息摘要和加密/解密例程通常有一个
\u init()
方法来设置,一个\u update()
来添加新数据,还有一个\u final()
返回最终结果并再次删除内容。消息摘要和加密/解密例程通常有一个\u init()
方法来设置内容,一个\u update()
来添加新数据,一个\u final()
来返回最终结果并再次删除内容