《从零開始学Swift》学习笔记(Day 59)——代码排版
原创文章,欢迎转载。转载请注明:关东升的博客
代码排版包括: 空行、空格、断行和缩进等内容。代码排版内容比較多工作量非常多。可是非常重要。
空行
空行将逻辑相关的代码段分隔开。以提高可读性。
下列情况应该总是加入空行:
类型声明之前。
import语句前后。
两个方法或函数之间。
块凝视或单行凝视之前。
方法或函数内的两个逻辑段之间,用以提高可读性。
一个源文件的两个片段之间。
空格
在代码中有些位置是须要有空格的,这个工作量也是非常大的。下列是使用空格的规范:
1.赋值符号“=”前后有一个空格。var或let与标识符之间有一个空格。全部的二元运算符。应该使用空格将之与操作数分开。一元操作符和操作数之间不因该加空格。如:++、--等。示比例如以下。
var a = 10
var c = 10
a += c + d
2. 小左括号“(”之后。小右括号“)”之前不要有空格。示比例如以下。
a = (a + b) / (c * d)
3. 大左括号“{”之前有一个空格。示比例如以下。
while a == d {
n++
}
4. 在方法或函数參数之前间有一个空格,參数冒号与数据类型之间有一个空格。
推荐使用:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
...
}
不推荐使用:
func tableView ( tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath ) {
...
}
断行
一行代码的长度尽量避免超过80个字符。为了便于查看是否一行代码超出80个字符。非常多IDE开发工具都能够在编辑窗体设置显示80行竖线。在Xcode中设置过程是打开菜单Xcode→Preferences。选择Text Editing标签,选中Show→Page guideat column。
因为有的代码比較长须要断行,能够根据例如以下一般规范断开:
在一个逗号后面断开。
在一个操作符前面断开,要选择较高级别运算符断开,而非较低级别运算符断开。
新的一行应该与上一行缩进两个级别(8个空格)
缩进
4个空格常被作为缩进排版的一个单位,在开发时候使用制表符进行缩进,尽管默认情况下一个制表符等于8个空格。可是在不同的IDE工具中可能设置的一个制表符与空格相应个数会有所不同。在Xcode中默认是一个制表符相应4个空格。我们能够在Xcode中打开菜单Xcode→Preferences,选择Text Editing→Indentation标签,能够在Tab width中进行设置。
缩进能够根据例如以下一般规范:
在函数、方法、闭包、控制语句、计算属性等包括大括号“{}”代码块中。代码块中的内容与首行缩进一个级(4个空格)。
假设是if语句中条件表达式的断行。那么新的一行应该与上一行缩进两个级别(8个空格),再往后的断行要与第一次的断行对齐。
欢迎关注关东升新浪微博@tony_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
很多其它精品iOS、Cocos、移动设计课程请关注智捷课堂官方站点:http://www.zhijieketang.com
智捷课堂论坛站点:http://51work6.com/forum.php
《从零開始学Swift》学习笔记(Day 59)——代码排版的更多相关文章
- 关东升的《从零開始学Swift》即将出版
大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在&l ...
- 从零開始学Swift之Hello World进化版
上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, s ...
- 《从零開始学Swift》学习笔记(Day5)——我所知道的标识符和keyword
Swift 2.0学习笔记(Day5)--我所知道的标识符和keyword 原创文章,欢迎转载.转载请注明:关东升的博客 好多计算机语言都有标识符和keyword,一直没有好好的总结,就是这 ...
- 《从零開始学Swift》学习笔记(Day 1)——我的第一行Swift代码
Swift 2.0学习笔记--我的第一行Swift代码 原创文章,欢迎转载. 转载请注明:关东升的博客 当第一次看到以下代码时我石化了.这些代码是什么东东?单词拼出来的? import Foun ...
- 《从零開始学Swift》学习笔记(Day 61)——Core Foundation框架之内存管理
原创文章,欢迎转载. 转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,尽管是大部分是能够零开销桥接,零开 ...
- 《从零開始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器
原创文章,欢迎转载.转载请注明:关东升的博客 实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,演示样例代码例如以下: butt ...
- 《从零開始学Swift》学习笔记(Day 57)——Swift编码规范之凝视规范:文件凝视、文档凝视、代码凝视、使用地标凝视
原创文章.欢迎转载.转载请注明:关东升的博客 前面说到Swift凝视的语法有两种:单行凝视(//)和多行凝视(/*...*/).这里来介绍一下他们的使用规范. 1.文件凝视 文件凝视就在每个文件开头加 ...
- 《从零開始学Swift》学习笔记(Day60)——Core Foundation框架
创文章,欢迎转载.转载请注明:关东升的博客 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.尽管在Swift中调用这样的C语 ...
- 《从零開始学Swift》学习笔记(Day 52)——Cocoa错误处理模式
原创文章,欢迎转载. 转载请注明:关东升的博客 Swift错误处理模式,在Swift1.x和Swift 2.0是不同的两种模式. Swift 1.x代码错误处理模式採用Cocoa框架错误处理模式,到如 ...
- 《从零開始学Swift》学习笔记(Day48)——类型检查与转换
原创文章,欢迎转载.转载请注明:关东升的博客 继承会发生在子类和父类之间,是一系列类的继承关系. 比如:Person是类层次结构中的根类.Student是Person的直接子类.Worker是Pers ...
随机推荐
- Hadoop的多节点集群详细启动步骤(3或5节点)
版本1 利用自己写的脚本来启动,见如下博客 hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建 hadoop-2.6.0.tar.gz的集群搭建(3节点) hadoop ...
- 51nod 正整数分组
将一堆正整数分为2组,要求2组的和相差最小. 显然我们可以把所有可能组合成的数求出来. 然后从总和的中间开始往大找,找到了就是其中一个的分组,就可以求出答案了. #include<cstdio& ...
- i2c tools 使用
1.查询罗列出I2C的控制器总线数目 # i2cdetect -l i2c-0 i2c OMAP I2C adapter I2C adapter i2c-1 i2c OMAP I2C adapter ...
- 【Henu ACM Round#18 E】Anya and Cubes
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每个数字有3种选择. 1.选中它. 2.选中它且加阶乘符号 3.不选中它(即计算和的时候不考虑它) 如果我们直接暴力写的话复杂度是\ ...
- CSUOJ 1541 There is No Alternative
There is No Alternative Time Limit: 3000ms Memory Limit: 262144KB This problem will be judged on Aiz ...
- Android 第三方分享中遇到的问题以及解决方案
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 第三方登录和分享过程中难免遇到各种纠结的问题,下面将我遇到的分享给大家. 先说第三方登录 1.首先要 ...
- JavaScript表单项数据过滤代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 深入理解javascript之高级定时器
setTimeout()和setInterval()能够用来创建定时器.其主要的用法这里就不再做介绍了.这里主要介绍一下javascript的代码队列. 在javascript中没有不论什么代码是马上 ...
- 读书笔记-深入理解JVM虚拟机-1.OOM初探
Java堆OOM(Out-Of-Memory)异常 执行例如以下程序,爆出异常 java.lang.OutOfMemoryError: Java heap space /** * VM Args:-X ...
- How to install Armbian on Orange Pi Plus 2e
bian on Orange Pi Plus 2e How to install Armbian on Orange Pi Plus 2e Armbian on the microSD You jus ...