博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift代码排版-参考
阅读量:5824 次
发布时间:2019-06-18

本文共 1284 字,大约阅读时间需要 4 分钟。

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

 

空行

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

  • 类型声明之前。

  • import语句前后。

  • 两个方法或函数之间。

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

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

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

空格

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

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

 

[html]   
 
  1. var a = 10  
  2. var c = 10  
  3. a += c + d  

 

 

 

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

 

[html]   
 
  1. a = (a + b) / (c * d)  

 

 

 

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

 

[html]   
 
  1. while a == d {  
  2.   
  3.     n++  
  4.   
  5. }  

 

 

 

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

推荐使用:

 

[html]   
 
  1. func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {  
  2.   
  3.     ...  
  4.   
  5. }  

 

 

 

不推荐使用:

 

[html]   
 
  1. func tableView ( tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath ) {  
  2.   
  3.     ...  
  4.   
  5. }  

 

 

 

断行

一行代码的长度尽量避免超过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个空格),再往后的断行要与第一次的断行对齐。

转载地址:http://qqidx.baihongyu.com/

你可能感兴趣的文章
开源 免费 java CMS - FreeCMS1.2-标签 infoSign
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
FreeMarker-Built-ins for strings
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
Android状态栏实现沉浸式模式
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
学生名单
查看>>
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>
矩阵常用归一化
查看>>