ios基础-编程规范
养成良好的编程习惯,是開始一门新语言的首要前提。
(一)文档结构规范
1.建立Libs目录,存放第三方库
2.建立Tools目录,存放自己封装的类库
3.建立ViewControllers目录,存放全部的ViewControl
4.建立Request目录,存放网络请求
5.建立Cell目录,存放列表item
6.在Supporting Files目录下建立Images、Music和Video等相关目录,分别存放图片、音频、视频等资源。
7.建立RootViewController首页,放在底层文件夹
8.建立Constant.h文件,放在底层文件夹,存放常量
范比例如以下:
(二)命名规范
1.常量名全大写,可用下划线分隔,如:MY_LOTTERY_ID
2.变量首字母小写,后面单词首字母大写,如myLotteryId
3.类名首字母大写,如@interface MyLotteryId:NSObject
4.命名时带上类型,如xxxTv,xxxView,xxxStr等
常见类型简写例如以下:
UIViewController:VC UIImage:Img UIImageView:Iv
UIView:View UILabel:Lbl UIButton:Btn
UINavigationBar:NBar UIToolBar:TBar UISearchBar:SBar
UITextField:Tf UITextView:Tv NSArray:Array
NSMutableArray:MArray NSDictionary:Dict NSMutableDictionary:MDict
NSString:Str NSMutableString:MStr NSSet:Set NSMutableSet:MSet
5.静态变量前面加s标示,如sLotteryId
6.普通实例变量前面加m标示,如mLotteryId
很多其它命名规范可參加苹果官方文档
(三)编码习惯
1.每一个文件前简要描写叙述该文件作用
2.类中功能模块用#pragma mark - 做好备注,方便查找和代码管理
3.NSLog測试完统一删除
4.程序中变量方法名,尽量用命名标示功能,无法标示的用凝视说明
5.在pch文件里做载入预处理和log自己主动去除设置
6.类代码行数尽量不超过300行,一个函数不超过100行,超过的考虑重构
7.创建Constant.h文件存放常量
ios基础-编程规范的更多相关文章
- iOS扩展——Objective-C开发编程规范
最近准备开始系统学习一个完整项目的开发流程和思路,在此之前,我们需要对iOS的开发变成规范进行更系统和详尽的学习,随意对编程规范进行了整理和学习.本文内容主要转载自:Objective-C-Codin ...
- JAVA基础语法:java编程规范和常用数据类型(转载)
JAVA基础语法:java编程规范和常用数据类型 摘要 本文主要介绍了最基本的java程序规则,和常用数据类型,其中侧重说了数组的一些操作. 面向java编程 java是纯面向对象语言,所有的程序都要 ...
- IOS开发-代码规范
代码风格的重要性对于一个团队和项目来说不言而喻.网上有许多 Objective-C 的代码风格,但这份简洁而又最符合苹果的规范,同时有助于养成良好的代码习惯,也是我们团队一直遵循的代码风格. 写法没有 ...
- iOS网络编程模型
iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...
- 中兴软件编程规范C/C++
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003 软件编程规范C/C++ 20 ...
- FangDD Java编程规范
我们采用<Oracle/Sun原生的Java编程规范>和<Google Java编程规范> Google Java编程风格指南 January 20, 2014 作者:Haws ...
- 国内大型的内部 C# 编程规范
C#编程规范 改动记录 Ver. No 发版日期 编制人 批准人 改动的说明 目 录 1 1.1 1.2 2 2.1 2.1.1 Pascal 大写和小写 2.1.2 Came ...
- Batsing的网页编程规范(HTML/CSS/JS/PHP)
特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...
- IOS高级编程之一:多点触摸与手势验证
前段时间学习了IOS基础的一些控件的使用作为基础,现在开始学习一些高级编程的东西,手势处理器.文件I/O.定位.网络通信.多线程这些,分享一些学习的重点,还是很实用的. 今天就先介绍个简单点得,手势处 ...
随机推荐
- 一个i++和++i导致的严重的错误
当我曾经在写一个strlen的实现时,用递归写出了如下的代码: int strlen(const char *s) { if(*s=='\0') ; else ; } 程序一运行就崩溃了,why!都是 ...
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...
- Linq实现t-Sql的各种连接
在ORM框架大行其道的今天,对于.net行业的人,想要学好EF,那Linq的学习在势在必行啊.今天总结下平时比较常用的表连接的用法. Inner Join Linq: var list = (from ...
- android术语笔记
参考:http://blog.csdn.net/luoshengyang/article/details/6618363 http://blog.csdn.net/singwhatiwanna/art ...
- Hibernate MySQL 数据库 使用别名 报 Column * Not Found
使用Hibernate 查询MySQL数据表的时候报 Column Not Found ,原因是MySQL的驱动不支持别名, 解决方案如下,在连接参数中加上 useOldAliasMetadataBe ...
- Codeforces 484A - Bits 二进制找1
这题可以根据l, r 在二进制下的长度进行分类. l 的长度小于 r 的时候,有两种可能,一种是r 在二进制下是 1* 这种样子,故答案取 r : 一种是取答案为 (1LL << (r ...
- Spring如何管理Session【转贴】
在使用Spring进行系统开发的时候,数据库连接一般都是配置在Spring的配置文件中,并且由Spring来管理的.在利用Spring + Hibernate进行开发时也是如此.下面是一个简单的Spr ...
- Android ImageView(scaleType属性)图片按比例缩放
<ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleTy ...
- Http的操作(不传递参数)
ttpResponse httpResponse = null; HttpEntity httpEntity = null; HttpGet httpGet = new HttpGet ...
- Android 实现在线程中联网
其实我们要牢记的是,对数据流的操作都是阻塞的,在一般情况下,我们是不需要考虑这个问题的,但是在Android 实现联网的时候,我们必须考虑到这个问题.比如:从网络上下载一张图片: Java代码: pu ...