`

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

阅读更多

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

  一:让代码更易阅读

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

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

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

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

           

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

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

 

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

  一:对英文不熟悉。

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

  二:代码复杂

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

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

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

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

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

 

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

   一:具有规范意识

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

   二:阅读源码

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

  三:一些规则

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

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

 

 

 

分享到:
评论

相关推荐

    VC变量命名规范(有例子)

    ### VC变量命名规范详解 #### 一、引言 ...此外,良好的命名习惯也有助于团队之间的协作和沟通,减少因命名不一致而导致的问题。希望本文提供的示例和建议能帮助你在VC编程中更好地运用这些规范。

    Bug处理流程规范

    * 研发人员在处理自己的问题时,即使这个问题不是自己的程序引起,也最好不要把问题转来转去,因为这个问题是在你这块表现出来的,到底哪里出问题应该比较清楚,跟其他相关人沟通相对比较容易,这样可以降低沟通成本...

    IOS开发编码及命名规范

    IOS 开发编码及命名规范的目的是为了提高代码的质量和可维护性,减少代码的维护成本和BUG的出现。同时,也为了提高团队的协作效率和开发效率。 适用范围 IOS 开发编码及命名规范适用于所有iOS 开发工程师,无论是...

    测试bug定义规范

    5. 其他:严重线上问题、编码规范问题、新操作系统兼容性问题等问题。 三、bug 定义 1. Crash:应用程序崩溃,包括闪退、黑屏、ANR等问题。 2. 性能问题:系统资源长期占用、内存使用过多、列表控件没有重用导致GC...

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

    BUG 管理规范是软件测试和开发过程中不可或缺的一部分。其主要目的是确保软件产品的质量,规避 BUG 的出现,提高产品的可靠性和稳定性。 一、 Bug 分类 * 功能性 BUG:包括重复的功能、多余的功能、功能没有达到...

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

    测试规范-Bug管理是软件开发过程中的重要环节,旨在确保软件的质量和稳定性。本文将详细介绍Bug的提交和管理规范,以及其相关属性和状态。 首先,Bug的基本属性包括多个方面,如版本(Version)、组件(Component)...

    Java编程规范.pdf

    这些规范包括了包命名规范、类命名规范、接口命名规范、方法命名规范、变量命名规范和常量命名规范等。 包命名规范:包名全小写,中间可以由点分隔开,例如:java.awt.event。为了保障每个Java包命名的唯一性,通常...

    禅道Bug提交管理规范

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

    软硬件版本号命名规范 硬件工程师电路分析物联网模电单片机嵌入式技术.doc

    随着新能源汽车和通信技术的发展,物联网和硬件工程师等领域的技术不断演进,软件版本号命名规范也变得越来越重要。下面将对软硬件版本号命名规范进行详细的解释,并对硬件工程师、物联网等领域的相关知识点进行总结...

    软件编程命名规则

    1. **提高软件质量**:良好的命名规范有助于减少错误和bug的发生概率,因为清晰明了的命名可以降低误解的可能性。 2. **增强可读性和可维护性**:规范的命名可以使代码更易于阅读和理解,从而提高代码的可维护性。 3...

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

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

    软件项目版本命名规范

    软件项目版本命名规范对于确保软件开发过程中的版本控制清晰性和版本管理一致性至关重要。合理的版本命名规范不仅有助于团队成员之间的沟通,还能方便地追踪软件的发展历程以及各个版本间的变更。 #### 二、GNU风格...

    测试BUG流程管理规范

    ### 测试BUG流程管理规范 #### 一、概述 在软件开发过程中,BUG管理是确保产品质量的关键环节之一。本文档旨在规范测试人员提交BUG的方式,明确开发与测试团队之间的配合流程,提高BUG处理效率,从而加快产品的...

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

    * Rejected:开发人员或项目经理认为不是 BUG、描述不清、重复、不能复现、不采纳所提意见建议或虽然是个错误但还没到非改不可的地步故可忽略不计或者测试人员提错,从而拒绝的问题。 * Delay:开发人员或项目经理...

    bug提交与规范

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

    oracle常用的bug问题解决

    在Oracle数据库运行过程中,可能会遇到性能下降的问题,这可能由查询优化器错误、内存管理bug或者并发控制bug引起。解决这类问题通常需要深入理解SQL执行计划,通过调整索引、绑定变量、优化内存分配和调整并发参数...

    JIRA的BUG管理规范方案.doc

    这份方案的主要目的是为了规范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?

Global site tag (gtag.js) - Google Analytics