• iOS代码规范


    一、文档结构管理

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

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

    3.建立Constant.h头文件,常量定义于其中。Constant.h文件放入Tool文件组里面。

    4.建立Model、View、Controller三个文件夹,每个文件夹里按功能模块分组(例如tabbar里5个模块)

    5.建立Image文件夹。图片放入其中。

    6.建立Network文件夹。网络请求类放入其中。

    7.建立DataBase文件夹。数据缓存类放入其中。

    二、编码规范

    说明:为了不影响阅读,一个类的代码行数尽量不要超过500行;一个方法尽量不要超过30行。有超过的在重构的时候想办法分解(不要刻意重构)。

    1.每个.h文件最开始处用简短文字说明一下该类的功能逻辑。

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

    3.声明实例变量一律以属性声明。

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

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

    /**

     * 方法或变量说明

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

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

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

     */

    或者

    //简短的描述语句  (在方法前或者变量后)

    6.类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前

    缀“get” 变量名小写字母开头,常量以小写字母k开头,后续首字母大写

    7.写delegate的时候类型应该为weak弱引用,以避免循环引用

    8.实例变量声明时变量名前面加下划线“_”,局部变量不用加。

    9.注册通知需要在dealloc中对应remove掉对象。

    10.移动端遇到一个常识问题 c = a/b; 没有做任何判断这家出现这样的语句,如果b万一为0呢?是吧所以必须if(b){c= a/b}。

    11.一般判断BOOL的时候  例如:BOOL A = [object  action];不要直接if(A == YES)这样判断 直接if(A)

    三、Xcode配置

    1.全部统一用ARC。

    2.用Cornerstone或者Git管理代码。

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

    #ifndef __OPTIMIZE__

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

    #else

    #define NSLog(...) {}

    #endif

  • 相关阅读:
    二叉树遍历
    NO.35 2021/12/13(06:50)[周一]
    NO.29 2021/11/30(06:30)[周二]
    NO.22 2021/11/19(06:15) [周五]
    The .NET ORM Architec
    C#格式字符串
    C# Attribute
    .net DLL反编译文件
    【Beta】Scrum meeting1
    【Alpha】Scrum meeting 6
  • 原文地址:https://www.cnblogs.com/huangzs/p/5650743.html
Copyright © 2020-2023  润新知