命名准则

  • 变量名要完全,准确的描述变量所代表的事物,一般而言,对变量的描述就是最佳的变量名。避免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 | 变量名的力量的更多相关文章

  1. 《Code Complete》ch.11 变量名的力量

    What? 如何给变量命名 Why? 易读(你三个月前的代码=别人的代码),易记,恰如其分 整齐的命名具有美感,强迫症患者居家旅行杀人放火之必备 How? 以问题为导向 好名字反映的是问题(what) ...

  2. <<代码大全>>阅读笔记之二 变量名的力量

    1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton ...

  3. C语言中变量名及函数名的命名规则与驼峰命名法

    一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error  ...

  4. JavaScript:声明变量名的语法规则

    一.语法规则 1.变量必须使用字母.下划线(_)或者美元符($)开始. 2.然后可以使用任意多个英文字母.数字.下划线(_)或者美元符($)组成. 3.不能使用JS关键词与保留字. 二.示例 var ...

  5. JS中变量名和函数名重名

    今天骚凯问了一道变量名冲突的题目,感觉很有意思,顺便也复习一下预解析的一些知识,有不对的地方忘前辈大神指正,题目是这样的: var a=100; function a(){ console.log(a ...

  6. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名

    使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...

  7. C#中根据变量获取变量名字符串

    /// <summary>         /// 获取当前变量的变量名 字符串         /// 调用:GetVarName(p=>test.str1); 返回 " ...

  8. C/C++变量名与值的问题

    首先说明变量名是不占空间的. 变量:用来标识一块内存空间,这块内存区域的值一般是可以被该的. 而const常量通常限定这一块内存区域的值是不可被更改的. 变量名:只是一个标识符,并不占内存空间.在c的 ...

  9. JS中变量名作为if条件的 true/flase

    在Javascript中,可以直接将变量名放到if条件中, var a;//甚至不定义 if (a){ //... } 以下情况被认为是flase: 1.''空的字符串 2.数字0 3.对象null ...

随机推荐

  1. 最小表示法——牛客多校第七场A

    脑瘫一样暴力,贪心找最小表示的串,判一个串是否是最小表示法时也是暴力地判.. 但是想不通复杂度是怎么算的.. #include<bits/stdc++.h> using namespace ...

  2. OpenSceneGraph | OSG如何存储带纹理osgb格式可以节省空间

      在使用OSG(OpenSceneGraph)存储带纹理osgb格式的过程中,大家会遇到这样一种情况:存储后的osgb文件所占用的大小远大于原始文件的大小,几倍至几十倍.这是为何呢?原因是OSG默认 ...

  3. NX二次开发-UFUN适应窗口UF_VIEW_fit_view

    NX9+VS2012 #include <uf.h> #include <uf_view.h> #include <uf_modl.h> UF_initialize ...

  4. 扩展BSGS-传送门

    很好的讲解:ZigZagK 好的讲解:mjtcn 某个模板:here 模板题: BSGS:ZigZagK的poj2417 exBSGS:ZigZagK的poj3243 — AC_Gibson 一般的板 ...

  5. 关于“回归自然”onepage的总结

    (1)消除li 前面的点 使用 ul {list-style:none; } 并且ul之外会有一个容器,nav等 利用margin值保持和其他元素的等高度. (2) <h1>回归自然< ...

  6. LeetCode 620. Not Boring Movies (有趣的电影)

    题目标签: 题目给了我们一个 cinema 表格, 让我们找出 不无聊的电影,并且id 是奇数的,降序排列. 比较直接简单的,具体看code. Java Solution: Runtime:  149 ...

  7. JDK简介和mac下安装和查看版本命令

    1.什么是JDK? JDK:Java Development Kit,是 Java 语言的软件开发工具包(SDK).没有JDK的话,无法编译Java程序(指java源码.java文件). SE(Jav ...

  8. 6. 第一个jmeter脚本开发-测试百度首页

    需求:可以承受5个用户同时访问百度解题思路:我们可以从这短短的一句话中提取3个点:同时.5个并发.百度服务器解题方法:方法一:录制请求录制方法会在下一篇进行讲解,本篇不做过多介绍. 方法二:自定义添加 ...

  9. 2. Vim 概念扫盲

    Frm: http://www.linuxidc.com/Linux/2013-05/84031p2.htm 了解Vim的三个基本模式 当我们安装完一个编辑器后,肯定会打开它,然后在里面输入点什么东西 ...

  10. [USACO11OPEN]玉米田迷宫Corn Maze

    题目描述 This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn m ...