我在Android活动和其他类之间遇到了越来越多的命名冲突。我想知道你能不能告诉我你是怎么避免这些的。遗憾的是,我特定的命名问题并没有在相关的问题中被涵盖。
第一个示例
我有一个显示游戏级别的活动。但是,该级别所需的数据(背景图片、实体等)存储在单独的类中。当然,我会将后一个类称为Level
。但是,我也将活动称为Level
,因为它显示级别。
第二个示例
我有一个活动可以回放一个剪辑过的场景。它基本上是连续显示几个图像。图像显示时间的信息存储在一个单独的类中。与前面的例子一样,我自然会将这两个类都称为CutScene
。
您将如何解决这些命名问题?将活动命名为LevelActivity
和CutSceneActivity
?将表示类命名为LevelModel
和CutSceneModel
?还有别的吗?
发布于 2011-02-26 18:04:51
我通过给类加上"type“前缀或后缀来解决这些问题,就像你在问题的结尾所建议的那样:
LevelActivity
,GameActivity
,MainActivity
,...CommentsListAdapter
,...CheckNewCommentsService
,...但我通常会对模型类执行一项操作,即包含该数据的对象:我仍然会将我的级别模型类命名为Level
,而不是LevelModel
,以表明我正在操纵和使用某个级别。
另一种解决方案(键入较长的^^)可能是在引用类时使用完全限定的名称(请参见):
com.something.yourapp.activity.Level
com.something.yourapp.model.Level
这样,您就可以知道真正使用的是哪个类。
发布于 2016-07-13 01:19:22
通常,命名android application components的最佳方式是添加其“组件类型”作为后缀。示例:-
LevelActivity
扩展了Activity)InboxUpdateService
(LevelActivity扩展了ContentProvider)SMSBroadcastReceiver
(ContactsContentProvide扩展了BroadcastReceiver)通过使用上述方法命名,当您在应用程序中处理具有大量相似名称的大代码流时,丢失跟踪的机会将降至最低。
因此,使用后缀“”来命名您的活动。
并将向LevelActivity提供数据的类命名为Level
。
与Pascal MARTIN答案的第二部分相反,您还可以同时使用LevelActivity
和LevelInfo
。因为它们提供了明显的区别,如下所述:
以这样一种方式来区分名字,以便读者知道不同之处提供了什么-罗伯特。C. Martin,Clean Code的作者
但后缀在认知基础上往往是多余的。只使用Level
这个词清楚地强调了Level
类提供了关于Level的信息。因此,对于提供有关Level数据的类,请使用Level
。
注意:如果您使用后缀,请为每个概念选择一个单词。例如:如果您使用后缀Info
来标识提供信息的类,那么在整个应用程序中应该只使用Info
(而不是Data
或Model
),以避免混淆。
https://stackoverflow.com/questions/5126230
复制相似问题