我在程序中有四个变量:xPos,yPos,xVel,yVel
他们每个人都应该有一个setter / getter,但说:
会很尴尬setXpos()
getXpos()
getXvel()
setXvel()
这些变量的命名约定是否简短有效?
答案 0 :(得分:2)
您在代码段中列出的内容是命名约定。
更重要的问题是,为了便于阅读,他们如何重新定义?作为一个没有看过你的程序的人,你列出的四个功能对我来说非常清楚。我很难想出更清楚的事情。
任何时候你放弃一项约定,即使约会使事情变得棘手,你也会失去可读性/清晰度(因为人们期望这些约定得到满足)。你必须权衡放弃一个狡猾的公约结果的好处,以便更好地抵制放弃惯例的损失。
所有这些都说,你有权使用'getXvel()'。一帆风顺。 =)
答案 1 :(得分:2)
getXPos()
和getXVel()
怎么样?虽然getXPosition()
和getXVelocity()
似乎更清晰。这取决于背景,但我花了一秒钟才发现你并不是指val
。
这超出了你的问题,但(在适当的情况下)我可能会争辩这样做:
foo.getX().position();
foo.getX().velocity();
答案 2 :(得分:1)
关于命名惯例,有一些思想流派。如果您遵循java bean约定,那么您的setter和getter是正确的,但我会考虑将您的变量重命名为更具描述性,即horizontalPosition
,verticalPosition
,verticalVelocity
,horizontalVelocity
与适当命名的getter和setter。
答案 3 :(得分:1)
使用Point for(x,y)。