• iOS 代码开发规范


      最近公司因为业务增多,又招了一个iOS小伙伴,内心无比开心呀。但是多了一个人,日常代码开发就要统一规范起来,方便日后维护和查找。下边列一下我日常用到一些代码规范。

      (一)、SVN规范  

      1、代码一定要先update,(解决冲突),然后在commit。

      2、代码提交。

      【人员】【动作】【动作内容】

      如果代码中增加、修改文件,要写清楚增加了那个模块,那个文件夹,做什么功能的。

      如果对代码进行删除,一定要和PM确定这个文件无用了,然后再删除文件,同时记得删除服务器上的文件。

      如果对文件进行移动,要写清楚文件从哪里移动到了哪里,同时记得移动服务器上的文件。

       eg:

      【石智力】【添加】【首页 --生活 添加轮播图。。。SDCycleScrollView 】

      【石智力】【修改】【首页 --生活 添加轮播图。。。】

      【石智力】【删除】【首页 --生活 添加轮播图。。。SDCycleScrollView 】

      【石智力】【移动】【首页 --生活 添加轮播图。。。SDCycleScrollView 从A移动到B】

      (二)、代码开发规范

      一、工程结构方面

    1、新建工程目录下一定只有4个文件夹(前三个为实体文件夹,最后一个为group的虚拟文件夹),ThreeLib(放置所有导入的第三方包)、NetWork(放置app内所有网络请求)、CodeClass(放置整个app的功能模块代码)、ConfigFile(app的配置文件:assets,info,pch,header)。

    2、ThreeLib第三方没啥好说的,假如使用pod管理第三方也要建有这个文件。

    3、NetWork所有的网络请求都放这里,所有请求的前缀,写在request的头部,请求的地址、注释、方法依次写在下边;

      connect是对AF等其他网络组件的封装,请求超时时间宏定义在这里,假如要做加密、解密统一在这里做就好了;

      同时下边放置网络请求失败和请求结果暂无数据等相关的页面。

    4、CodeClass中的代码按照功能模块划分,大的模块下建设具体页面的文件夹,然后每个模块在进行MCV模式划分,每个文件开头一定是这个模块的单词,避免文件和其他同事建设的文件重名。也可以在模块后边再加上创建者的名字缩写,O(∩_∩)O~,然后是具体小功能。model一定以model结束,view以view或者cell结束,VC以VC结束。

    5、ConfigFile这里主要放置配置文件。header文件一律放到ProjectHeader文件中,文字、时间、字体,颜色,尺寸,等定义放到common文件,common和header文件放到pch文件。

      二、编码规范

      1、编码通用的哪些规范就不一一枚举了,说也没意思,但是一定要争取做到。

      2、所有view,vc,都要继承base中的父类,不要直接从view或者VC中继承,便于后期维护和增加公用处理。

      3、所有新建的文件第一件是是导入pg结构块(我自己定义的),所有方法放到对应的模块不允许乱放,便于日后查找方法。

    #pragma mark - -------------------------life cycle--------------------------

    #pragma mark - -------------------------content view--------------------------

    #pragma mark - ----------------------private methods--------------------

    #pragma mark - ----------------------public methods--------------------

    #pragma mark - ----------------------event response---------------------

    #pragma mark - -------------------------delegate -------------------------

    #pragma mark - -------------------------network--------------------------

    #pragma mark - ----------------------getter and setter--------------------

      4、进入控制器的第一步打印进入某某页面的log,然后是才是setUIView方法。

      5、用户响应事件一定有log,凡是有判断的地方必有注释和log,switch上方必有大段解释。魔法数字,必有注。所有方法一般不要超过30行,超过必有大段、多处注释。

      6、字号、颜色、尺寸尽量用common中定义的,没有则自己添加定义。

      7、view传递跳转等事件尽量使用响应者链就行传递,避免block和delegate。

      8、传值尽量用block,事件尽量用delegate。

      9、添加文件杜绝拖拽添加,一定要addfile。

      10、所有涉及时间的东西一律用宏定义,除非特殊情况不单独设置时间。

      11、一个方法用到第三回的时候就是你对他进行封装的时候。

      12、不做哑巴程序员。

  • 相关阅读:
    微服务架构技术栈选型手册(万字长文)
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    Visual Studio 2013 always switches source control plugin to Git and disconnect TFS
    MFC对话框中使用CHtmlEditCtrl
    ATL开发 ActiveX控件的 inf文件模板
    ActiveX: 如何用.inf和.ocx文件生成cab文件
    Xslt 1.0中使用Array
    如何分隔两个base64字符串?
    An attempt was made to load a program with an incorrect format
    JQuery 公网 CDN
  • 原文地址:https://www.cnblogs.com/shizhiliblog/p/8669883.html
Copyright © 2020-2023  润新知