如何让命名变得优雅

1.概述

  在写这篇文章时,我也是酝酿了许久;在平时编码时,也经常苦于如何命名让变量,函数及类变都优雅,美观。因为,有时候看回过头来看代码发现,一个变量或是函数名特别是有单词组合都时候,会觉得有些单词组合在一起,看起来很别扭。举个例子,如类型统计:typeStats,statsType,categoryStats,statsCategory。其中2看的最别扭,3其次,1和4都还可以接受。当然这个也不是说2,3不行,这里我只是想说明命名之前,我尽可能的多组合自己的变量,使最后的命名更加优雅。

2.心得

  这里总结一下自己在平时多使用心得,故总结以下心得:

  2.1不同多代码段采用不同段命名长度

类型 长度
循环变量 1
方法 1-2
2-3
全局变量 3-4

 

  2.2对变量采用具体对命名方式

  “value”,“equals”,“data”在任何情况下都不是一种有效对命名方式。

  2.3采用有意义对命名

  变量的名字必须能够准确反应它的含义和内容。

  2.4变量不需要前缀标签来表示自己使一个变量

  如: n_,obj_,_p

  2.5遵循公司的变量命名规则,在项目中坚持使用同一种变量命名方式

  如:txtUserName,lblUserName,cmbIsAdmin等,否则会对可读性造成影响,而且会令查找/替换工具(find/replace tools)不可用。

  2.6遵循当前语言对变量命名规则

  在命名使,要和当前的命名规则匹配,不要另起规则。常见的问题:userName,username,UserName,USER_NAME等。

以Java的规则为例:

  • 类名使用驼峰命名法:AppDedail
  • 包名使用小写:cn.company.utils(cn.company.业务名)
  • 变量使用首字母小写的驼峰命名法:appInfo
  • 常量使用全大写:MAX_SIZE
  • 枚举类采用驼峰命名法,枚举值采用全大写:Configure,APP,APP_NAME
  • 除了常量和枚举值以外,不要使用下划线:“_”

  2.7在同一个类不同的场景中不要复用变量名

public class App{
      public App(String appName){
            String name = appName;
            // ....... 省略后面的代码 ......
      }  

      public void show(AppDetail app){
            String name = app.getAppName();// 构造方法中已使用name变量
            String appName = app.getAppName();
      }
}

 如:在方法,初始化方法和类中,这样做可以提高可读性和可维护性。

  2.8不要对不同使用目的对变量使用同一变量名

  同2.7一样,赋予它们不同的名字,这样对保持可读性和可维护性很重要。

  2.9变量名不要使用非ASCII字符

  这样做的后果会导致在跨平台使用时产生问题。

  2.10不要使用过长的变量名

  变量名不要超过50字符,过长的变量名会导致代码丑陋和难以阅读,还可能因为字符限制在某些编译器上存在兼容性问题。

  2.11仅使用一种自然语言来命名

  例如:在同时使用英语和日文来命名会导致理解不一致和降低代码的可读性。

  2.12使用有意义的方法名

  方法名必须准确表达该方法的行为,在多数情况下以动词开头,如:createPassword。

  2.13遵循公司的方法命名规则

  在项目注坚持使用同一种方法命名方式,如:getTxtUserName(),isAdmin(),updateUserInfo(),否则会对可读性造成影响,而且会令查找/替换工具不可用。

  2.14遵循当前语言的变量命名规则

  在命名时,不要不统一的使用大小写字母,如:

  以Java为例:

  • 方法使用首字母大小写的驼峰命名法:getStudentInfo
  • 方法参数使用首字母大小写的驼峰命名法:insertStudentInfo(Student stu)

  2.15使用有意义的方法参数命名

  这样做可以在没有文档的情况下尽量做到“见明知意”。

3.总结

  细节很重要,平时编码时需要注意的一些细节,时刻记住,我们编码是为了让别人更好的去阅读你的代码,而不是“迷惑”别人。一次在阅读代码时发现以前一哥们写的注释,我瞬间内心暖暖的。大概内容如下:

private int getSummary(Manager manager){
       //  为了BT的需求,破坏了代码优雅的结构( ̄▽ ̄)
}

最后说一句,同是程序员,程序员何苦为难程序员!!!

时间: 2024-11-01 04:16:26

如何让命名变得优雅的相关文章

浏览器书签扩展Kippt 让用户存储信息变得优雅

近日,据国外媒体报道,去年秋天,芬兰设计师乔里拉罗(Jori Lallo)和卡里沙里宁(Karri Saarinen)预推出了一款名为Kippt的浏览器书签扩展,意在让用户以一种更优雅的方式把他们的信息存储在Web上.当时Kippt只是一个业余项目,因为拉罗把主要精力放在了留言板应用Convore上.但随着时间的推移,两位创始人为Kippt补充和集成了一些新功能,并推出了一个API(应用编程接口),让用户可以使用Kippt工具来修改这个扩展或是创建自己的应用. 近日,两位创始人开始把全副精力投入

如何让编码更加的标准

