【iOS】iOS开发编码规范小结

简介: 规范编码可以提高代码的可读性,降低维护成本。作为一个程序员,要对自己写的代码负责,虽然bug无可避免,但是写代码时最基本的编码规则还是应该遵守的,否则不是坑自己就是坑别人,因为代码肯定是要维护的。下面我主要讲一下从建项目到开发写代码时应该注意的一些地方和自己的一点建议。

规范编码可以提高代码的可读性,降低维护成本。作为一个程序员,要对自己写的代码负责,虽然bug无可避免,但是写代码时最基本的编码规则还是应该遵守的,否则不是坑自己就是坑别人,因为代码肯定是要维护的。
下面我主要讲一下从建项目到开发写代码时应该注意的一些地方和自己的一点建议。

  • 项目名称:项目名字的英文或者拼音全拼形式(如果比较长也可以选择缩写),建议每个单词或者拼音的首字母都大写。
  • Bundle Identifier:唯一标识符,最好包含公司的名字和项目名字,我一般用的格式为:www.公司名称或缩写.项目名称.www,已经被别人在开发者证书中心注册过的Bundle Identifier就无法再次添加到自己的证书中心,所以带上公司名和项目名可以防止用了已经被占用的Bundle Identifier。
  • 目录结构中的文件夹命名:在用xcode开发时,左边的项目目录结构用的比较多,也是一个很关键的地方,所以建议这里的文件夹目录能放的比较有层次,这样在找代码和修改代码的时候方便。文件夹的名字应该与文件夹中所放代码的作用或者所属模块相关联,名字可用英文或者拼音缩写,首字母大写,中文也是可以用的,但是我个人不建议用中文,原因大家都懂。文件夹可以含多层,比如首页模块的功能,第一层可以是Home文件夹,然后在这个里面可以再细分视图、数据、交互等。另外有些人也有习惯给代码中的文件夹加上统一的前缀,这也是可以的,看上去也很舒服。
  • 类名:建议带上固定的前缀和相应的后缀,在二者之间填上类所实现的功能。先来说固定的前缀,比如说AFNetWorking,这个第三方库,类名都是以AF开头的,我们自己写的类名也可以,这个前缀可以用项目名字的首字母缩写、公司名缩写或者任何你喜欢的字母组成,加这个前缀有两个好处,一个项目目录整齐,还有一个就是项目中的模块拿到别的项目中使用可以很大程度上降低类名相同而造成不能直接使用的概率。相应的后缀指的是此类所属的类型,比如如果此类为ViewController的子类,那么类名可以以ViewController或者简写成VC来结尾,这样这个类是个ViewController还是个view一目了然。中间为此类要实现的功能相关是为了看类名就能知道这个类是干什么用的,比如MMHomeViewController这个类名,MM为项目名称缩写,Home代表首页,ViewController表示该类为一个视图控制器,一看这个类名就很容易知道这个类中写的是首页的实现的代码。有一些继承自NSObject类的单例可以以Manager为后缀。类名首字母大写。
  • 成员变量:最最基本的应该见名知意,最好有变量对应的类型的后缀,首字母小写。比如loginButton,这样就很好理解,一看就知道这代表一个登录按钮。成员变量是整个类都能用的,如果起名很随意,代码理解起来可能比较困难。首字母小写,遵守驼峰规则。
  • 局部变量:同上需要见名知意,虽然存在的范围小,但是也很影响阅读性,千万不要取什么arr1、arr2之类的,很难知道里面放的是什么。首字母小写,遵守驼峰规则。
  • 代理/协议名:该协议对应的类的类名+Delegate/Protocol,首字母大写。
  • 方法名:每个参数前的英文块首字母小写,遵守驼峰规则。方法名以该方法所实现的功能为主,所需参数的参数名最好能带上该参数的类型,这样调用起来方便,看方法名可知在哪儿用,看参数名可知所需什么参数。
  • 注释:在这里特意加上注释,其实并不是要谈注释的规范,而是想说,命名不会规范的程序员在写代码的时候记得多写点注释,绝对没坏处!!!

最后说一下自己的亲身体验,接手过一套代码,类名随便取,很多继承自ViewController的视图控制器都以view结尾,变量名更不用说,看代码的时候还得靠猜这个变量里面放的是什么。记得印象比较深的是,在一个单例类中有一个type变量,看调用的地方挺多,有设置为1的,有设置为2的,也有拿来做判断条件的,完全不知道这个值的意义是什么。跟写代码的人沟通,他自己也忘记掉了,也不知道用的地方为什么那么用。这只是印象比较深的一个,他唯一的说辞是他自己开发技术太菜。但是我觉得,编码是否规范与技术水平高低关系不是很大,代码风格更多的是反映一个程序员的编程习惯的态度。实在不会规范,那就加注释,简单的注释一下变量是用来干嘛的等等。
编程技术水平有高低,但是认真的态度不该有差别,一个程序员可以写不出很炫很酷很牛的代码,但是千万不要随意的写出难以阅读和维护的代码!
这些规范也是我自己的一些小总结,希望能给刚入门的一些人一点提醒和帮助。

相关文章
|
27天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
38 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
89 2
|
3月前
|
API 开发工具 iOS开发
iOS 开发高效率工具包:10 大必备工具
iOS 开发高效率工具包:10 大必备工具
42 1
|
3月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
52 1
|
1天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
8 0
|
16天前
|
开发工具 Swift iOS开发
利用SwiftUI构建动态用户界面:iOS开发新范式
【4月更文挑战第3天】 随着苹果不断推进其软件开发工具的边界,SwiftUI作为一种新兴的编程框架,已经逐渐成为iOS开发者的新宠。不同于传统的UIKit,SwiftUI通过声明式语法和强大的功能组合,为创建动态且响应式的用户界面提供了一种更加简洁高效的方式。本文将深入探讨如何利用SwiftUI技术构建具有高度自定义能力和响应性的用户界面,并展示其在现代iOS应用开发中的优势和潜力。
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
181 2
|
3月前
|
数据可视化 iOS开发
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
40 4