zl程序教程

您现在的位置是:首页 >  工具

当前栏目

《从零开始学Swift》学习笔记(Day 59)——代码排版

笔记学习代码 swift 从零开始 Day 排版 59
2023-09-14 08:59:50 时间
p span >原创文章,欢迎转载。转载请注明:关东升的博客 

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


空行

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

类型声明之前。

import语句前后。

两个方法或函数之间。

块注释或单行注释之前。

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

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

空格

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

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


var a = 10

var c = 10

a += c + d


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

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

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

while a == d {


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学习笔记——页面跳转 创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
Swift学习笔记——新建项目 在xcode菜单中选择 new - project - single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
关东升 国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问。 著有多部移动开发畅销书。