1

プログラムには、xPos、yPos、xVel、yVel の 4 つの変数があります。

それぞれにセッター/ゲッターが必要ですが、次のように言うのは厄介です。

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

短くて効率的なこれらの変数の命名規則はありますか?

4

4 に答える 4

2

コード スニペットに記載されているの、命名規則です。

より重要な問題は、読みやすくするためにどのように再構成できるかということです。あなたのプログラムを見たことがない人としては、あなたがリストした 4 つの関数は完全に明確に思えます。より明確なものを思いつくのに苦労しています。

慣習を放棄するときはいつでも、たとえ慣習が物事を厄介なものにしていても、読みやすさ/明確さを失います (人々はそれらの慣習が満たされることを期待しているため)。厄介な慣習を放棄することの利点と、慣習を放棄することの損失と、より良い結果を比較検討する必要があります。

つまり、'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

(x、y)のクラスPointを使用します。

于 2012-05-02T22:31:04.590 に答える
1

命名規則については、いくつかの考え方があります。Java Beanの規則に従う場合、セッターとゲッターは正しいですが、ゲッターとセッターに適切な名前を付けて、変数の名前をよりわかりやすい名前に変更することを検討horizontalPositionします。verticalPositionverticalVelocityhorizontalVelocity

于 2012-05-02T22:19:36.767 に答える