↩️

Swiftstyleguide

Swift 代码风格

  1. 文件名MyType.swift
  2. 文件包含单个扩展MyType+MyProtocol.swift
  3. 文件包含多扩展MyType+Additions.swift
  4. 源文件以UTF-8方式编码
  5. 字面量禁止使用混合ASCII和其它字符,如"Übergr\u{00F6}\u{00DF}e\n",就是被禁止的
  6. 导入语句放在文件非注释的最前面,按照字母升序的顺序进行排序
  7. 使用// MARK: -对分组进行描述
  8. 对过长函数的换行要遵循指定换行规范
  9. 非文档注释,尽量使用//进行注释,而不要使用C风格的块格式化/* ... */
  10. 每个letvar只声明一个变量
  11. switchcase同级,case对应的代码前置2个空格
  12. 尽量在末尾可省略逗号的位置都加上逗号,这样在后续加入新元素时,会有更明显的区分
  13. 注解最好在函数的上一行,不带参数的注解如@objc@IBOutlet@NSManaged可以写在同行
  14. 构造器在赋值时显示的使用self.以消除歧义
  15. 静态属性和类属性返回声明来兴的实例时,不需要加上该类型名字作为后缀。如public class var redColor: UIColor中,redColor可以直接使用red
  16. 全局常亮也使用驼峰命名法,而非匈牙利命名法,即非gk开头
  17. 代码再编译时尽可能保持没有警告
  18. 只读计算属性的get块可以省略,将执行体直接嵌套在属性声明里即可
  19. 数组、字典和可选类型尽肯能的简写。如Array<Element> -> [Element]
  20. 可选类型推荐使用if let进行解包。如果只是单纯的值比较,则不需要进行解包
  21. 强制解包通常代表代码的类型定义有问题,强烈不推荐。需要添加注释以说明该操作在合理操作的所有范围内均是安全的
  22. 访问登记应该细化到嵌套内,而非在顶层直接确定
  23. 如果enum枚举和类关联有父子关系,更推荐将枚举放入该类中
  24. for where来替代for循环里的if条件判断,即数据清洗功能
  25. 文档注释推荐使用///进行注释,如- Parameters:\n -digit: xxx
  26. Apple标记格式,可以丰富你的文档注释,如单星号斜体、双型号或双下划线粗体、反引号富豪命或内联代码、三反引多行代码
© 2023 WANG   •  Powered by Apple