变量名的力量
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 何时采用命名规则
1 当多个程序员合作开发一个项目时 2 当你计划把一个程序转交给另一位程序员 来修改和维护的时候 3 当你所在组的其他程序员评估你写的程序 4 程序太大,必须份而治之 5 项目生命周期较长的时候 6 当你在编写代码的时候
非正式命名规则
• 与语言无关的命名规则的指导原则
方案1 通过大些字母开头区分类型和变量 User *user; 方案2 通过全部大写区分类型和变量 USER *user; 方案3 通过给类型加 “t_”区分类型和变量 t_User *user; 方案4 通过给变量加 “a” 前缀区分类型和变 User *aUser; 方案5 通过对变量采用更明确的名字区分类型和变 量 User *maleUser;
• 以问题为导向 • 名字的长度
当变量名字的平均长度在10到16个 字符或者平均长度在8到20个字符的 时候,调试程序花费的气力是最小 的。 名字的长度如何取舍? 较长的名字适用于很少用到的变量 或者全局变量 较短的名字适用于局部变量或者循 环变量
• 作用域对变量名的影响
是不是短的变量名字就不好了,是不是 较长的名字就可以明确的表达含义呢?
• 避免使用英语中常常拼错的单词 • 不要仅靠大小写来区分变量 • 避免使用多种自然语言 • 避免使用标准类型、变量和子程序的名字 • 不要使用与变量含义完全无关的名字 • 避免在名字中包含容易混淆的字符
我完了
• 为临时变量命名
警惕 “临时” 变量,临时性的保存一 些值常常是很有必要的。
-(void) addAnimationMove:(UIView *)tempView delegate:(id) delegate startSelector:(SEL) startSelector.... UIView *tempView = [UIUtil newWhiteViewWithFrame:CGRectMake(0, 0, 120, 60) backgroundColor:[UIColor colorWithRed:0.329 green:0.329 blue:0.329 alpha:1]]; tempView.tag = 9009; tempView.center = CGPointMake(160, 200); UIActivityIndicatorView *imageView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; imageView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin| UIViewAutoresizingFlexibleRightMargin; imageView.frame = CGRectMake(50, 10, 20, 20); [tempView addSubview:imageView]; [imageView startAnimating]; [imageView release];
• 为枚举命名
一般使用前缀来命名枚举 如 NSASCIIStringEncoding = 1, NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, NSISOLatin1StringEncoding = 5,
balance = balance - lastPayment; monthlyTotal = newPurchase + SalesTax(newPurchase); balance = balance + LateFee(customerId, balance) + monthlyTotal balance = balance + Interest(customerID, balance); 一些例子 1 cd, current, currenDate 2 newcar 3 newprofession 4 newnature
• 一来自百度文库规则
1 标识全局变量 2 标识成员变量 3 标识类型声明 4 标识具名常量 5 标识枚举类型的元素 6 在不能保证输入参数只读的语言里标识只读 参数 7 格式化命名以提高可读性
• 一个变量名应该包含的信息
1 变量的内容 2 数据的种类 3 变量的作用域
应该避免的名字
• 避免使用令人误解的名字和缩写 • 避免使用具有相似含义的名字 • 避免使用具有不同含义但有相似名字的变量 • 避免使用发音相近的文字 • 避免在名字中使用数字 • 避免在名字中拼错单词
• 为循环下标命名 •
为特定类型的数据命名
a 为循环中的变量命名 i、j、k b 一个在循环外还要使用的变量,应该 取一个有意义的名字 为状态变量命名 为状态变量取一个比flag更好的名字 如: UIViewAutoresizingFlexibleWidth UIViewAutoresizingFlexibleHeight
• 变量名中的计算值限定词
很多变量名字中都有 total、sum、 average、max、min等这样的限定词 来修饰这个名字,将这些限定词放在 名字的最后。 1 突出变量中最重要的部分 2 避免在程序中同时使用totalMoney和 moneyTotal产生的歧义
• 变量名中的常用对仗词
begin/end first/last locked/unlocked next/previous old/new visible/invisible up/down source/target source/destion select/deselect
• 为常量命名
为常量命名的时,应该根据常量所表示 的含义,而不是该常量所具有的数值为 该抽象事物命名
命名规则的力量
• 命名规则可以代来些什么好处了
1 要求你更多地按规矩行事 2 有助于在项目之间传递知识 3 有助于你在新项目中更快的学习代码 4 有助于减少名字增生 5 弥补变成语言的不足住处 6 强调相关变量之间的关系
变量名的力量
1 选择好的变量名的主义事项 2 为特定类型的数据命名 3 命名规则的力量 4 非正式命名规则 5应该避免的名字
选择好变量名的注意事项
• 名字要完全,准确地描述该变量所代表
的事物(名如其义) x = x - xx; xxx = fido + SalesTax(fido); x = x + LateFee(x1, x) + xxx; x = x + Interest(x1, x);
• 为布尔变量命名
谨记典型的布尔变量 1 done 用done表示某件事情完成 2 error 用error表示用错误发生 3 found 用found表明某个值已经找到了 4 success或ok表明某一操作是否成功 几点规则 1. 给布尔变量赋予隐含 “真/假”含义的名 字 2. 使用肯定的布尔变量