《从零開始学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 ...
随机推荐
- 2015北京网络赛 J Scores bitset+分块
2015北京网络赛 J Scores 题意:50000组5维数据,50000个询问,问有多少组每一维都不大于询问的数据 思路:赛时没有思路,后来看解题报告也因为智商太低看了半天看不懂.bitset之前 ...
- 负载均衡-lvs
常用的负载均衡技术比较DNS 轮询DNS本身的机制不再赘述,这里主要看一看基于DNS的负载均衡,其大致原理很清楚,DNS系统本身支持同一个域名映射到多个ip (A记录),例如 这样每次向DNS系统询问 ...
- Mark Compact GC (Part one: Lisp2)
目录 什么是GC 标记-压缩算法 Lisp2 算法的对象 概要 步骤 步骤一:设定forwarding指针 步骤二:更新指针 步骤三:移动对象 优缺点 什么是GC 标记-压缩算法 需要对标记清除和GC ...
- 重装python 和 yum
https://blog.csdn.net/ghostyusheng/article/details/https://segmentfault.com/q/1010000009194060/a-102 ...
- 第四次python作业——叶耀宗
设计题2: 1.参考“三国演义”词频统计程序,实现对红楼梦出场人物的频次统计.2.(可选)将红楼梦出场人物的频次统计结果用词云显示. import jieba excludes = {"什么 ...
- SpringBoot与SpringCloud的区别
1.Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务:Spring Cloud是一个基于Spring Boot实现的云应用开发工具: ...
- js正則表達式--验证表单
检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...
- 6.前端开发必备!Emmet使用手册
转自:https://www.w3cplus.com/tools/emmet-cheat-sheet.html 介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个 ...
- Fragment-生命周期
Fragment生命周期图 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态:当前Fragment位于前台,可见,可获得焦点. · 暂停状态: ...
- C#使用一般处理程序(ashx)中session
.ashx中引用 session必须 using System.Web.SessionState ,继承IReadOnlySessionState/IRequiresSessionState IRea ...