Swift编程规范之 Code Formatting
来源:互联网 发布:中国电子科技集团 知乎 编辑:程序博客网 时间:2024/05/01 02:02
Code Formatting:代码格式化
1 使用4个空格来代替Tabs
2 避免过长的行,可以在XCode中进行设置单行最大长度:(Xcode->Preferences->Text Editing->Page guide at column: 160 is helpful for this)
3 保证每个文件结尾都存在一个新行 Ensure that there is a newline at the end of every file.
4 避免无意义的尾随空格: (Xcode->Preferences->Text Editing->Automatically trim trailing whitespace + Including whitespace-only lines).
5 避免将单独的左花括号放置到一行,我们参考了:1TBS style。
class SomeClass { func someMethod() { if x == y { /* ... */ } else if x == z { /* ... */ } else { /* ... */ } } /* ... */}
- 6 在写变量的类型声明、字典类型的键、函数参数、协议的声明或者父类的时候,不要在冒号前添加空格。
// specifying typelet pirateViewController: PirateViewController// dictionary syntax (note that we left-align as opposed to aligning colons)let ninjaDictionary: [String: AnyObject] = [ "fightLikeDairyFarmer": false, "disgusting": true]// declaring a functionfunc myFunction<t, u: someprotocol where t.relatedtype == u>(firstArgument: U, secondArgument: T) { /* ... */}// calling a functionsomeFunction(someArgument: "Kitten")// superclassesclass PirateViewController: UIViewController { /* ... */}// protocolsextension PirateViewController: UITableViewDataSource { /* ... */}</t, u: someprotocol where t.relatedtype == u>
- 7 一般来说,逗号后面都要跟随一个空格。
let myArray = [1, 2, 3, 4, 5]
- 8 在二元操作符譬如+, ==, 或者 ->的前后需要加上空格,但是对于( 、`)的前后不需要加空格。
let myValue = 20 + (30 / 2) * 3if 1 + 1 == 3 { fatalError("The universe is broken.")}func pancake() -> Pancake { /* ... */}
- 9 我们默认使用Xcode推荐的格式化风格(CTRL-I) ,在声明某个函数的时候会多行排布参数。
ode indentation for a function declaration that spans multiple linesfunc myFunctionWithManyParameters(parameterOne: String, parameterTwo: String, parameterThree: String) { // Xcode indents to here for this kind of statement print("\(parameterOne) \(parameterTwo) \(parameterThree)")}// Xcode indentation for a multi-line `if` statementif myFirstVariable > (mySecondVariable + myThirdVariable) && myFourthVariable == .SomeEnumValue { // Xcode indents to here for this kind of statement print("Hello, World!")}
- 10 在调用多参数函数的时候,会把多个参数放置到单独的行中:
someFunctionWithManyArguments( firstArgument: "Hello, I am a string", secondArgument: resultFromSomeFunction() thirdArgument: someOtherLocalVariable)
- 11 对于大型的数组或者字典类型,应该将其分割到多行内,[ 与 ]类比于花括号进行处理。对于闭包而言也应该同样适合于该规则。
someFunctionWithABunchOfArguments( someStringArgument: "hello I am a string", someArrayArgument: [ "dadada daaaa daaaa dadada daaaa daaaa dadada daaaa daaaa", "string one is crazy - what is it thinking?" ], someDictionaryArgument: [ "dictionary key 1": "some value 1, but also some more text here", "dictionary key 2": "some value 2" ], someClosure: { parameter1 in print(parameter1) })
- 12 尽可能地使用本地变量的方式来避免多行的判断语句。
// PREFERREDlet firstCondition = x == firstReallyReallyLongPredicateFunction()let secondCondition = y == secondReallyReallyLongPredicateFunction()let thirdCondition = z == thirdReallyReallyLongPredicateFunction()if firstCondition && secondCondition && thirdCondition { // do something}// NOT PREFERREDif x == firstReallyReallyLongPredicateFunction() && y == secondReallyReallyLongPredicateFunction() && z == thirdReallyReallyLongPredicateFunction() { // do something}
0 0
- Swift编程规范之 Code Formatting
- Swift编程规范之 Naming
- Swift编程规范之 Coding Style
- Swift编程规范之 Documentation/Comments
- swift编程规范
- POJ 1896 Code Formatting
- 国际金融互联报文规范SWIFT之银行识别代码BIC Code介绍
- JAVA编程规范--java code convention
- Swift之网络编程
- 编程规范之--变量
- 编程之注释规范
- Formatting
- JAVA编程规范大全之命名规范
- Java编程规范之命名规范
- Java编程规范之程序编写规范
- ASP.net编程规范之命名规范
- java编程规范之java命名规范
- java编程规范之java注释规范
- cocos2dx源码分析:远程控制台Console
- Ugly Number
- openlayers2渐变色渲染
- 机器学习
- Java异常体系和概念
- Swift编程规范之 Code Formatting
- Mybatis增删查改操作
- [Leetcode刷题]Sort Colors
- adb
- cocos2dx源码分析:场景切换
- 开发YF-70毫秒级秒表8位显示器遇到的问题
- 排序算法总结
- Android之SDK更新问题Failed to fetch URL https://dl-ssl.google.com/android...
- js操作window对象