乔云
摘 要 随着计算机产业的發展,大量的IT企业纷纷涌现,程序员这种职业越来越常见。但是良好的编程习惯却是每个程序员都应该具备的工作素质。不好的编程习惯在软件开发过程中留下很多的隐患,造成很多的资源浪费,加大了软件维护的成本,有些甚至制约了整个系统的生命力。探讨糟糕的编程习惯带来的危害,并希望能引起广大程序员的共鸣,共同关注代码习惯的养成。
关键词 代码习惯 软件开发 编程习惯 危害
中图分类号:TP39 文献标识码:A
0绪论
随着计算机以及智能手机的发展,软件应用已经完全进入人们的日常生活,与之相对应的,产生了大量的软件开发、升级、维护工作,而在这庞大的工作之余,缺陷的修改、版本的维护、版本回退、客户的个性化需求,还有由于开发团队的人员变动等等因素引起的代码维护问题,对任何一个程序员来说,都是不可避免的问题。每个程序员都不可避免的要去读别人的代码,改别人的代码,所以,面对糟糕的代码就像面对一个打结的毛线团,处处不敢动,处处看不透。也许本来是来改bug的,结果却留下了更大的隐患。所以良好的编程习惯,是每个程序员都应该具备的工作素质
1常见的错误代码习惯以及其危害
1.1坚决不动原代码,永远添加新方法
这种情况在开发团队人员变动大的情况下非常常见。因为最初的开发人员都不在了,后来的程序员是在一个很大的代码平台上做后续的开发。这种情况下要做的第一件事当时是读代码,但是读起来却费时费力,而每每要调整或者实现的功能看起来却又不复杂,所以就更加懒得读,所以直接添加了新方法,将调用接口改到新方法上了事。当然还有一种情况就是不敢去动原方法,因为不知道有几处调用这个方法,怕出现牵一发动全身的情况,一个小修改,导致其他的问题,所以最稳妥的就是添加新方法。但是这种代码习惯的危害显而易见:
(1)增大了后续的维护成本。面对一个功能类似的程序和面对一堆功能类似的程序,哪个更轻松是显而易见的,而且,这样的解放方法会让其他的程序员迷惑,功能类似,却个个不同,调用的人迷茫,维护的人困惑。
(2)严重的代码冗余。代码冗余的危害是众所周知的,暂且不提效率问题以及无意间的代码耦合等等,单说无用的代码,却增大了系统崩溃的可能性,就可以直接说明精简代码的必要性了。
(3)降低了软件的可维护性,养成糟糕的代码习惯。这样的维护方式维护起来的代码就像是一个乱搭起来棚子,没有一处敢轻易的修改,系统脆弱,而且随着时间的推移,其维护越来越困难,而且也养成的很不好的代码习惯,不读代码,图一时清闲,埋下大的隐患。
1.2无规范,无备注
关于代码的规范已经是老生常谈了,相信每一个老程序员都会告诉你一大堆代码规范的好处,易读,便于维护,不易出现混乱与bug,有助于促进团队合作,方便代码审查等等。同时代码备注同样的重要。而且是代码不可或缺的一部分,或者换句话说,是规范的代码不可获取的一部分。我们写一个方法或一个类,通过标准的备注告诉以后的自己或者将来的维护人员这段代码做了什么或者定义了什么,用到了什么对象,输出了什么对象,易读性和效率是不是大大的提高了?而且也可以避免出现大量的相同定义、相同方法。我们在开发中使用到的大量的帮助文档,就是这些标准的备注,我们在开发中享受了前人优秀备注带来的好处,为什么不能也把自己的代码变成可方便别人的代码,况且,与人方便,与己方便呢。但是很多刚入行的程序员不喜欢在代码里加备注,觉得麻烦,觉得自己完成了自己的模块,自己清楚就行,哪里需要给自己留说明。却忘了软件是个整体,模块,类,方法之间的相互调用本就稀松平常,况且,躺在代码行里的备注永远躺在代码行里,而躺在脑海中的备注却会在日复一日的工作中去留无踪。无备注,无规范完全是害人害己的代码习惯。
1.3无视架构,恣意发挥
代码就是要实现功能,这本身没有错,但是有些人完全无视架构,不管是表现层,还是业务逻辑层,反正要访问数据库,就写sql。有些代码甚至在页面上都有直接访问数据库的方法。架构混乱,一样导致代码难读,不可复用,甚至影响安全性。
1.4其他错误的代码习惯
还有很多错误的代码习惯,如:学会一招,就开始一招鲜吃遍天,不管方法是不是适合系统,硬塞方法进去。再比如有的程序员随意修改别人和过往的代码,不去问,不去好好的读,上手就大刀阔斧,一路改,一路留bug,不问前人为什么这么写,抬手就给改了,导致到处是隐患,到处留后门。再比如,不爱自查代码,增大代码测试压力,而且容易遗留问题。
2结论
以上是从事了五年的软件开发所汲取经验和教训,要杜绝这样的现象,除了要加强管理,程序员的自我修炼也显得尤其重要。其实很多人并不是故意要这样,而是受自身的限制。作为管理者要不断地教育和敦促程序员,程序员也要注意不断地学习,培养自己的编程意识和素质,同样要培养自己对产品负责,对项目负责,对同事负责,对自己的工作负责的态度和荣誉感。
参考文献
[1] 刘玉.当代程序员的基本素质与能力[J].河北职业技术学院学报,2004(03).
[2] 左轻侯.如何成为一名优秀的程序员[J].程序员,2006(03).
[3] 苏亚丽,李淑英,陈刚.论程序设计中良好编程风格的运用与分析[J].玉溪师范学院学报,2010(08).