有没有人为这些类型的方法使用更漂亮的命名约定?我知道更好是主观的,但我讨厌他们。方法应该(通常)被命名为动词。Object.Move(),Object.Talk() 不是 Object.PreDatabaseUpdateStep()。
我一直在为我的 PreUpdate() 使用 Think(),与通常是纯物理的 Update() 相比,它通常是纯逻辑。我还没有想到 PostUpdate() 有什么更好的东西。
建议?
有没有人为这些类型的方法使用更漂亮的命名约定?我知道更好是主观的,但我讨厌他们。方法应该(通常)被命名为动词。Object.Move(),Object.Talk() 不是 Object.PreDatabaseUpdateStep()。
我一直在为我的 PreUpdate() 使用 Think(),与通常是纯物理的 Update() 相比,它通常是纯逻辑。我还没有想到 PostUpdate() 有什么更好的东西。
建议?
务实的程序员应该始终努力设计代码以提高可读性。这些名字PreUpdate
,Update
和PostUpdate
传达他们的意图比一个名字更清楚Think
。
同样,我们可以从其他项目中寻找灵感。例如,JUnit 套件使用类似的命名约定@Before
和@After
(@BeforeClass
和@AfterClass
)注解。按照惯例,iOS 委托模式通常指定“Will”和“Did”(likeWillUpdateFoo
和DidUpdateFoo
)方法。
PreUpdate
确实不是很具体。也许您可以更清楚地说明这些方法中发生了什么。
无论您为 Pre 和 Post 找到什么替代品。当你在不同的情况下使用相同的术语时,它不能有具体的信息。所以没多大关系。
PrepareUpdate
和怎么样FinishUpdate
?
在 C# 中,此类事件有一个命名约定,它使用时态。Updating
在更新发生之前调用,Updated
之后调用。就个人而言,我认为 Pre 和 Post 对每个人来说都更清楚,但我也使用这种命名约定。