一篇走心的iOS代码规范!

2021-08-13  本文已影响0人  iOS鑫

前言

关于代码规范的重要性这里不做过多解释,能看到这篇文章说明你已经开始重视代码规范了(代码规范看起来是在限制你的自由和发挥,其实它是在间接的帮助你变得更优秀。)。

适当的代码规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,进而提高工作效率,降低沟通成本。代码的字里行间流淌着的是软件和程序员的血液,质量的提升是尽可能少踩坑、杜绝踩重复的坑,切实提升系统稳定性,码出质量

根据约束力度,暂时把规范约定为2个等级,分别是 必须建议

(一)命名规范


1. 通用命名规范

Tips:
所有的命名都应该遵循3个基本原则,即“清晰性”、“一致性”、“不要自我指涉”。

 正例:
    removeObject:、[string stringByReplacingOccurrencesOfString:@"1" withString:@"2"]
 反例:
    remove:(不清楚,要删除什么?)、string.replace("1", "2")
(是将"1"替换成"2"还是将"2"替换成"1"?是将第1个"1"替换成"2"还是将所有的"1"都替换成"2")

Tips:
你明白这个缩写的意思不代表其他人也一定会明白,你的代码可能会被任何人阅读,而阅读的人来自不同的地方接受不同的教育不同的文化,所有建议一般不要乱使用缩写,只使用那些国际通用缩写。如果为了缩写创建一个缩写对照表只会增加代码阅读复杂度。

    正例:
    destinationSelection、setBackgroundColor
    反例:
    destSel、setBgColor

2. 类命名规范

首先作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS开发交流群:130 595 548,不管你是小白还是大牛都欢迎入驻 ,让我们一起进步,共同发展!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)

   正例:
WXYZ_LoginViewControler WXYZ_表示前缀,Login表示该类跟登录相关,ViewController表示该类是一个视图控制器而不是View。

3. 方法命名规范

4. Protocol命名规范

5. Category命名规范

6. Notification命名规范

7. 常量命名规范

8. Exception命名规范

9. 文件命名规范

(二)编码规范


1. 通用编码规范

2. 类编码规范

3. 方法编码规范

4. Block编码规范

5. 通知编码规范

6. 注释编码规范

(三)工程结构规范


结语


这只是一篇关于iOS的代码规范,所以某些需要和服务端需要统一的规范(例如错误码)并没有提到,还有些关于如何编写安全代码方面的规范也只是略微提到,因为关于如何写出更安全的代码应该不属于代码规范层面;欢迎大家提出更好的建议或改进,我也会不断更新完善;最后祝大家码出开心,码出质量。

上一篇下一篇

猜你喜欢

热点阅读