`
abjie1
  • 浏览: 10291 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
最近访客 更多访客>>
社区版块
存档分类
最新评论

说一说编程恶习

阅读更多
引用

        最近在做一个汽车销售系统的改善工作, 这个系统已经运行两年了, 两年来, 客户不断的提出新需求, 系统也在不断的改来改去。 这次轮到我来改它了。   想想N年前初学编程的时候, 书上, 网上, 杂志上不断的在说, 要养成良好的编程习惯。 然后还给出了N长的一大篇文章来介绍一些编程规范。 我这个人是很懒的, 大概的看了一下就过去了。 没有特意的记什么。 好在我这个人也不是特别的懒, 对自己的工作也是很上心。 编程的时候尽可能做到更好。 性能功能能考虑到的都要做到最好。  慢慢的也养成了一些编程的习惯, 时间长了, 下意识的就去遵守一些模式,模范之类的东西了。
       有了这些习惯, 再看这次修改的系统, 真的是生可忍熟不可忍了。  这次我也不说什么编程规范了, 我就说说这些编程恶习 。

         一,  程序没有注释
        注释!!注释!!! 如果只是打印了一个HELLO WORLD, 您不注释那也就算了, 如果是只有一两百行的小功能类您不注释, 那我也忍了, 可是 3000多行一个类的业务逻辑代码, 您老人家还不注释!!!   你TM让我怎么去改代码,  一点业务逻辑的说明都没有, 我改代码的时候,得一边用 DEBUG调试, 一边替他加注释。 然后才能进行自己的工作。 几千行的一个类,  一行注释都没有, 你TM就不觉得颜色单调了点吗?

       二,  不遵守基本的编程约定
       变量名大小写混乱, 明明是变量, 非要完全大写, 要不就大写开头。 要不就是方法名全是大写, 最牛B的一个方法是用中文做方法名, 你丫这时候想起打中文来了, 累不累呀。
还有人用拼音做变量名方法名,就算您英文不好,稍微查一下金山词霸行不行,现在百度和GOOGLE都有翻译功能,稍微查一下英文,也当是学英语了行不行?  您实在太忙的话,不查也就算了,拼音就拼音吧,好赖也算是中国话的。 可是您就别用拼音简写了,英文简写还认不出来呢, 您还用拼音的开头字母当变量名,  那我TM上哪儿猜去呀!

三, 不明就里的代码
系统中经常会出现这样的代码,尤其是在controller里居多:
// some code
If(flag .equals(“submit”)){
model.getInfo();
}else{
model.getInfo();
}
我没写错,if和else调用的方法完全一样,大家也放心,我仔细的看过调用的代码,调用的方法里,也没有根据其它情况来改变他的运行路线。我就不明白为什么要做这个if判断了。担心会有什么特殊的业务逻辑, 所以也不赶随便去改他。 猜了半天,感觉最理想的答案是写代码的人,担心以后会有新的逻辑分支,  所以在这里用if预留了一个位置, 以后改的时候方便。
数日之后有幸遇见了当初写这代码的老兄,问过之后立刻晕倒,原来是这个代码是参照别的模块的样子写的,别的模块在这里都有N个程序分支,通过if来判断后决定调用哪个model里的方法。但他这个模块很简单,没有什么分支,就是调用那一个方法,但他写代码时,看别人的模块在这里都进行if判断了,所以觉得自己也应该判断一下,于是就出现了上面这样的代码。

四, 面向过程式的编程方法
遇到过好几次2000多行的方法,所有业务逻辑,一气呵成,就用了一个方法搞定。如果是简单的逻辑也就算了, 可是几千行的代码全放在一个方法里,一个类里有无数的重复代码。 这回到好,重构那本书没白看, 现在有了实践的机会了。
难道您自己调试的时候就不觉得麻烦吗? 我在这里不想讨论什么面向过程还是面向对象,也别和我说什么方法多了也不一定就是面向对象的思想。 平时对自己写的代码多上点心, 大家都是在这行干了几年的人了,把代码写的漂亮点有什么不好。

五, 代码缩进混乱
我们公司有规定,改代码的时候,不许修改原有代码的格式。 不管他多乱,也不许改。 我不明白这是为什么,也许是检查代码的人,要用文件比较工具吧。
但这下苦坏我了, 代码的格式那叫一个乱。 有顶着行头写的, 有向后空了N格的,大概是写代码的人, 为了方便自己找到正在调试的那段代码,所以把代码的缩进变得和其它代码与众不同吧。 那您调试完了到是重新排一下版呀, 这真的不累~~, 现在的IDE工具都有自动排版代码的功能, 一个快捷键就搞定了,稍微勤快一点行吗??
最BT的一段代码是缩进居然出了屏幕!!! 你吃饱了撑的呀, 没事缩那么远干吗, 我根据后台输出找了半天也没找到那段代码在哪儿, 原来是因为缩进的太远了,不在屏幕范围之内, 向右拉了半天滚动条才找到。 你丫是不是写着代码睡着了? 脸正好砸在TAB键上。

六, 多余的后台输出
好几个循环嵌套在一起~~~ 也行, 就算是因为业务逻辑需要,没别的办法也将就了。 好几个循环嵌套在一起查数据库, 咱们最好还是开动一下脑筋, 看看有什么更好的办法。如果还是没别的办法, 那也凑合了。 可这种情况您就别在后台输出SQL语句啦, 每次一执行程序,成百上千个SQL语句在后台输出,  查数据库才用了一两秒,结果输出这些SQL就用了半分钟。 您自己就没觉出程序慢在哪里吗? 您调试程序的时候输出一下也就算了, 提交到正式运行的环境时,就麻烦您,劳您大驾~~ 把那些输出注释掉吧,实在不行留几个重要的输出就行了。 让这种代码影响系统性能~~ 也太冤了吧。

七, 打肿脸充胖子
我也不知道这条算不算恶习,也许不算,在有些人眼里还是好事。但也要看具体情况,经常有些人写代码不喜欢用IDE,只用EDITPLUS这类工具。按常理说,初学者都应该尽量用这些编辑器写代码,对加深学习印象有好处。也有人说高手不屑于用那些IDE,我少见多怪, 这种绝顶高手我没见过。
但咱平时工作的时候,要的是效率,您不是那种高手就乖乖的用IDE吧。经常见到有些人,为查一个方法的调用,搜来搜去的。真正的高手是工作效率最高的人,不是用最简单工具的人。

今天就写这么多, 大家还遇到过什么样的编程恶习,欢迎补充。
大家不要总是抱怨什么工资太少,工作量太大。工作效率这玩意儿是要经验来做基础,这没错,经验少也没事。咱平时写程序的时候多上点心,多对自己的代码思考一下,多动动脑子。自然就能总结出最好的工作经验了,工作效率自然就提高了。
也别总是说什么STRUTS不好,HIBERNATE太慢,不屑去用它。人家的程序能在全世界流行,自然有他的过人之处。多读读他的代码,学习一下他到底好在哪里,如何才能把这些优点应用到自己的代码上。这才是最重要的。
写出上面这些代码的人,如果你的工资真的很少,那我只能惋惜的说一句:你的工资是可怜了点,但看您写的这代码,连这点工资都不应该给你!!


感觉挺好笑,就贴过来了,希望大家不要认为这是火星贴..
第三条最有意思,
引用

数日之后有幸遇见了当初写这代码的老兄,问过之后立刻晕倒,原来是这个代码是参照别的模块的样子写的,别的模块在这里都有N个程序分支,通过if来判断后决定调用哪个model里的方法。但他这个模块很简单,没有什么分支,就是调用那一个方法,但他写代码时,看别人的模块在这里都进行if判断了,所以觉得自己也应该判断一下,于是就出现了上面这样的代码。
分享到:
评论
20 楼 风花雪月饼 2009-02-25  
geminiyellow 写道
lordhong 写道
liuyanttkl 写道
大哥  您写的真是有意思 小女子我太佩服你了。。。。。。

发现一美女程序员...

没权利投精华啊……
这贴,让我工作的时候开心了一把,因为我已经看了好多天 *K 行的代码了……
第二看到了PLMM……
第三看到了凸点果果……
第四居然发现凸点果果也有同好……
不精不行啊

这个是跨年贴。。。yellow小筒子。你要开跨年演唱会啊?
19 楼 geminiyellow 2009-02-25  
lordhong 写道
liuyanttkl 写道
大哥  您写的真是有意思 小女子我太佩服你了。。。。。。

发现一美女程序员...

没权利投精华啊……
这贴,让我工作的时候开心了一把,因为我已经看了好多天 *K 行的代码了……
第二看到了PLMM……
第三看到了凸点果果……
第四居然发现凸点果果也有同好……
不精不行啊
18 楼 eivenchan 2008-07-05  
引用
~_~
有注释是好。。。。
只是如果注释跟代码不一样就郁闷了。
此时只能有三种可能:
一:代码错了;
二:注释错了;
三:代码和注释都错了。


一语中的啊哥们....
17 楼 林杰杰 2008-07-05  
~_~
有注释是好。。。。
只是如果注释跟代码不一样就郁闷了。
此时只能有三种可能:
一:代码错了;
二:注释错了;
三:代码和注释都错了。
16 楼 lordhong 2008-07-05  
liuyanttkl 写道
大哥  您写的真是有意思 小女子我太佩服你了。。。。。。

发现一美女程序员...
15 楼 firefox_1983 2008-07-05  
我记得最开始是在csdn上看到的
14 楼 Eastsun 2008-07-04  
Javaeye的java板块貌似有过
13 楼 ioryioryzhan 2008-07-04  
对注释真是深有感触啊,
随便写两句也好啊,
真累死了
12 楼 ajoo 2008-03-07  
gigix 写道
引用
最BT的一段代码是缩进居然出了屏幕!!! 你吃饱了撑的呀, 没事缩那么远干吗, 我根据后台输出找了半天也没找到那段代码在哪儿, 原来是因为缩进的太远了,不在屏幕范围之内, 向右拉了半天滚动条才找到。 你丫是不是写着代码睡着了? 脸正好砸在TAB键上。

我最喜欢的是这个


同喜,同喜!
11 楼 comet12345678 2008-03-07  
代码就是最好的注释,当然,不能来大方法,一般一个方法不超过20行,根本没有必要写注释,业务逻辑看文档,不能从代码来理解业务逻辑吧
10 楼 xpdz 2008-03-07  
对于注释,我也不经常写,总觉得多余,代码就可以说明一切了
这个观点在老马的那本重构的书里得到印证
9 楼 rainlife 2008-03-06  
貌似在哪里看到过
8 楼 daquan198163 2008-03-06  
gigix 写道
引用
最BT的一段代码是缩进居然出了屏幕!!! 你吃饱了撑的呀, 没事缩那么远干吗, 我根据后台输出找了半天也没找到那段代码在哪儿, 原来是因为缩进的太远了,不在屏幕范围之内, 向右拉了半天滚动条才找到。 你丫是不是写着代码睡着了? 脸正好砸在TAB键上

我最喜欢的是这个

这太夸张了,我觉得更有可能是脑袋砸在空格键上了
7 楼 Somerset 2008-03-06  
我感觉这不光是习惯问题,也是能力问题,能力差的程序员,代码写多了就会出这些乱子。
6 楼 liuyanttkl 2008-03-06  
大哥  您写的真是有意思 小女子我太佩服你了。。。。。。
5 楼 jimmy_c 2008-03-06  
abjie1 写道
引用

         您实在太忙的话,不查也就算了,拼音就拼音吧,好赖也算是中国话的。 可是您就别用拼音简写了,英文简写还认不出来呢, 您还用拼音的开头字母当变量名,  那我TM上哪儿猜去呀!

看到这儿禁不住乐了。
4 楼 chengren 2008-03-06  
一看标题就知道是转小强的博客。。。
3 楼 bcccs 2008-03-05  
现在太阳系只有8大行星了。所以你是海王星
2 楼 gigix 2008-03-05  
引用
最BT的一段代码是缩进居然出了屏幕!!! 你吃饱了撑的呀, 没事缩那么远干吗, 我根据后台输出找了半天也没找到那段代码在哪儿, 原来是因为缩进的太远了,不在屏幕范围之内, 向右拉了半天滚动条才找到。 你丫是不是写着代码睡着了? 脸正好砸在TAB键上。

我最喜欢的是这个
1 楼 惊鸿逝水 2008-03-05  
不是火星帖,,,,只是……是土星。。。。

相关推荐

    品味c。抛弃c的恶习

    《品味C:抛弃C程序设计中的恶习》是一本对C语言编程有深刻洞察力的技术资料,它旨在帮助读者通过识别和改正错误来提高编程技能,对于任何希望精通C语言的读者来说,这都是一本宝贵的参考资料。

    恶习演讲稿 文本格式

    【标题】:“恶习演讲稿 文本格式” 【描述】:这篇演讲稿旨在揭示校园内的十大恶习,涉及的问题影响了学生的生活质量与学习环境。 【标签】:“校园恶习” 【部分内容】: 1. 宿舍游戏成瘾:一些同学沉迷于网络...

    品悟C——抛弃C程序设计中的谬误与恶习 高清(带详细目录)PDF

    全书分为上下两部:上部“形而下学”讨论C代码中常见的错误和编程恶习;下部“形而上学”讨论的是对C语言本身认识方面的常见误区。这些问题特别具有普遍性,很多错误不仅仅存在于初学者之中,即使是不专业的程序员...

    损害电脑的12大恶习

    虽然台式机相比笔记本来说更为坚固,但在电脑运行过程中,硬盘始终处于高速旋转状态。如果主机在使用过程中受到震动,尤其是持续性的轻微震动,将直接影响硬盘的稳定性,增加产生坏道的风险,最终导致硬盘故障。 ##...

    避免恶习教案.pdf

    因此,教育学生远离这些恶习成为了健康教育中不可或缺的一部分。 接着,教案详细阐述了这些不良习惯的具体危害。例如,吸烟不仅会引发肺癌、呼吸道疾病和心血管疾病,还会通过二手烟对周围人造成伤害,同时,吸烟还...

    经期健康六个恶习需知.pdf

    恶习之一是喜欢囤积卫生巾。许多女性为了方便,会一次性购买大量卫生巾存放在家中,尤其是存放在卫生间中。然而,这种做法会使得卫生巾易于过期或受潮,因为卫生巾是有使用期限的,过期后其无菌保障将大大降低。同时...

    让美女变丑的十大护肤恶习.pdf

    1. **护肤恶习一**:直接用手拍打紧肤水。这不仅无法达到二次清洁的效果,还可能导致紧肤水的浪费。正确的做法是用浸湿的化妆棉轻轻涂抹,以确保产品的有效利用和皮肤的卫生。 2. **护肤恶习二**:快速用力涂抹眼霜...

    歌唱发声的恶习.docx

    总的来说,歌唱发声的恶习主要与头部位置、身体放松程度、口腔与下巴协调、呼吸控制以及面部表情等多个方面有关。要克服这些不良习惯,歌手不仅需要有意识地进行自我调整,更应该在专业指导的帮助下,通过反复的练习...

    现代办公室的五大恶习.doc

    最后一个恶习是过度积极。虽然在工作中表现出积极主动的态度是受到鼓励的,但是过度的积极可能会带来反效果。在没有适当授权的情况下,过分介入他人的工作或讨论,可能会给人带来干扰他人的负面印象。保持专业界限,...

    一种减少机动车驾驶人交通恶习行为的监测报警设备的制作方法.docx

    随着机动车数量的不断增加,驾驶安全问题日益凸显,其中交通恶习行为是导致交通事故的重要因素之一。为了减少驾驶人交通恶习行为,确保道路安全,研究和开发有效的监测报警设备显得尤为重要。本文介绍了一种创新的...

    现代办公室的恶习排行.doc

    总结来说,改善这些办公室恶习需要个人进行自我反省,并设定清晰的目标。持续的自我提升和改进是提升个人职业形象、增进同事关系和推动职业生涯健康发展的关键。在办公室这个特殊的工作环境中,我们应当注重自我修养...

    unity 粗恶习

    Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于2D、...总之,养成良好的编程习惯和项目管理方法,是成为一名优秀的Unity开发者的重要步骤。在实践中不断反思和改进,才能避免“粗恶习”,提升开发效率和代码质量。

    现代办公室恶习前五名排行.doc

    其次,“情绪化工作”也是一项值得我们警惕的恶习。情绪波动是人之常情,但将个人情绪带入工作场所,则是不专业的表现。如果经常以个人情绪为借口来解释工作失误,这会使别人质疑你的成熟度和应对压力的能力。因此,...

    办公室健康恶习范文.doc

    办公室健康恶习范文.doc

    第讲常被我们忽视的礼仪恶习.pptx

    总结来说,礼仪不仅仅关乎形式,它在日常交往中起着至关重要的作用。通过学习和实践良好的礼仪习惯,我们可以更有效地与他人建立良好的人际关系,提升自身在社交场合的亲和力和专业形象。在财务管理等专业领域,良好...

    人要杜绝两个恶习.docx

    总的来说,个人层面的酗酒和商业层面的过度杠杆化,都是需要被严格杜绝的恶习。个人应通过理智控制,保持清醒的头脑和健康的生活方式;企业和投资者则需在经营和投资决策中保持理性,避免盲目扩张和过度借贷,确保...

    男性拥有的多种恶习.pptx

    本文将详细探讨男性可能拥有的多种恶习,及其对肠胃健康的潜在影响,并提出相应的生活改善建议。 首当其冲的不良习惯是“吃饭太快”。在现代社会的快节奏中,男性往往因为工作忙碌而匆忙进食,甚至在紧张的工作间隙...

    办公室恶习介绍范文.doc

    本文将列举一些常见的办公室恶习及其健康影响,并提供相应的改善建议。 首先,久坐不动是现代职场人最容易犯的错误之一。许多办公室工作需要长时间坐在电脑前,但长期保持同一姿势会导致血液循环不畅、肌肉紧张,...

    办公室的6大恶习.doc

    在这些看似无害的举动中,隐藏着6大恶习,它们不仅影响工作效率,还可能导致长期的健康问题。今天,就让我们详细分析这些不良习惯,并提供相应的改善建议。 首先,长时间穿高跟鞋是许多职场女性的日常装扮。然而,...

Global site tag (gtag.js) - Google Analytics