毫无疑问,这是一个 n00b 问题,但我希望得到指导或链接。
我正在编写一个 Android 游戏应用程序,其中包括 Activity 和其他类之间的大量交互。这样做时,我不确定哪个是更好的做法,例如调用“updatePlayer”方法。
选项 A 是链式吸气剂,所以我可能在 myActivity 中有:
mGame.getPlayerList().getCurrentPlayer().updateScore(score);
Run Code Online (Sandbox Code Playgroud)
选项 B 是委托(希望我正确使用该术语):
mGame.updateCurrentPlayerScore(score);
Run Code Online (Sandbox Code Playgroud)
然后在游戏中:
playerList.updateCurrentPlayerScore(score);
Run Code Online (Sandbox Code Playgroud)
然后在 PlayerList 中:
currentPlayer.updateScore(score);
Run Code Online (Sandbox Code Playgroud)
我可以看到选择 B 的优势,因为我可以随意更改 playerList 和 Game 的结构和行为,但它确实增加了很多单行方法。
我的想法正确吗?有选择 C 或 D 吗?
就我个人而言,我一直认为编码风格是一个观点问题。如果您只是为自己编码,那么您会做对您来说最有效且最简单的事情。例如,在 java 中,您使用驼峰式命名变量 ( intVar),但在 python 中,您使用下划线 ( int_var)。如果你在独立环境下,java中使用下划线,python中使用驼峰式大小写,那也没有关系。
然而...
在人们必须阅读和理解代码的地方,我会尝试尽可能遵循传统的编码风格,只是为了更加清晰。
对于您的场景,无论什么都能让您上船。传统上,getter 和 setter 是 java 可接受的编码风格。
扩展你的类也可能有助于不显示更高级别类的实现。
| 归档时间: |
|
| 查看次数: |
712 次 |
| 最近记录: |