-
对于命名, 应当见名知意, 从使用者的角度去考虑
-
简洁有助于代码清晰, 但是不能以自我为中心, 不能简洁到只有自己能看懂
-
一定要给函数添加注释, 尤其是泛型函数
-
类使用大写字母开头,函数、变量/常量和枚举成员(case)使用小写字母开头,两者都使用驼峰式命名法
-
使用类型推断, 省略掉显而易见的类型会有助于提高可读性
-
如果存在歧义或者在进行定义的时候不要使用类型推断。(比如 func 就需要显式地指定返回类型)
-
优先选择结构体,只在确实需要使用到类特有的特性或者是引用语义时才使用类
-
除非你的设计就是希望某个类被继承使用,否则都应该将它们标记为 final。
-
除非一个闭包后面立即跟随有左括号,否则都应该使用尾随闭包 (trailing closure) 的语法
-
使用 guard 来提早退出方法
-
避免对可选值进行强制解包和隐式强制解包
-
不要写重复的代码。如果你发现你写了好几次类似的代码片段的话,试着将它们提取到一个函数里,并且考虑将这个函数转化为协议扩展的可能性
-
去使用 map, reduce, filter, first, flatMap等,高阶函数的意义是让代码可读性更高, 熟能生巧
-
除非你需要改变某个值,否则都应该使用 let 来声明变量。不过如果能让代码更加清晰高效的话,也可以选择使用可变的版本。用函数将可变的部分封装起来,再用let去接收
-
Swift 的泛型可能会导致非常长的函数签名。坏消息是我们现在除了将函数声明强制写成几行以外,对此并没有什么好办法
-
不要使用 "self.", 不过在闭包表达式中,self 是被强制使用的,这是一个清晰的信号,表明闭包将会捕获 self
-
尽可能地对现有的类型和协议进行扩展,而不是写一些全局函数。这有助于提高可读性,让别人更容易发现你的代码
网友评论