下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >移动开发 >iOS 团队编程规范(一)

iOS 团队编程规范(一)

Abby发布于 2017-10-13 09:22查看:833

    前 言

        ·需求是暂时的,只有变化才是永恒的,面向变化编程,而不是面向需求编程。

        ·不要过分追求技巧,降低程序的可读性。

        ·简洁的代码可以让bug无处藏身。要写出明显没有bug的代码,而不是没有明显bug的代码。

        ·先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。


一、命名规范

     1、统一要求

        含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释,使用全称,不使用缩写。

     2、类名

        大驼峰式命名:每个单词的首字母都采用大写字母

        ==例:== MFHomePageViewController

     3、私有变量

            ·私有变量放在 .m 文件中声明

            ·以 _ 开头,第一个单词首字母小写,后面的单词的首字母全部大写。

              ==例:== NSString *_somePrivateVariable

      4、property变量

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

            ·属性的关键字推荐按照 原子性,读写,内存管理的顺序排列。

            ·BlockNSString属性应该使用copy关键字

            ·禁止使用synthesize关键词

           ==例:==        

image.png

        5、宏和常量命名

      • 对于宏定义的常量

        • #define 预处理定义的常量全部大写,单词间用 _ 分隔

        • 宏定义中如果包含表达式或变量,表达式或变量必须用小括号括起来。

      • 对于类型常量

        • 对于局限于某编译单元(实现文件)的常量,以字符k开头,例如kAnimationDuration,且需要以static const修饰

        • 对于定义于类头文件的常量,外部可见,则以定义该常量所在类的类名开头,例如EOCViewClassAnimationDuration, 仿照苹果风格,在头文件中进行extern声明,在实现文件中定义其值

                ==例:==

image.png


        6、Enum

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

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

            ·NS_ENUM定义通用枚举,NS_OPTIONS定义位移枚举

            ==例:==

image.png


7、Delegate

    • delegate做后缀,如

    • optional修饰可以不实现的方法,用required修饰必须实现的方法

    • 当你的委托的方法过多, 可以拆分数据部分和其他逻辑部分, 数据部分用dataSource做后缀. 如

    • 使用didwill通知Delegate已经发生的变化或将要发生的变化。

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

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


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

        ==例:==

image.png

image.png


8、方法

  •     方法名用小驼峰式命名

  •     方法名不要使用new作为前缀

  •     不要使用and来连接属性参数,如果方法描述两种独立的行为,使用and来串接它们。

  •     方法实现时,如果参数过长,则令每个参数占用一行,以冒号对齐。

  •     一般方法不使用前缀命名,私有方法可以使用统一的前缀来分组和辨识

  •     方法名要与对应的参数名保持高度一致

  •     表示对象行为的方法、执行性的方法应该以动词开头

  •     返回性的方法应该以返回的内容开头,但之前不要加get,除非是间接返回一个或多个值。

  •     可以使用情态动词(动词前面can、should、will等)进一步说明属性意思,但不要使用dodoes,因为这些助动词没什么实际意义。也不要在动词前使用副词或形容词修饰

        ==例:==

image.png

收藏(0)1
查看评分情况

全部评分

  • 时光流逝2017-10-15 13:08

总计:1

回复分享
Abby  于   2017-10-13 09:22 重新编辑过

共有0条评论

    • 慧星的那一夜
    • MK
    • 药师
    • IT宅男
    • mr jack
    • YUI
    • Mr ken
    • cappuccino
    • 课课家技术团队1
    • 选择版块:

    • 标题:

    • 内容

    • 验证码:

    • 标题:

    • 内容

    • 选择版块:

    移动帖子x

    移动到: