当前位置: 首页 > article >正文

【swift 代码规范】

  • List item

代码架构分层

一、服务层

1.数据

2.网络请求

3.缓存处理

二、业务层

三、表现层

代码分块

 	// MARK: - Member Variables
    
    // MARK: - Sturct & Lazy Properties
    
    // MARK: - Class LifeCycle
    
    // MARK: - Class PrivateMethod
    
  	// MARK: - Class PublicMethod
      
  	// MARK: - extension Event
  
    // MARK: - extension UI
    
    // MARK: - extension System Delegate&DataSource
    
    // MARK: - extension Private Delegate&DataSource

一、Member Variables

1.当前Controller需要的私有变量
2.当前Controller需要的全局或公开变量

二、Sturct & Lazy Properties

1.当前Controller需要的结构体
2.当前Controller需要的enum
3.当前Controller需要的懒加载对象等

三、Class LifeCycle

1.当前Controller声明周期函数

	// lifecyle 1
	override func loadView() {
        super.loadView()
    }
	// lifecyle 2
	override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
	// lifecyle 3
	override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
    }
	// lifecyle 4
	override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
    }
	// lifecyle 5
	override func updateViewConstraints() {
        super.updateViewConstraints()
    }
    // lifecyle 6
	override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    }
	// lifecyle 7
	override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
    }
	// lifecyle 8
	override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
    }
    // lifecyle 9
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
    }

2.Controller布局常用的有xib、storyboard以及代码frame、代码snp布局
2.Controller在viewdidload中添加子view
3.xib、storyboad布局使用lifecycle 1读入页面
4.frame布局使用lifecycle 4进行布局
5.snp布局使用lifecycle 5进行布局

四、Class PrivateMethod

1.当前Controller需要的私有方法

五、Class PublicMethod

1.当前Controller供别的类调用的公开方法

六、extension Event

1.当前Controller声明的事件

七、extension UI

1.当前Controller声明的View

八、extension System Delegate&DataSource

1.当前Controller声明的系统代理方法

九、extension Private Delegate&DataSource

1.当前Controller声明的自定义代理方法

代码风格

一、命名

二、注释

三、缩进与空格规范

四、团队协作

说明:一个好的团队,理所当然有其严格的代码规范,好的代码不仅可以提高团队的开放效率,也更利于团队项目的后期维护,统一的代码风格,也是团队的核心,所以规范代码很有必要!

1.删除多余的空行 所有方法与方法之间空1行 所有代码块之间空1行
2.删除多余的注释,删除注释掉的代码,删除没有意义的注释
3.删除多余的方法,如果方法没有使用到,请删除它,如果方法没有执行任何业务逻辑,请删除它或者给出一定注释
4.删除未被使用的资源文件
5.添加必要的注释,所有.h 文件中的property 需要给出注释,所有自定义的方法需要给出注释,比较大的代码块需要给出注释,所有代码中出现的阿拉伯数字需要给出注释,程序中出现加密/解密 逻辑的操作地方,需要给出注释说明过程(无论是系统还是自定义)
6.整体代码风格需要统一,代码后面的”{“ 不需要单独占用一行,逻辑运算符 与“|” 代码之前空一格,“MARK -” 与下面的代码之前不要空行,遵循一般性的代码规范

loadview 和 viewdidload
oc代码规范


http://www.kler.cn/a/37377.html

相关文章:

  • globals.hpp记录
  • 前端笔记5
  • 计算机网络 day3 广播风暴 - VLAN - Trunk
  • RabbitMQ系列(28)--RabbitMQ使用Federation Queue(联邦队列)解决异地访问延迟问题
  • 网络安全中黑客的问题,黑客真的那么厉害吗?
  • 【Matlab】智能优化算法_广义正态分布优化算法GNDO
  • k8s kubeadmin方式安装部署
  • 小程序:调用手机的相册
  • JMeter压测常见面试问题
  • JavaScript
  • HarmonyOS学习路之开发篇—设备管理(位置开发)
  • spring复习:(24)ApplicationContext中的BeanPostProcess是在哪里注册到容器的?
  • vue3,elementPlus和自己封装,点击 新增添加表单,删除表单,提交数据
  • 《Redis 核心技术与实战》课程学习笔记(五)
  • 面试知识点总结一
  • Python中退出While循环的三种方法举例
  • Ripple赢了!法官裁定XRP不属于证券,价格上涨超70%
  • 【数据挖掘】时间序列教程【十】
  • 精彩回放 | AI驱动下的流程挖掘如何提升企业决策和运营效率?
  • [运维|数据库] docker postgresql数据库环境变量配置