`

变量名命名不规范引起的bug的问题和思考

阅读更多

  今天在调试一个bug的时候,花了将近半个小时的时间,而最后发现原因是由于两个变量名相近,参数传递错误了引起的,真的是狂吐血。因此感觉到命名规范的必要性和重要性

  一:让代码更易阅读

        良好的变量命名习惯或者规范可以让代码更加容易阅读,逻辑更加清楚,更加容易维护和修改。

        比如 定义了一个变量 String key ; String login_key :那么第一个key到底是什么意思不是非常清楚,

而第二个long_key 表示是和登陆有关的,意思就是更加的准确了,但是loging_key 到底是什么意思呢?

假设你是第一次阅读代码的话,如果没有注释的话,可能还不是非常的准确. 比如这个变量String l ogin_user_key。那么可能就是更加清楚了,这个表示的是登录用户的唯一值。

           

 二:让代码更加容易调试。

        一般系统的代码变量都非常的多,参数也是比较多的,那么在这个情况下,清晰准确的变量命名就显的非常的关键,今天这个发生的错误就是方法的参数名和类的静态变量的参数名接近,导致了参数写错了。

 

  那么 通常在什么情况下会发生这类错误呢?

  一:对英文不熟悉。

      由于变量是用英文字母命名的, 由于可能对英语的不熟悉,所以在定义某些变量的时候,命名不准确,导致发生了歧义。

  二:代码复杂

         复杂的代码涉及到的临时变量,参数变量,静态变量比较多,有些变量可能比较相近,而且在开发中,

追求速度,不会在变量上费时间,所以特别在临时变量或者方法中的参数中变量命名相对比较随意,所以可能会发生参数变量写错的情况。

  三:没有良好的变量命名规范意识

         在这以前,也阅读过Google代码规范,里面也提到过变量的命名规范,但是一个习惯不是非常容易的养成, 所以在紧张开发的情况下,意识不到规范命名变量,而且在开发中,认为变量命名的规范对代码的性能几乎没有任何影响,所以也就出现了某些变量命名随意的情况。

所以要有培养自己的变量命名规范意识和习惯。

 

那么如何养成良好变量命名的习惯呢?

   一:具有规范意识

          首先要认识到变量命名规范的重要性,假设你认为变量的命名不重要的话,可以随意命名的话,那么是不可能具有良好的变量命名习惯的。

   二:阅读源码

   阅读一些开源的源码,比如JDK源码、Struts源码等等,学习这些开源程序是如何命名的。然后可以把自己以前写的代码和这些优秀的源码进行比较,看看差距在哪里,然后在以后写程序中慢慢改进。

  三:一些规则

   可以阅读这篇文章GoogleJava编程风格指南来学习一些规范,然后应用到开发中。

我想通过这些步骤,有意识的加以训练和修正,我想很快就可以写成具有易阅读、易维护的漂亮的代码的。

 

 

 

分享到:
评论

相关推荐

    BUG管理规范BUG管理规范BUG管理规范

    BUG管理规范BUG管理规范BUG管理规范BUG管理规范BUG管理规范BUG管理规范BUG管理规范

    BUG描述语言规范

    规范测试BUG描述,对于初学者比较有好处,规范管理BUG,增加,删除,查询,修改的操作都是有帮助的

    禅道Bug提交管理规范

    禅道Bug提交管理规范 测试流程管理。 本文档定义了bug管理流程及其bug相关信息内容。

    BUG库管理规范BUG库管理规范

    BUG库管理规范 BUG库管理规范 BUG库管理规范 BUG库管理规范 BUG库管理规范 BUG库管理规范

    测试规范-Bug管理(文档)

    测试规范-Bug管理(文档) 测试规范-Bug管理(文档)

    Bug处理流程规范

    基于禅道的BUG处理流程。自己整理的资料,希望能有一些帮助!

    bug提交与规范

    对于开发后人员进行测试的一些建议,对于bug的规范处理

    bug的描写规范

    Have you ever had a bug returned to you for more information? Have you ever found a critical bug only to have it deferred to another release?

    测试bug定义规范

    百度、神码移动客户端bug严重程度定义规范

    Bug管理规范及流程

    Bug管理规范及流程:整理测试流程,bug提交规范,bug属性定义

    BUG管理流程规范.doc

    开发、需求、测试在执行测试阶段对bug处理相互间形成良好的沟通,对bug的管理形成统一的规范,保证bug有效快速的被修复,保证相互间工作正常进行,提供参考文档

    测试思考之bug缺陷趋势曲线图

    测试思考之bug缺陷趋势曲线图.上周参加了关于测试的培训,虽然没有想象中的那么大的帮助,感触还是有的,现对于某几个相关的问题写了一些个人的想法,这次说的是关于bug曲线图的问题,  上周参加了关于测试的培训,...

    软件测试基础知识各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题

    各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件公司面试所遇BUG问题各大软件...

    解决BugFree上传图片不能显示问题

    看到网上很多问bugfree上传图片不能保存的问题,所以研究了下与大家共享,方法不是最好但希望能帮到使用bugfree软件的朋友

    Java Bug模式详解

    第2章 Bug、规范和实现方案 2.1 bug的概念 2.2 一体性规范 2.2.1 C++ 2.2.2 Python 2.2.3 ML 2.2.4 Pascal 2.3 规范的好处 2.4 实现方案与规范的差异 2.5 利用素材建立经济有效的规范 2.5.1 通过测试来...

    bugfree bugfree bugfree bugfree bugfree

    bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree

    FindBugs的BUG分类

    全面的findbugs种类描述,有这个就全了,中文描述

    bug提交及管理规范

    bug提交规范 缺陷概述,缺陷操作步骤,预期结果,实际结果,已解决,已关闭,重新打开

Global site tag (gtag.js) - Google Analytics