iOS项目编码规范文档

作者: Larry萝卜 | 来源:发表于2016-11-14 19:06 被阅读193次

    =================================

    为了让代码更加整洁,团队配合更加顺畅,指定开发规范文档,请开发同学仔细阅读本文档,并在日常开发过程中遵守本文档中的约定.

    1.代码目录结构

    工程代码在 x 目录下, 每个单词的开头字母大写BT, 结构如下:

     ├── ABcd
     ├── Post
     ├── Topic
    │      └── Contronller
    │             ├── BTTopicViewController
    │             ├── x
    │             ├── x
    │             └── x
     |
    ├── x
    │      ├── x
    │      ├── x
    │      ├── x
    │      ├── x
    │      └── sx
     | 
    ├── Pods
     | 
    ├── Frameworks
    
    
    逻辑代码核心模块介绍:

    2.代码命名规范

    2.1 类名或者协议名
    1. 类名

    首字母大写且大小写混搭,跨应用的还要加前缀类应该包含一个名词,表达类代表的事物或干的事情,一般加前缀,

    如系统的 NSString, NSDate;
    自定义的控件 BTAlertView等;

    1. 协议名

    协议名参照它的文件名,
    如UIView-Hierarchy文件中的UIView(Hierarchy)命名

    1. 自定义视图View
       1. BTBannerView
       2. Button
           1. BTPriaseButton
       3. UIImageView
           1. BTTapImageView
       4. Gesture
       5. Delegate
    
    1. 自定义视图View

    2. 系统组件属性命名: 全部加全缩写

    1. UILabel            xxxLabel
       2. UIButton           xxxButton
       3. UIImageView        xxxImageView
       4. UISwitch           xxxxSwitch
       5. UICollectionView   xxxxCollectionView
       6. UITableView        xxxTableView
       7. Array              xxxArray
       8. NSDictionary       xxxDictionary 
       9. BOOL               islike
       10. Float                           
       11. NSINteger
       12. Block             xxxBlock
    
    1. 资源文件命名 icon_cm_xxx_ (icon/bg/empty/line/dot/模块动作/名字_)
    1.  icon_topic_addfollow  // 专题添加关注图标
    2.  bg_article_cell
    3.  empty_center_post  // 个人中心发布为空图
    4.  icon_cm_xxxx        // CM 代表公共的模块
    5.  line_xxx_xx // 间隔线
    6.  dot_xx_xxx // 点图
    
    1. 配置文件命名
       a. Notifacation 
           1. Notification的格式:[Name of associated class] + [Did | Will] + [UniquePartOfName] + Notification
           2. NSApplicationDidBecomeActiveNotification
           3. NSTextViewDidChangeSelectionNotification
    
       b. Dictionary      KEY     
    
       c. NSUserDefault   KEY   k + 模块 + UDKey > BTUserNameUDKey / BTAppDeviceTokenUDKey
    
       d. 常量名字  使用const关键字的常量,统一加k: eg:NSString *const kDataComments = @"comments";
    
       e. 其他
       f. loading   startLoading ,endLoading
    
    1. 协议命名
      Category 统一后面添加 功能+Additions

    2. 集合命名
      为了管理集合中的元素,集合应该有这几个方法

        - (void)addElement:(elementType)anObj;
        - (void)removeElement:(elementType)anObj;
        - (NSArray *)elements;
    
    1. 命名常量( Constants )
      如果要定义一组相关的常量,尽量使用枚举类型( enumerations ),枚举类型的命名规则和函数的命名规则相同
    2.2 函数名
    1. 全局的东西,也要带前缀。前缀后的第一个字母大写。后面大小写混搭。如:
      BTScreenHeight()
    2.3 属性命名
    //poperty表示为一个形容词,可省略 ”is” 前缀
    @property (assign, getter=isEditable) BOOL editable; 
    
    1. 注释编写规范

    可以直接使用 XCode中的 documents 的编译目标,就可以直接从注释中提取文档.(需要安装 appledoc)

    这就要求在编写注释时符合特定的规范.

    被提取的注释
    • 多行注释 /** */
    • 单行注释 ///
    类声明

    /**
    在这里写类的说明,放在类定义的最前面,可以说的详细一点
    */

    函数声明

    要求尽量每个暴露给外面的接口都编写以下注释

    /**
    在这里写对函数的说明,可以说的详细一点

    @brief 这个是一个简要说明
    @param <参数1> 参数1说明
    @param <参数2> 参数2说明
    @return 返回值说明
    @exception <异常1> 异常1说明
    */

    ==========把下面的注释拖到XCode右下角{}库中,可以设置快捷键============
    /**
    <#在这里写对函数的说明,可以说的详细一点#>

    @brief <#这个是一个简要说明#>
    @param <<#参数1#>> <#参数1说明#>
    @param <<#参数2#>> <#参数2说明#>
    @return <#返回值说明#>
    */

    参考
    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1001751-BBCFECGB

    http://www.cnblogs.com/496668219long/p/4488512.html

    相关文章

      网友评论

        本文标题:iOS项目编码规范文档

        本文链接:https://www.haomeiwen.com/subject/nntkpttx.html