原创文章,欢迎转载。转载请注明:关东升的博客

代码排版包括: 空行、空格、断行和缩进等内容。代码排版内容比较多工作量很多,但是非常重要。

空行

空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是添加空行:

  • 类型声明之前。

  • import语句前后。

  • 两个方法或函数之间。

  • 块注释或单行注释之前。

  • 方法或函数内的两个逻辑段之间,用以提高可读性。

  • 一个源文件的两个片段之间。

空格

在代码中有些位置是需要有空格的,这个工作量也是很大的。下列是使用空格的规范:

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

vara=10
varc=10
a+=c+d


2. 小左括号“(”之后,小右括号“)”之前不要有空格。示例如下。

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


3. 大左括号“{”之前有一个空格。示例如下。

whilea==d{
n++
}


4. 在方法或函数参数之前间有一个空格,参数冒号与数据类型之间有一个空格。

推荐使用:

functableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){

...
}


不推荐使用:

functableView(tableView:UITableView,didSelectRowAtIndexPathindexPath: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_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息

wKiom1bdBSbSn2wcAAAs2MBEZnc219.png


更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php

《从零开始学Swift》学习笔记Day 59――代码排版的更多相关文章

  1. 《从零开始学Swift》学习笔记Day 59――代码排版

    代码排版内容比较多工作量很多,但是非常重要。空行空行将逻辑相关的代码段分隔开,以提高可读性。所有的二元运算符,应该使用空格将之与操作数分开。在Xcode中设置过程是打开菜单Xcode→Preferences,选择TextEditing标签,选中Show→Pageguideatcolumn。在Xcode中默认是一个制表符对应4个空格,我们可以在Xcode中打开菜单Xcode→Preferences,选择TextEditing→Indentation标签,可以在Tabwidth中进行设置。

  2. android – 如何在制表符/片段转换之间设置新的浮动操作按钮的动画?

    从新的DesignSupportLibrary,我想动画浮动操作按钮(FAB)缩小和扩展片段或选项卡更改.我尝试了几种过渡一段时间,但不能像this的例子那样顺利和连接,所以我认为有更好的方法或正确的方法来做到这一点.解决方法在ViewPager.OnPagechangelistener()中,我将使用btn.setScaleY()和btn.setScaleX(),具体取决于onPageScrol

  3. windows-7 – SStab在不同的操作系统中无法正确显示

    我正在研究Windows10中的旧版VB6应用程序.我目前正在尝试让应用程序在Windows10中无缝运行,我遇到了一些问题.其中之一是sstab控件.见下图:样式,制表符方向,所有属性都是相同的,但可以看出,Windows7中的文本看起来与Win10相当.它似乎向左浮动,当选择时,其中一个S似乎被切断了顶部并添加了第二行.有人有什么想法吗?

  4. PHP – 在数组中分解值,输出到制表符分隔文件

    我在名为test_tab.txt的文件中有以下内容:我想将其转换为以下:我一般都是编程的新手,但我已经google了一下,我认为这样做的一种可能方法是创建一个数组并以某种方式爆炸header3键值对.我不知道怎么去复制header1和header2下的字段.我现在所拥有的只是创建数组的一些代码:这使:关于如何处理这个的任何想法?我使用的是PHP5.3.10版.试试这个:希望这可以帮助.

  5. php – Komodo编辑8.5标签设置

    我使用KomodoEdit8.5,我的标签有问题.当我按Tab键时,它会跳转8个字符,而不是我在首选项中使用的4个字符.“每个缩进的空格数”是4,“每个制表符的宽度”也是4,所以我不明白问题出在哪里.一切看起来都很好,但是当我点击标签键时,它会跳转8个字符.它似乎完全忽略了我的设置.你有什么解决方案吗?

  6. 正则表达式 – 正则表达式:一行字符串仅包含浮点数和制表符/空格

    包含ONLY浮点数的字符串行的正则表达式是用空格或制表符分隔的.浮点数可以是负数,如-999.999让我们为浮动提出一个正则表达式,然后看看我们可以对其余部分做些什么.浮动是:>可选的负号>后面跟着一些数字>后跟一个可选的小数点,然后是更多的数字>跟随“e”>后跟多个数字(带有可选符号).把它放在一起,我们得到:现在,这是相当宽松的,但如果你想把它收紧一点,你可以调整一下.现在,对于其中任何数量的

  7. php – 使用空格而不是制表符缩进的客观原因?

    根据PSR-2标准,是否有客观原因使用空格而不是制表符来缩进文件,有人可以提供:>事实,>参考,>具体专业知识PSR-2标准的基础?

  8. Notepad++快捷键&正则表达式替换字符串&插件介绍

    其左边的字符被匹配0次或者1次.例如“be?”

  9. Notepad++使用正则表达式的查找替换

    选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。③、下面的操作添加正则表达式,该表达式代表待查找的空行。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。④、“替换为”组合框保持空,表示删除查找到的内容。

  10. 正则表达式全部符号解释及示例

    正则表达式全部符号解释字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。$匹配输入字符串的结束位置。*匹配前面的子表达式零次或多次。请注意在逗号和两个数之间不能有空格。匹配任何不在指定范围内的任意字符。\v匹配一个垂直制表符。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。\un匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部