`

变量命名规则小结

阅读更多

 

基本目的是增加可读性,

 

命名:
前缀。由于oc缺少名称空间概念,所有连接到程序里的oc类都在一个名称空间中,这意味着实现了同名类的两个框架是不能连接到一起的。解决方案是框架内的类的类名都包含一个标明框架提供者的短前缀。这些前缀不仅用于类名,函数、常量,以及任何在全局名称空间下的东西都应该使用他们。
类名。通常是一个名字加前缀构成。例如NSArray。子类经常在前缀和名词间加一个形容词,例如NSMutableArray
协议名。类名描述的是一种对象,而协议名描述的是一种行为。协议名通常是动词,例如NSCopying, NSLocking
方法名。方法名应由小写字母开头,通常由一个动词开始,每个参数一个名词。例如:
-log   // 没有参数
-addObject:  // 有一个参数
setObject:forKey:   // 对于有多个参数的方法,每个参数应该是一个名词或形容词-名词组合。
-isEnable   // bool返回值的常以is开头
-count  // 大多数返回对象部分成员的方法的名字是一个单词
-setIntValue:   // 在名字中带上了参数的类型也是一个好习惯
函数名。如果它们不是某个公开API的组成部分,那么应该声明为static,这样可以阻止它们进入全局名称空间。

 

为状态变量命名:status,type

标记应该用枚举类型、具名常量、来对其赋值,不要使用简单的数字来赋值。

标记的名字不应该还有flag,好的名字:dataReady, characterType, reportType

为临时变量命名:

使用准确而且具有描述性的变量名

为布尔值变量命名:布尔值变量隐含“真/假”含义,只有两种可能性。

使用肯定的布尔变量,否定的变量会降低可读性

done 表示事情已经完成

error 表示发生了错误

found 表示某个值找到了

success/ok 表明一项操作是否成功

为枚举类型命名:使用组前缀,来表明该类型的成员都通过属于一个组

枚举类型采用大小写混合的命名方式

枚举类型总以复数形式表示

为常量命名:使用k开头或者全部大写

 

避免在名字中出现数字,如果名字中的数字真的非常重要,就是用数组来代替一组单个的变量

名字中使用Count和Index来代替Num

名字不要太短,要有好的可读性

名字反映了现实世界的问题,而不是编程语言方案

要使用一个规则区分:全局变量、类变量、局部变量。还应该区分类型名、具名常量、枚举类型名字和变量名

规则要尽可能地与语言的标准规则兼容

尽量不要使用缩写,除非是公认的缩写

名字要尽可能举起,那些太模糊或者太通用的一直与能够用于多种目的名字通常都是很不好的

牢记:代码阅读的次数远远多于编写的次数,确保你所取得名字更重于阅读方便而不是编写方便

无论做哪种项目,你都应该采用某种变量命名规则,你所采用的规则取决于你的程序规模以及项目成员的人数

分享到:
评论

相关推荐

    深入php之规范编程命名小结

    在之前工作的时候都未注重自己的命名规范,现在根据驼峰命名严格要求自己: ...这样的命名规则不适合所有程序员阅读,而利用驼峰命名 法来表示,可以增加程序可读性。例如,下面是分别用骆驼式命名法和下划线法

    unlimitbladeworks#sy-pynotebook#python小课堂11 - 变量篇1

    引入一个python新方法:id(x): x是变量,通过id可以查看x对应的内存地址。小结本次小课堂主要介绍了变量的概念,以及变量的命名规范(切忌拼音用法,使用

    JavaSE基础学习笔记

    变量的命名规范 运算符 for循环 增强for循环 break continue 练习 Java的方法 1、何谓方法 2、方法的定义 方法调用 练习:比大小 面试题: 3、方法的重载 4、命令行传参 5、可变参数 6、递归 数组 数组概述 数组声明...

    C#标识符的使用小结

    在编写代码时遵循命名规则,可以让程序更加易懂、易读;而且还能提供它的功能信息,如它是否是一个常量、包名或类等,这都有助于对程序的理解。 标识符是由一系列字符组成,其中包括大小写字母、数字、下划线(_)...

    Java优化编程(第2版)

    1.10 方法、变量与常量的命名规则 1.10.1 方法的命名规则 . 1.10.2 变量的命名规则 1.10.3 常量的命名规则 1.11 java编程实践 1.11.1 访问实例与类中变量的规则 1.11.2 引用类中的静态变量与方法的 …… 小结 第4...

    McGraw C++程序调试实用手册

    1.9.3 变量命名规范 1.9.4 应用程序符号命名规范 1.9.5 Microsoft MFC宏命名规范 1.9.6 库标识符命名规范 1.9.7 静态库版本命名规范 1.9.8 动态连接库命名规范 1.9.9 windows.h命名规范 1.10 操作符...

    UNIX环境高级编程_第二版中文

    1.12 小结  习题  第2章 UNIX标准化及实现  2.1 引言  2.2 UNIX标准化  2.2.1 ISO C  2.2.2 IEEE POSIX  2.2.3 Single UNIX Specification  2.2.4 FIPS  2.3 UNIX系统实现  2.3.1 SVR4  2.3.2...

    21天学通Java-由浅入深

    28 1.3 程序开发过程 29 1.4 编码规范 29 1.5 HelloWorld:第一个Java程序 30 1.5.1 编写程序代码 30 1.5.2 编译程序代码并运行 30 1.5.3 注意事项 31 1.6 使用Eclipse集成开发工具开发 32 1.7 综合练习 32 1.8 小结 ...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    1.6 小结 第2章 关系数据库概念和SQL Server环境 2.1 数据库 2.1.1 关系数据库 2.1.2 数据库对象 2.1.3 什么是存储过程 2.2 SQL Server 2000的工具 2.2.1 Service Manage 2.2.2 Query Analyze 2.2.3 Enterprise ...

    SQL Server 2008编程入门经典(第3版)

    1.3.2 命名规则 1.4 本章小结 第2章 SQL Server管理工具 2.1 联机丛书 2.2 SQLServer配置管理器 2.2.1 服务管理 2.2.2 网络配置 2.2.3 协议 2.2.4 客户端 2.3 SQLServer Management Studio 2.3.1 启动Management ...

    XML高级编程pdf

    目 录 译者序 作者简介 前言 第1章 XML简介 1.1 标记语言 1.2 XML的起源和目的 1.3 Web体系结构:过去与未来 1.3.1 传统Web体系结构 1.3.2 XML下的Web体系结构 1.4 XML基本特征 ...17.2 小结 ...

    XML高级编程 (Extensible Markup Language)

    1.8 小结 第2章 XML语法 2.1 标记语法 2.1.1 字符 2.1.2 命名 2.2 文档部分 2.3 元素 2.3.1 起始标记 2.3.2 结束标记 2.3.3 空元素标记 2.3.4 标记:一个简单的例子 2.3.5 文档元素 2.3.6 子元素 2.3.7...

    javaSE代码实例

    1.5 小结 11 第2章 基本数据类型——构建Java 大厦的基础 12 2.1 源代码注释 12 2.1.1 单行注释 12 2.1.2 区域注释 12 2.1.3 文档注释 13 2.2 基本数据类型 14 2.2.1 整型 15 2.2.2 浮点型 17 ...

    XML 高级编程(高清版)

    目 录 译者序 作者简介 前言 第1章 XML简介 1.1 标记语言 1.2 XML的起源和目的 1.3 Web体系结构:过去与未来 1.3.1 传统Web体系结构 1.3.2 XML下的Web体系结构 1.4 XML基本特征 ...17.2 小结 ...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part06.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

Global site tag (gtag.js) - Google Analytics