项目管理之 Objective-C 编码规范

目录:

一、格式化代码

 

 

二、命名

      命名要求

       1. 类的命名:

       规则:

                大驼峰命名法,每个单词的首字母都采用大写字母。一般添加业务前缀。后缀一般是当前类的种类。

                ViewController:后缀:ViewController

                NavigationController:后缀:ViewController

                TabBarController:后缀:TabBarController       

                View:        后缀:View

                Model:      后缀:

                Cell:          后缀:Cell

                Delegate:  后缀:Delegate

                ......

 

        方法:

                前缀+业务名称(或继承关系名称)+类别名称

        示例:

                XSDBaseNavigationController

                XSDHomePageViewController

                AccountCouponCell

                

        2. 私有变量:

       规则:

                小驼峰命名法,第一个单词以小写字母开始,后面的单词的首字母全部大写。

        方法:

                在 .m 文件中声明私有变量,以 ”_“ 开头。               

        示例:

                                

        3. @property 变量:

       规则:

                小驼峰命名法。

        方法:

                @property (nonatomiccopyNSString *dateCreated;//消息创建时间                

        示例:

                

 

        4. 宏命名:

       规则:

                1>全部大写,以 ”_“连接[不带参数];

                2>以字母 ”k“ ,后面遵循大驼峰命名[不带参数];

                3>小驼峰命名[可带参数]。

        方法:

        示例:

                #define MWPHOTO_PROGRESS_NOTIFICATION @"MWPHOTO_PROGRESS_NOTIFICATION"

                #define kScreenHeight [UIScreen mainScreen].bounds.size.height      //获取设备的物理高度

                #define getImageUrl(url) [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",kBaseUrl,url]]

 

 

        5. 枚举定义:

       规则:

                Enum类型的命名与类的命名规则一致。

                Enum中枚举内容的命名需要以该Enum类型名称开头。

 

        方法:

        示例:

                

        6. Delegate:

       规则:

                类的实例必须为回调方法的参数之一。

                回调方法的参数只有类自己的情况,方法名要符合实际含义         

                以类的名字开头(回调方法存在两个以上参数的情况)以表明此方法是属于哪个类的。

                使用did和will通知Delegate已经发生的变化或将要发生的变化。

     

        方法:

                - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

                - (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView

                - (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

                - (NSIndexPath*)tableView:(UITableView*)tableView willSelectRowAtIndexPath:(NSIndexPath*)indexPath;

                - (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath;

        示例:

                

        7. 

       规则:

                大驼峰命名法,一般添加业务前缀。

        方法:

        示例:

三、注释

        注释要求

        1. 属性变量注释:

        规则:

                在定义的属性变量后添加注释。

        方法:

                使用”//“ + 说明 

        示例:

               @property (nonatomiccopyNSString * overdueSum;      //已逾期总额

 

        2. 方法注释:

        规则:

                在方法声明的 .h 文件中,添加方法作用、各个参数及返回结果的说明

        方法:

                在声明时添加如下图的注释。

                在实现文件 .m 中添加 #pragma mark - 功能

        示例:

                .h 文件中如下:

                        

                在 .m 文件中:

                #pragma mark - 获取账户中心优惠券

 

        3. 类的注释:

        规则:

                在类的头文件中添加注释,声明当前类的描述。

        方法:

                在 .h 文件中添加 Class 描述+功能

        示例:

               

        

四、Cocoa 和 Objective-C特有的规则 

五、Cocoa Pattern 

六、其他

 

posted @ 2017-05-22 09:19  ZachRobin  阅读(229)  评论(0编辑  收藏  举报