Swift--规范编程

2020-07-06  本文已影响0人  优雅的步伐

命名规范

常用命名方法
Swift编码命名规范

注释规范

注释规范有:

文件注释

文件注释就是在每一个文件开头添加注释。文件注释通常包括如下信息:版权信息、文件名、所在模块、作者信息、历史版本信息、文件内容和作用等。
如下图:


image.png
文档注释

文档注释是指这种注释内容能够生成API帮助文档。文档注释主要对类型、属性、方法或函数等进行注释。

如下图:


image.png
代码注释

程序代码中处理文档注释还需要在一些关键的地方添加代码注释,文档注释一般是给一些看不到源代码的人看的帮助文档,而代码注释是给阅读源代码的人参考的。

使用地标注释

声明

1、变量或常量声明时,每行声明变量或常量的数量推荐一行一个,因为这样有利于写注释。

推荐使用:

let level = 0
var size = 10

不推荐使用:

let level,   le2,   le3 = 0;   var size = 10

2、还有变量或常量的数据类型,如果有可能应尽量采用类型推断,这样代码更简洁。
推荐使用:

let level = 0
var size = 10

不推荐使用:

let level: Int = 0
var size: Int = 10

3、 如果不是默认数据类型,我们需要声明变量或常量的数据类型,示例代码如下:

let level: Int8 = 0
var size: Int64 = 10

4、指定数据类型时需要使用冒号(:),变量或常量与冒号之间没有空格,冒号和数据类型之间要有一个空格。示例代码如下:

推荐使用:

let level: Int8 = 0
var size: Int64 = 10

不推荐使用:

let level : Int8 = 0
var size: Int64=10

5、使用数据类型时应尽可能使用Swift本身的数据类型,例如:
推荐使用:

let width = 120.0
let widthString = "Hello."
var deviceModels: [String]
var employees: [Int: String]

不推荐使用:

let width:  NsNumber = 120.0
let widthString: NSString = "Hello."
var deviceModels: NSArray
var employees: NSDictionary

推荐使用:

var fullName: String  {
    return firstName + "." + lastName
}

不推荐使用:

var fullName: String  {
     get {
           return  firstName  +  "."  +  lastName
      }
}

代码排版

空行
空格

1、赋值符号“=”前后各有一个空格。var 或let 与标识符之间有一个空格。所有的二元运算符都应该使用空格与操作符分开。一元操作符和操作数之间不应该有空格,如++、--等。
示例如下:

var a = 10
var c = 10
a += c + d

2、(2)小左括号“("之后,小右括号“)”之前不应该有空。
示例如下:

a = (a + b) / (c * d)

3、大左括号“{”之前有一个空格,示例如下:

while a == d {
    n++
}

4、在方法或函数名与第一参数之间没有空格,后面的参数前应该有一个空格,参数冒号与数据类型之间也有一个空格。
推荐使用:

 func tableView(_ tableView: UITableView, didSelectRowAt   indexPath: IndexPath) {
     ...
}

不推荐使用:

func tableView ( _ tableView: UITableView, didSelectRowAt   indexPath: IndexPath) {
     ...
}
断行

例如:

(1)
 longName1 = longName2 * (longName3 + longName4 - longName5)
    + 4 * longName6

  (2)
 longName1 = longName2 * (longName3 + longName4 
  - longName5) + 4 * longName6

//代码第(1)行的断开位置要比第(2)行的断开位置好。因为代码第(1)行断开位于括号表达式的外边,这是个较高级别的断开。

(3)
 func tableView(_ tableView: UITableView, 
                            cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    ...
 }

//代码第(3)行是方法名断开,函数名断开的规则与方法的一样。

(4)
if longName1 == longName2
        || longName3 == longName4 && longName3 > longName4
&& longName2 > longName5 {
        print(true)
}

//代码第4行是if判断语句,由于可能有很多长的表达式,断开的位置应在逻辑运算符处。

(5)
boolName1 = (longName3 == longNmae4)
        ? longName3 > longName4
        : longName2 > longName5

//代码第(5)行是三元运算符的断开。

缩进
image.png

如上图:代码第1行和第2行是if语句条件表达式的断行,代码第1行和第2行要对齐。

上一篇 下一篇

猜你喜欢

热点阅读