首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android活动命名

Android活动命名
EN

Stack Overflow用户
提问于 2011-02-26 17:58:51
回答 2查看 12.1K关注 0票数 20

我在Android活动和其他类之间遇到了越来越多的命名冲突。我想知道你能不能告诉我你是怎么避免这些的。遗憾的是,我特定的命名问题并没有在相关的问题中被涵盖。

第一个示例

我有一个显示游戏级别的活动。但是,该级别所需的数据(背景图片、实体等)存储在单独的类中。当然,我会将后一个类称为Level。但是,我也将活动称为Level,因为它显示级别。

第二个示例

我有一个活动可以回放一个剪辑过的场景。它基本上是连续显示几个图像。图像显示时间的信息存储在一个单独的类中。与前面的例子一样,我自然会将这两个类都称为CutScene

您将如何解决这些命名问题?将活动命名为LevelActivityCutSceneActivity?将表示类命名为LevelModelCutSceneModel?还有别的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-26 18:04:51

我通过给类加上"type“前缀或后缀来解决这些问题,就像你在问题的结尾所建议的那样:

  • LevelActivityGameActivityMainActivity,...
  • CommentsListAdapter,...
  • CheckNewCommentsService,...
  • 等。

但我通常会对模型类执行一项操作,即包含该数据的对象:我仍然会将我的级别模型类命名为Level,而不是LevelModel,以表明我正在操纵和使用某个级别。

另一种解决方案(键入较长的^^)可能是在引用类时使用完全限定的名称(请参见):

  • com.something.yourapp.activity.Level
  • com.something.yourapp.model.Level

这样,您就可以知道真正使用的是哪个类。

票数 18
EN

Stack Overflow用户

发布于 2016-07-13 01:19:22

通常,命名android application components的最佳方式是添加其“组件类型”作为后缀。示例:-

  • LevelActivity扩展了Activity)
  • InboxUpdateService (LevelActivity扩展了ContentProvider)
  • SMSBroadcastReceiver (ContactsContentProvide扩展了BroadcastReceiver)

通过使用上述方法命名,当您在应用程序中处理具有大量相似名称的大代码流时,丢失跟踪的机会将降至最低。

因此,使用后缀“”来命名您的活动。

并将向LevelActivity提供数据的类命名为Level

与Pascal MARTIN答案的第二部分相反,您还可以同时使用LevelActivityLevelInfo。因为它们提供了明显的区别,如下所述:

以这样一种方式来区分名字,以便读者知道不同之处提供了什么-罗伯特。C. Martin,Clean Code的作者

但后缀在认知基础上往往是多余的。只使用Level这个词清楚地强调了Level类提供了关于Level的信息。因此,对于提供有关Level数据的类,请使用Level

注意:如果您使用后缀,请为每个概念选择一个单词。例如:如果您使用后缀Info来标识提供信息的类,那么在整个应用程序中应该只使用Info (而不是DataModel),以避免混淆。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5126230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档