1

我在一个程序中有四个变量:xPos、yPos、xVel、yVel

他们每个人都应该有一个 setter/getter,但是这样说会很尴尬:

setXpos()
getXpos()
getXvel()
setXvel()

这些变量是否有一个简短而有效的命名约定?

4

4 回答 4

2

您在代码片段中列出的命名约定。

更重要的问题是,如何重构它们以提高可读性?作为没有看过您的程序的人,您列出的四个功能对我来说似乎非常清楚。我很难想出更清晰的东西。

任何时候你放弃约定,即使约定让事情变得讨厌,你也会失去可读性/清晰度(因为人们期望这些约定得到满足)。你必须权衡放弃一个讨厌的约定结果以获得更好的东西的好处与放弃约定的损失。

说了这么多,我允许你使用'getXvel()'。神速。=)

于 2012-05-02T22:16:53.633 回答
2

getXPos()和怎么样getXVel()?虽然,getXPosition()而且getXVelocity()似乎更清晰。这取决于上下文,但我花了一秒钟才弄清楚你不是那个意思val


这超出了您的问题,但是(在适当的情况下)我可能会争辩这样做:

foo.getX().position();
foo.getX().velocity();
于 2012-05-02T22:23:44.333 回答
1

关于命名约定有一些思想流派。如果您遵循 java bean 约定,那么您的 setter 和 getter 是正确的,但是我会考虑将您的变量重命名为更具描述性,即horizontalPosition, verticalPosition, verticalVelocity,horizontalVelocity并适当命名 getter 和 setter。

于 2012-05-02T22:19:36.767 回答
1

将类 Point 用于 (x, y)。

于 2012-05-02T22:31:04.590 回答