有没有人为这些类型的方法使用更漂亮的命名约定?我知道更好是主观的,但我讨厌他们。方法应该(通常)被命名为动词。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 对每个人来说都更清楚,但我也使用这种命名约定。