Android私有字段命名指南可以吗?

时间:2010-01-25 14:30:41

标签: android coding-style field private

此处http://source.android.com/source/code-style.html#follow-field-naming-conventions声明:

  

字段名称

     
      
  • 非公开的非静态字段名称以m开头。
  •   
  • 静态字段名称以s开头。
  •   
  • 其他字段以小写字母开头。
  •   
  • 公共静态最终字段(常量)是ALL_CAPS_WITH_UNDERSCORES。
  •   

它还声明:

  

以下规则不是指南或建议,而是严格的规则。除非在需要使用的基础上批准,否则您不得忽视我们在下面列出的规则。

我不喜欢类中私有或包字段之前的“m”约定。我真的觉得这个没有灵感...我的意思是,如果我们尝试应用好的设计,类的低耦合意味着几乎没有公共字段。实际上,在我的程序中,我通常没有公共字段,即使我需要一些我使用getter和setter ......

那么,为什么我要被迫在程序中几乎所有的字段都在它们前面有一个“m”?拥有少数公共领域,如果有的话,在前面有一些“g”或其他东西,会不会更容易?或者只是像豆子建议的那样使用setter和getters? 这真的让我的代码更难阅读......

另外,遵循这些指导原则,方法中使用的局部临时变量没有限制因此很容易被误认为公共全局字段(也没有限制)......这也是我发现错误,因为它很可能错误的根源...... 我理解有一种区别于字段的方法,但私有/受保护的成员字段是应用程序中使用最多的字段,它们应该不那么“可读”。

你怎么看?我应该遵循指南吗?

2 个答案:

答案 0 :(得分:10)

这些编码指南适用于Android开源项目,这是Android平台的核心。如果您希望将任何代码接受到核心平台,则必须遵循这些准则。您可以在自己的应用程序中执行任何操作 关于指南本身,我认为它们非常合理,与商业应用中使用的许多标准类似。通常,您希望使用getter和setter进行公共字段访问,并且您不希望拥有全局公共变量。只有全球公共常数才行 所以简短的回答是关注他们的开源项目,决定在你的app中关注他们。

答案 1 :(得分:1)

关于getter \ setter,实际上建议不要在Android中使用它们。

我在“设计性能”页面上找到了这一点(部分:避免使用内部Getter / Setter ):http://developer.android.com/guide/practices/design/performance.html

最重要的是,他们推断实例字段查找比虚方法调用更有效(由于JIT中的优化)。

我想我会继续在我的代码中使用getter \ setter,但这可能是提高性能的一种简单方法(特别是对于进行大量数据操作的应用程序)。