美文网首页
我的个人代码规范文档

我的个人代码规范文档

作者: 君赏 | 来源:发表于2016-06-23 14:14 被阅读109次

    我的个人代码规范文档

    因为很多人不适应我的代码规范 所以只仅供参考。不知道从哪里说起,就想到那里说到那里。

    1 .属性的声明

    属性可以用到下面的几个单词进行声明,只针对ARC开发环境

    Strong

    Copy

    Assgin

    Weak

    我说一下上面几个单词用到的地方,在除去NSString Block之外所有的对象应该声明为Strong

    我现在的团队习惯声明为Weak 创建局部对象AddSubView之后 之后指向,这是错误的。因为你的指针只是被AddSubView保留,如果什么时候Remove 你的属性就为nil.

    在NSString和Block声明地方使用Copy属性。有的人NSString使用Strong,我们都知道Strong和Copy分别是指向一个对象和从新生成一个对象,可以根据实际情况来声明,一般要使用Copy。

    对于基本的数据类型一定要使用Assgin

    对于XIB的属性使用Weak 代理,还有一些弱引用对象。

    2.尽量多使用属性懒加载

    可以在实现的文件里面把属性的懒加载也就是get方法卸载页面的最下面,这样我们就只关注于上面的内容了。

    3 允许修改的对象属性尽量使用readlony

    对于一些控件我们只需要用户修改控件的属性,就可以在头文件声明readonly 实现文件再次声明。

    4 文件夹的分层

    我也喜欢进行Cocoapods托管,但是一些第三方库还是不支持。

    Defines(存放定义的颜色 枚举 工程配置 字符串等等。记得这些配置我习惯分文件存放)

    FrameWork(存放第三方的FW 和系统的)

    Libs(第三方开源代码的库)

    Plugins(对于我来说俗称插件话 管理各个功能块的插件 比如支付插件 管理各种支付)

    Categories(存放自定义的各个分类)

    Protocols(存放自定义个协议类)

    Tools(项目用到的协议工具 比如汇率转换等等)

    Requests(基于自己工程封装的请求库 只针对自己工程)

    Controller (试图)

    ​ Controller(试图控制器)

    ​ View (分离的试图)

    ​ Models(数据模型)

    ​ ViewModels(用于数据解析)

    ​ Api(用于请求)

    AppDelegate(存放AppDelegate文件)

    Resouses(存在Plist 图片等等)

    5 可以采用MVVM 的变种

    自从我开始用MVVM 我就觉得和我之前的一种很像

    ViewController的View可以单独提出来 VC只负责Push的跳转 发起请求

    View 负责VC的全部的试图 可以分离很多块

    Model用于和后台接口数据模型的解析

    ViewModel负责请求数据和解析数据

    API负责整个VC的接口

    6 命名方面

    很多文档都有 我就只说几点

    命名一定要体现这个是干什么的 比我headImageView,我可以猜出来是头像 而且是UIImageView控件

    全局属性使用_开头和属性的最好保持一致。

    相关文章

      网友评论

          本文标题:我的个人代码规范文档

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