Programming | 变量名的力量
命名准则
- 变量名要完全,准确的描述变量所代表的事物,一般而言,对变量的描述就是最佳的变量名。避免x,temp,i等泛泛而谈的变量名。
- 比如对于矩阵的循环,matrix[row][col]就比m[i][j]好很多。
- 当变量名过长时,进行适当的缩写。(去掉介词等)
- numberOfPeopleOnTheUsOlympicTeam->numTeamMembers。
- numbofOfSeatsInTheStadium->numSeatsInStadium。
- maximumNumberOfPointsInModernOlympics->maxPoints
- 当变量名取的很短时候(比如i),通常说明这是一个普通的循环计数器或者数组下标,在这几行代码以外它没有任何作用。
- 对于表示计算结果的限定词(比如总额sum,平均值avg,最大值max,最小值min等)需要放在最后
- revenueTotal
- expenseAverage
- customerCount
- customerIndex
- 给循环下标命名
for(int teamIndex=0;teamIndex<teamCount;teamIndex++){
for(int eventIndex=0;eventIndex<eventCount;eventIndex++){
score[teamIndex][eventIndex]=0;
}
} - 给状态变量命名时不要出现flag,也不要出现is,if(isFound)可读性没有if(found)可读性好;
- 注意一些常见的布尔变量(二值状态变量)的命名(done——某事情做完了,error——发生错误,found——某值找到了)
// 状态变量二值时,用boolean类型表征
if(dataReady) ......
if(found) ...... // 状态变量多值时用枚举类型表征
enum Weekday{
SUN,MON,TUE,WED,THR,FRI,SAT;
} public class mySolution {
Weekday today=Weekday.WED;
if(today!=Weekday.WED) .......
} - 给临时变量起名
public void exchange(int[] array,int index,int anotherIndex) {
int valueCopy=array[index];
array[index]=array[anotherIndex];
array[anotherIndex]=valueCopy;
}
Java命名规则
- 类名首字母大写,Student
- 枚举类型首字母大写且使用复数形式,枚举元素全部大写并用下划线分割,enum Colors{RED,BULU...}
- 局部变量首字母小写 Student studentInCS
- 类方法首字母小写 bool hasMoreValues(...){...}
Programming | 变量名的力量的更多相关文章
- 《Code Complete》ch.11 变量名的力量
What? 如何给变量命名 Why? 易读(你三个月前的代码=别人的代码),易记,恰如其分 整齐的命名具有美感,强迫症患者居家旅行杀人放火之必备 How? 以问题为导向 好名字反映的是问题(what) ...
- <<代码大全>>阅读笔记之二 变量名的力量
1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton ...
- C语言中变量名及函数名的命名规则与驼峰命名法
一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error ...
- JavaScript:声明变量名的语法规则
一.语法规则 1.变量必须使用字母.下划线(_)或者美元符($)开始. 2.然后可以使用任意多个英文字母.数字.下划线(_)或者美元符($)组成. 3.不能使用JS关键词与保留字. 二.示例 var ...
- JS中变量名和函数名重名
今天骚凯问了一道变量名冲突的题目,感觉很有意思,顺便也复习一下预解析的一些知识,有不对的地方忘前辈大神指正,题目是这样的: var a=100; function a(){ console.log(a ...
- 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...
- C#中根据变量获取变量名字符串
/// <summary> /// 获取当前变量的变量名 字符串 /// 调用:GetVarName(p=>test.str1); 返回 " ...
- C/C++变量名与值的问题
首先说明变量名是不占空间的. 变量:用来标识一块内存空间,这块内存区域的值一般是可以被该的. 而const常量通常限定这一块内存区域的值是不可被更改的. 变量名:只是一个标识符,并不占内存空间.在c的 ...
- JS中变量名作为if条件的 true/flase
在Javascript中,可以直接将变量名放到if条件中, var a;//甚至不定义 if (a){ //... } 以下情况被认为是flase: 1.''空的字符串 2.数字0 3.对象null ...
随机推荐
- composer(作曲家)安装php-ml
刚开始我用的是up5.6版本php命令安装composer 后来使用composer时发现命令行会提示php版本太低 于是我下载了wamp,使用7.1版本的php重新安装了composer,因为php ...
- 0928CSP-S模拟测试赛后总结
依旧跌落.昨天只是偶然诈尸.我依旧是那个第二机房垫底大垃圾. 赛时打的很放松.因为T1想到了正解.对拍也打了.尽管用了大约一半的考试时间. 但是对拍拍了很久没有出错.如果你在2019年9月28日晚一下 ...
- NX二次开发-UF_MODL_ask_point_containment获取一个点是在体(面,边)的边界内部,外部,还是边界上
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_curve.h> #include < ...
- [Android开发常见问题-4] RunTime.exec()如何以root权限执行多条指令?
转:http://blog.csdn.net/alexander_xfl/article/details/9150971 RunTime.exec()这个接口可以说是给我们开发者提供了一个很好的直观操 ...
- (转)sql的group by应用
转载于:http://www.studyofnet.com/news/247.html 本文导读:在实际SQL应用中,经常需要进行分组聚合,即将查询对象按一定条件分组,然后对每一个组进行聚合分析.创建 ...
- 2019 牛客多校第一场 A Equivalent Prefixes
题目链接:https://ac.nowcoder.com/acm/contest/881/A 题目大意 定义 RMQ(u, L, R) 为 u 数组在区间 [L, R] 上最小值的下标. 如果有 2 ...
- tensorflow run()和 eval()
eval()只能用于tf.Tensor类对象,也就是有输出的Operation.对于没有输出的Operation, 可以用.run()或者Session.run() 所以我们训练的时候,对于优化器只能 ...
- 17-MySQL-Ubuntu-数据表的查询-分页(六)
分页(limit) 注: (1)limit位于SQL语句的最后面; (2)limit 2; 2表示查询前两条数据; (3)limit 0,2; 0表示查询第1页的起始数据的下标,2表示每页有两条数据 ...
- HDU 3966 /// 树链剖分+树状数组
题意: http://acm.hdu.edu.cn/showproblem.php?pid=3966 给一棵树,并给定各个点权的值,然后有3种操作: I x y z : 把x到y的路径上的所有点权值加 ...
- docker 挂载文件出错
docker不能挂载文件,只能挂载文件夹,所以先从一个容器中复制一份配置文件. docker run --name test -d idp docker cp test:/app/appsetting ...