在Objective-C中命名类的指南



首先,Objective-C中没有名称空间,这是一方面。但是当一个项目的大小和文件增加时,UITableCellViews和其他子视图被添加,命名我的类往往成为一个真正的痛苦。

例如,在一个表中使用一个名为EEMSystem的模型,我命名自定义UITableViewCell的自然方式将是类似EEMSystemTableViewCellController.m的东西。这会创建很长的类名。

是否有任何命名控制器,视图和模型的指导方针?你使用什么指导方针?

Cocoa编码指南有一些关于Cocoa命名约定的基本建议,但主要与方法名有关。一般来说,Cocoa中的名字很长是很正常的。

在您的示例中,我将类命名为EEMSystemTableViewCell或简单地命名为EEMSystemCellEEMSystemTableViewCellController暗示类是一个控制器,尽管它实际上是一个视图

对于子类除了UIViewController,(像自定义表格单元格,或UIView不与vc相关联),我使用的东西像CustomCell。m或LoadScreenView。M等,不确定它是否标准,但它可以工作,并帮助没有200个字母的类名。

Scott Stevenson对类命名有一些建议:

http://cocoadevcentral.com/articles/000082.php

http://cocoadevcentral.com/articles/000083.php

摘自那篇文章:

它们是否是…的标准部分可可或您自己创建的,类名字必须大写。

Objective-C没有命名空间,所以在你的类名前加上名字的首字母。这避免了"命名空间"碰撞",这是一种情况两段代码具有相同的名称但要做不同的事情。类由Cocoa Dev Central创建的可能会以"CDC"作为前缀

如果你子类化一个标准的Cocoa同学们,把你们的前缀为超类名,例如CDCTableView。

时髦的Objective-C程序员总是给他们的类加上前缀。前缀通常与您正在开发的应用程序或它所属的库的名称相关。例如,如果我正在编写一个名为"ImageViewer"的应用程序,我将在所有类的前面加上IMV。您将在多个项目中使用的类通常带有与您的名称(TCT)、公司名称或可移植库(MAP、APN)相关的前缀。注意,Apple的类也有前缀。Apple的类被组织成框架,每个框架都有自己的前缀。例如,UIButton类属于UIKit框架。类NSArray和NSString属于Foundation框架。(NS代表NeXTSTEP,这些类最初是为其设计的平台。)对于你的课程,你应该使用三个字母的前缀。Apple为框架类保留了两个字母前缀。虽然没有什么可以阻止您创建带有两个字母前缀的类,但您应该使用三个字母来消除与Apple当前和将来的类的名称空间冲突的可能性。IOS - Objective-C - Class Names

最新更新