zoukankan      html  css  js  c++  java
  • ios 编程规范

    转自:http://www.cnblogs.com/celestial/archive/2012/06/30/2571417.html

    iOS编程规范

     

    编码规范

    一、文档结构管理

    1.建立Libraries文件夹,所有第三方库放入其中。

    2.建立Utilities文件夹,自已封装的类放入其中。

    3.建立Constants.h头文件,所有的常量定义于其中。Constants.h文件放入Main文件组里面。

    4.每个功能块放入一个Group,在目录里建立实际文件夹管理。

    5.程序资源文件放入Supporting Files文件夹中。如.plist、数据库资料等。

    6.在Supporting Files文件夹下建立Image、Music和Video等相关文件夹。图片、音频、视频等资源分别放入其中。图片资源以程序逻辑框架建立相应实体文件夹管理,若多个功能块共用的,建立Common文件夹,放入其中。

    二、编码规范
    说明:为了不影响阅读,一个类的代码行数尽量不要超过300行;一个方法尽量不要超过30行。有超过的在重构的时候想办法分解。
     
    1.每个.h文件最开始处用简短文字说明一下该类的功能逻辑。

    2.引入其它类时,若要作为实例变量的在.h中引入。否则在.m中引入。

    3.@interface与@implementation#import 之间空一行。@synthesize紧接着@implementation写。

    4.a:声明实例变量一律以属性声明。

       b:其它类要访问的实例变量和方法在.h文件中声明,否则声明于.m文件中。

     c:实例变量及方法以功能块放在一起,实现一个功能的连续着放在一起,另一个功能的空一行开始声明。

     d:实例变量紧接@interface后开始,方法在实例变量后空一行开始。

     e:每个功能块可作简单说明,单个实例变量方法可不作说明,关键的或特殊的变量或方法单独作说明。注释放于变量声明上一行。

    5.类中第个功能模块以 #pragma mark -  分隔,上空两行,下空一行。

    6.NSLog在测试完成后一律删除。

    7.对于系统的常用类作实例变量声明时加入后缀:

     UIViewController:VC

       UIImage:Img  UIImageView:ImgView  UIView:View  UILabel:Lbl

       UIButton:Btn  UINavigationBar:NBar   UIToolBar:TBar  UISearchBar:SBar

       UITextField:TextField  UITextView:TextView

       NSArray:Array       NSMutableArray:MArray

       NSDictionary:Dict  NSMutableDictionary:MDict

     NSString:Str         NSMutableString:MStr

       NSSet:Set       NSMutableSet:MSet

    8.程序中变量、方法命名尽量能以字面意思表示功能,对于需要用注释来解释的部分代码,注释以如下格式表述:

    /**

     * 方法或变量说明

     * @param 参数1说明(针对方法)

     * @param 参数2说明(针对方法)

     * @return 若方法有返回值则对返回值作说明

     */

     

    三、Xcode配置

    1.全部统一用ARC。

    2.用git管理代码。

    3.在项目.pch文件加入一段去除release的NSLog代码:

    #ifndef __OPTIMIZE__

    #define NSLog(...) NSLog(__VA_ARGS__)

    #else

    #define NSLog(...) {}

    #endif

  • 相关阅读:
    使用 Anthem.NET 的经验小结
    使用 Anthem.NET 的常见回调(Callback)处理方式小结
    Anthem.NET 的回调流程图
    客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
    ASP.NET AJAX(Atlas)和Anthem.NET——管中窥豹般小小比较
    使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
    Access中一句查询代码实现Excel数据导入导出
    Access中复制表
    tensorflow kmeans 聚类
    tensorflow knn mnist
  • 原文地址:https://www.cnblogs.com/fisland/p/4323530.html
Copyright © 2011-2022 走看看