1.概述 在写这片博文时,我也是思绪良久,参考了不同语言的编码风格,最后总结出如何让自己的编码更加标准. 2.基础 以Java的基础为例子来说明: 文件编码格式为UTF-8 package需要置于最顶层 import包时,使用eclipse的快捷键(command+1)倒入对应的包(这样我们可以不用考虑包的顺序如何排列) 格式化代码采用eclipse的快捷键(command+shift+f)进行格式代码 if,else,for,while等语句,必须加上大括号({}),即使语句为空 代码块缩进,

懒懒交流会:ClassName的长命名 VS. 短命名

源自2009.11.26懒懒交流会的PK堂,收获甚多,故作此记. PPT链接 说实话,看到这个题目时我觉得这有什么好讨论的,肯定会是场一边倒的讨论.因为个人比较倾向于短命名,简单优雅,可能是出于程序员的洁癖,容不得任何冗余的东西.(和我一个想法的人应该不在少数吧 ==== 先看下长命名和短命名的定义: <!-- 长命名:通过前缀体现上下文环境的CSS命名方式. --> <div class="category"> <div class="cate

为什么 Cloudera 要创建 Hadoop 安全组件 Sentry ?

为什么 Cloudera 要创建 Hadoop 安全组件 Sentry ? 1.  大数据的安全体系 要说清楚这个问题,还得从大数据平台安全体系的四个层次说起:外围安全.数据安全.访问安全以及访问行为监控:如下图所示: 外围安全技术多指传统意义上提到的网络安全技术,如防火墙,登陆认证等: 数据安全从狭义上说包括对用户数据的加解密,又可细分为存储加密和传输加密:还包括用户数据的脱敏,脱敏可以看做"轻量级"的数据加密.如某人的生日为"2014-12-12",脱敏后的数据

使用 Node.js 做 Function Test实现方法_javascript技巧

Info上周 meeting 上同事说他们现在在用 java 写 function test,产生了很多冗余的代码,整个项目也变得比较臃肿.现在迫切需要个简单的模板项目能快速搭建function test. 后来我回去想了想,为什么我们非得用 java 来做 function test 呢? Node.js 应该是个不错的选择,并且对 json 有着天然的支持,于是回去在 github 上随手一搜,还果真有相关的项目:testosterone,于是便有了这篇blog. Server要做demo,

ios开发之Swift 错误处理详解

Swift 中的错误处理从 O-C 沿袭而来,但 Swift 1.0 之后逐渐发生了巨大改变.重要的改变发生在 Swift 2,它率先使用了"处理非异常的状态和条件"的做法,使你的 app 变得更加简单. 类似于其它编程语言,在 Swift 中,选择使用哪种错误处理技术,需要根据具体的错误类型和 app 整体架构而定. 本教程将演示一个"魔法",在这个例子中,不但有男巫.女巫和蝙蝠,还有蟾蜍,以此来演示在常见错误处理过程中的最佳实践.你还可以看到,如何将使用 Swi

网页色彩搭配的内涵

网页 网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友.到底用什么色彩搭配好看呢?让我们来看看网友54雨寒的高见吧!一.红色的色感温暖,性格刚烈而外向,是一种对人刺激性很强的色.红色容易引起人的注意,也容易使人兴奋.激动.紧张.冲动.还是一种容易造成人视觉疲劳的色.1.在红色中加入少量的黄,会使其热力强盛,趋于躁动.不安.2.在红色中加入少量的蓝,会使其热性减弱,趋于文雅.柔和.3.在红色中加入少量的黑,会使其性格变的沉稳,趋于厚重.朴实.4.在红中加入少量的白,会使其

配色方案

配色  一.红色的色感温暖,性格刚烈而外向,是一种对人刺激性很强的色.红色容易引起人的注意,也容易使人兴奋.激动.紧张.冲动.还是一种容易造成人视觉疲劳的色.1.在红色中加入少量的黄,会使其热力强盛,趋于躁动.不安.2.在红色中加入少量的蓝,会使其热性减弱,趋于文雅.柔和.3.在红色中加入少量的黑,会使其性格变的沉稳,趋于厚重.朴实.4.在红中加入少量的白,会使其性格变的温柔,趋于含蓄.羞涩.娇嫩.    二.黄色的性格冷漠.高傲.敏感.具有扩张和不安宁的视觉印象.黄色是各种色彩中,最为娇气的一

探讨网页色彩搭配的内涵

网页 网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友.到底用什么色彩搭配好看呢?让我们来看看网友54雨寒的高见吧! 一.红色的色感温暖,性格刚烈而外向,是一种对人刺激性很强的色.红色容易引起人的注意,也容易使人兴奋.激动.紧张.冲动.还是一种容易造成人视觉疲劳的色. 1.在红色中加入少量的黄,会使其热力强盛,趋于躁动.不安. 2.在红色中加入少量的蓝,会使其热性减弱,趋于文雅.柔和. 3.在红色中加入少量的黑,会使其性格变的沉稳,趋于厚重.朴实. 4.在红中加入少量的