标签:
文档编号:
应用开发Swift编码规范
(版本v1.0.0)
成文信息 |
||||||
主题词: |
Swift开发编码规范 |
|||||
作 者: |
周少停 |
文档类别: |
开发规范 |
|||
审 核: |
|
|||||
批 准: |
|
文档性质: |
初稿 |
|||
主 送: |
|
存档日期: |
|
|||
抄 送: |
|
发布日期: |
2016年4月8号 |
|||
变更信息 |
||||||
版本 |
原因 |
作者 |
日期 |
|||
|
|
|
|
|||
|
|
|
|
|||
|
开发规范制定的目的是为了保证在系统设计、编码、测试、维护的过程中项目组人员遵循一套统一系统设计标准、应用程序编写标准、页面风格标准,
借以提高软件开发团队的效率、增加代码的统一性、可读性,可维护性,保障项目开发稳定。
本文档的阅读对象为开发人员。
本文档提供了项目开发的各项规范以及指导原则。开发人员在开发过程中必须严格遵守此开发规范。
基类:应用程序最底层的程序支撑,封装应用程序的基本功能和框架实现。
本文中凡是规范标题下的内容,都是开发过程中必须遵守的约定。
本文中凡是注意事项标题下的内容,都是开发过程中最好遵守的原则,它们多是一些技巧的提示,可提高应用程序的性能,避免不必要的错误。
想要了解更多Swift,请查阅以下链接:
github官方网站:https://github.com/
苹果Swift官方网站:https://developer.apple.com/swift/
Swift学习网站(SwiftV视频课堂):http://www.swiftv.cn/
Swift学习网站(极客学院):http://search.jikexueyuan.com/course/?q=swift
Swift指南:https://github.com/ipader/SwiftGuide
Swift代码规范:https://github.com/Artwalk/swift-style-guide/blob/master/README_CN.md
https://github.com/raywenderlich/swift-style-guide
代码格式与风格的基本原则是:便于开发,易于交流,前后一致,符合本规范求,形成全公司统一风格。
子功能块当在其父功能块后缩进。
当功能块过多而导致缩进过深时当将子功能块提取出来做为子函数。
使用缩进2个空格,而不是制表符,以节省空间,并有助于防止换行。请务必在Xcode中设置此偏好。
如:
为便于阅读和理解,单个函数的有效代码长度当尽量控制在100行以内(不包括注释行),当一个功能模块过大时往往造成阅读困难,
因此当使用子函数等将相应功能抽取出来,这也有利于提高代码的重用度。
单个类也不宜过大,当出现此类情况时当将相应功能的代码重构到其他类中,通过组合等方式来调用,建议单个类的长度包括注释行不超过1500行。
尽量避免使用大类和长方法。
页宽应该设置为80字符。一般不要超过这个宽度, 这会导致在某些机器中无法以一屏来完整显示, 但这一设置也可以灵活调整。
在任何情况下, 超长的语句应该在一个逗号后或一个操作符前折行。一条语句折行后, 应该比原来的语句再缩进一个TAB或4个空格,以便于阅读。
一行代码长度也最好控制在80字符以内,该功能可在Xcode里面设置.
类、方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的大片空行。
操作符两端应当各空一个字符以增加可读性。
相应独立的功能模块之间可使用注释行间隔,并标明相应内容.
Swift中括号不同其他编程语言,这里需要注意.如:
同时,{ }的使用规划应该为:
而不是
Swift不需要分号来换行,所以在每行代码结束时,最好不要加分号,除非一行之上有两句代码,这时才需要在每句代码结束之后加分号
但是,不推荐一行之上写多句代码.
单行注释使用//即可
多行注释使用/**/
如:
在每个类开始的时候,Xcode会自动写上有关该类.该工程的信息,这时需要为该类写上注释:该类的功能.注意事项等.如
为每一个方法写上注释,该方法的功能.注意事项等,使用MARK标记.
类名.自定义协议名.枚举采用大驼峰命名法,类名每个单词的首字母都应该大写.如:
方法名.协议名采用小驼峰命名法.第一个单词的首字母小写,其余单词的首字母大写.
变量名.常量名.集合名一律采用小驼峰命名法,如果只有一个单词,则一律小写.
尽可能地使用Swift原生类型.如:
应尽量避免:
4.5
计算属性为了保持简洁,如果一个计算属性是只读的,请忽略掉get语句。只有在需要定义set语句的时候,才提供get语句。
推荐:
不推荐:

4.6函数声明
保证短的函数定义在同一行中,并且包含左大括号:
在一个长的函数定义时,在适当的地方进行换行,同时在下一行中添加一个额外的缩进:
如果闭包表达式参数在参数列表中的最后一个时,使用尾部闭包表达式。给定闭包参数一个描述性的命名。
推荐做法:
不推荐做法:
当单个闭包表达式上下文清晰时,使用隐式的返回值:
使用原生的 Swift 结构体构造器,比老式的几何类(CGGeometry)的构造器要好。
推荐:
不推荐:
推荐使用类型定义简洁的版本,而不是全称通用语法。
推荐:
不推荐:
推荐循环使用for-in表达式,而不使用for-condition-increment表达式。
推荐:
不推荐:
let
尽量用 let
而不是 var
一个好的技巧是,使用 let 定义任何东西,只有在编译器告诉我们值需要改变的时候才改成 var 定义。
Return
或者 break
当你遇到某些操作需要通过条件判断去执行,应当尽早地退出判断条件,如
而不应该
当指定标示符的类型时,冒号要紧跟着标示符,然后空一格再写类型
self
self,当调用 self
的 properties
或 methods
时,self
用默认的隐式引用:
必要的时候再加上self
, 比如在闭包里,或者 参数名冲突了:
structs
而非 classes
除非你需要 class
才能提供的功能(比如 identity
或 deinitializers
),不然就用 struct
要注意到继承通常不是用 类 的好理由,因为 多态 可以通过 协议 实现,重用 可以通过 组合 实现。
比如,这个类的分级
可以重构成这个这样:
当定义操作定义符 时,两边留空格
推荐
a = b ++
不推荐
a=b++
标签:
原文地址:http://www.cnblogs.com/shaoting/p/5379387.html