1.“可读性是最重要的。保持简短可以让你的代码更容易被理解。”
2.“务必为函数添加文档注释 — 特别是泛型函数”
3.“类型使用大写字母开头,函数和变量使用小写字母开头,两者都使用驼峰式命名法。”
4.“使用类型推断。省略掉显而易见的类型会有助于提高可读性。如果存在歧义或者在进行定义的时候不要使用类型推断。(比如 func 就需要显式地指定返回类型)”
5.“优先选择结构体,只在确实需要使用到类特有的特性或者是引用语义时才使用类。”
6.“除非你的设计就是希望某个类被继承使用,否则都应该将它们标记为 final。”
7.“除非一个闭包后面立即跟随有左括号,否则都应该使用尾随闭包 (trailing closure) 的语法。”
8.“使用 guard 来提早退出方法。”
9.“避免对可选值进行强制解包和隐式强制解包。它们偶尔有用,但是经常需要使用它们的话往往意味着有其他不妥的地方。”
10.“不要写重复的代码。如果你发现你写了好几次类似的代码片段的话,试着将它们提取到一个函数里,并且考虑将这个函数转化为协议扩展的可能性。”
11.“试着去使用 map 和 reduce,但这不是强制的。当合适的时候,使用 for 循环也无可厚非。高阶函数的意义是让代码可读性更高。但是如果使用 reduce 的场景难以理解的话,强行使用往往事与愿违,这种时候简单的 for 循环可能会更清晰。”
12.“试着去使用不可变值:除非你需要改变某个值,否则都应该使用 let 来声明变量。不过如果能让代码更加清晰高效的话,也可以选择使用可变的版本。用函数将可变的部分封装起来,可以把它带来的副作用进行隔离”
13.“Swift 的泛型可能会导致非常长的函数签名。坏消息是我们现在除了将函数声明强制写成几行以外,对此并没有什么好办法。我们会在示例代码中在这点上保持一贯性,这样你能看到我们是如何处理这个问题的。”
14.“最后可能是程序员中争吵最厉害的问题:我们在大括号换行的处理上选择和 Swift 官方风格一致,那就是大括号不换行:} else {。”
摘录来自: Chris Eidhof. “Swift 进阶”。 iBooks.