`
uiiang
  • 浏览: 30265 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

项目管理PK编程恶习

阅读更多
第一次来javaeye建博客, 感受一下ruby做的论坛和blog. hahaha

前几天在我的blogjava上和CSDN上发过一个帖子: 说一说编程恶习.
http://community.csdn.net/Expert/topic/5091/5091887.xml
http://www.blogjava.net/uiiang/archive/2006/10/16/75502.html

几天的时间收到了很多网友的回复.
我发这个帖子时, 并不是想讨论技术问题, 也不是为了抱怨, 只是想以另一种方式, 来提醒一下编程的初学者, 和一些所谓"经验丰富"的老程序员. 因为我发现传统的写一篇编程规范的文档, 似乎并不能引起大家足够的重视. 垃圾代码仍然一出再出.

我在帖子中所说的问题, 也并不需要太多的技术经验和深厚的专业知识. 都是一些随手而来的小问题, 解决这些问题的方法只需要工作时认真负责, 多动动脑子就行了.

在帖子的回复中, 有几个回复让我很在意:
==================================================================
钱给的太少,能对付过去就完了
社会上什么行业不是这样,能对付就行了 。

要改变这种情况, 那还要上边有改变的想法,改善一下工作环境,等等。 。

老板们吃的是良心,拉的是思想

我们那么认真干啥
=====================================================================

我对这种说法非常的不赞同, 代码写的再差, 老板还是要赚他的钱, 该被剥削还是跑不了.
可如果把这个当成不认真工作的理由, 那就只能永远自己吃亏了.
如果总是这么不认真工作, 不养成良好的工作习惯, 自已思考的习惯, 那就永远不能进步
只能当一辈子代码民工, 一辈子给这种垃圾老板打工.

要明白一点, 好的编程习惯, 思考能力, 都是在平时工作当中, 一点一滴的积累起来的.
并不是当有人给了你一个好的工作环境后, 想变出来就能立刻变出来的.

老板对不起咱们是另一回事, 但自己是不是能对得起自己, 那就看你自己的想法了

态度决定一切
分享到:
评论
5 楼 BIGN 2006-10-30  
有的公司是把测试交给客户,
4 楼 ddd 2006-10-30  
肯定看过,应该是在本版吧
3 楼 together 2006-10-30  
发的不是地方,挪到海版吧。
你发到这里,我回一下也加两分,罪过罪过
2 楼 叶子 2006-10-30  
楼主的环境相对来说还是不错的


某些时候,8夸张的说,是连写注释的时间都没,测试都是交客户做的=___=...


现在想起来,那叫一把鼻涕一把泪.....唉...现在好不容易跳出那个乐色公司了....
1 楼 ITeye管理员 2006-10-30  
原文:

说一说编程恶习

         最近在做一个汽车销售系统的改善工作, 这个系统已经运行两年了, 两年来, 客户不断的提出新需求, 系统也在不断的改来改去。 这次轮到我来改它了。   想想 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 吧。经常见到有些人,为查一个方法的调用,搜来搜去的。真正的高手是工作效率最高的人,不是用最简单工具的人。


//20061019 start
        一些补充:

有些人提到用EDITPLUS的效率其实也很高, 这点我也承认. 但我想说明一下, 我所见到的用EDITPLUS那个人, 根本没有发挥出editplus应有的效率和功能. 在他的手里editplus只是一个多了颜色区分的记事本. 编译程序还是用javac , 也不会用ANT, 发布程序还是手工拷贝. 号称四年经验的程序员, 刚到公司时用了一天时间重装好电脑后, 写了一个打印hello world的程序测试环境. 结果不写static void main方法, 直接就要用java去运行. 运行不成功还说系统配置有问题, 需要再重装.  每次帮他调试程序, 想查一个方法的调用, 一个文件一个文件的搜, 看得我这个急...........     我的希望是不管用什么工具, 要让这个工具在自己的手里发挥出最大的作用来, 如果用editplus非常纯熟的话, 我也会很佩服那个人的, 而且会虚心的向他学习使用技巧

可他把时间全耽误在这上了, 这样的工作效率, 加班都是活该的
//20061019 end



    今天就写这么多, 大家还遇到过什么样的编程恶习,欢迎补充。

大家不要总是抱怨什么工资太少,工作量太大。工作效率这玩意儿是要经验来做基础,这没错,经验少也没事。咱平时写程序的时候多上点心,多对自己的代码思考一下,多动动脑子。自然就能总结出最好的工作经验了,工作效率自然就提高了。

也别总是说什么 STRUTS 不好, HIBERNATE 太慢,不屑去用它。人家的程序能在全世界流行,自然有他的过人之处。多读读他的代码,学习一下他到底好在哪里,如何才能把这些优点应用到自己的代码上。这才是最重要的。


也许咱们写不出什么高超的代码技巧,写不出什么华丽的算法,但如果能在一些习惯,细节上做到精益求精,那也对得起自己的代码了。


    写出上面这些代码的人,如果你的工资真的很少,那我只能惋惜的说一句:你的工资是可怜了点,但看您写的这代码,连这点工资都不应该给你!!

---------------

下次最好附原文。谢谢。

相关推荐

    品味c。抛弃c的恶习

    《品味C:抛弃C程序设计中的恶习》是薛非所著的一本专注于C语言编程中常见错误和编程陋习的书籍。C语言作为编程领域的经典入门语言,其重要性不言而喻。对于新手和有经验的程序员而言,理解和掌握C语言的正确用法对...

    恶习演讲稿 文本格式

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

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

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

    现代办公室恶习排行 管理资料.doc

    以下是对标题和描述中提到的五个办公室恶习的详细分析: 1. 偷懒:尽管偶尔的休息可以理解,但如果将偷懒变成常态,就会对你的职业生涯产生严重影响。频繁的偷懒会让上司怀疑你的工作态度和责任感,进而影响他们对...

    损害电脑的12大恶习

    在笔记本电脑的日常使用中,电池管理尤为重要。电池作为一种消耗品,其寿命通常在1-3年之间,但正确的使用习惯可以显著延长其使用寿命。一个常见的错误做法是在笔记本电脑使用过程中始终保持电池连接,即不从笔记本...

    unity 粗恶习

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

    避免恶习教案.pdf

    3. 自我防御机制的建立:教育学生理解并认识到恶习的危害,目的是帮助他们建立抵御恶习的心理品质,养成良好的生活习惯。这涉及到自主学习、探究学习和合作学习的培养,通过实例和数据强化认知,提升学生的自我保护...

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

    以下是六个常见的经期卫生恶习及相应的改善措施: 恶习一:喜欢囤积卫生巾。很多女性会大量购买卫生巾并储存在卫生间,但这可能导致卫生巾过期或受潮。卫生巾有使用期限,过期后无菌保障降低,潮湿环境下更易滋生...

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

    【标题】:“让美女变丑的十大护肤恶习”揭示了日常护肤中常见的错误做法,这些习惯可能导致皮肤问题,如干燥、细纹、敏感、色素沉着等。以下是这些护肤恶习的详细分析: 1. **护肤恶习一**:直接用手拍打紧肤水。...

    办公室健康恶习范文.doc

    办公室健康恶习范文.doc

    SmartParents观念恶习大扫除.doc

    SmartParents观念恶习大扫除.doc

    驾车避免六大恶习.docx

    驾车避免六大恶习.docx

    歌唱发声的恶习.docx

    总结来说,歌唱发声的恶习主要涉及头部位置、身体放松、口腔与下巴的协调、呼吸控制以及表情管理。克服这些习惯需要歌手有意识地进行自我调整,结合专业指导,通过反复练习来培养正确的歌唱习惯,从而提高声音的质量...

    文明之花恶习之果.doc

    文明之花恶习之果.doc

    男性拥有的多种恶习.pptx

    标题和描述中提到的“男性拥有的多种恶习”主要关注的是男性健康,特别是与肠胃健康相关的不良生活习惯。以下是对这些恶习的详细说明及其对肠胃健康的潜在影响: 1. **吃饭太快**:男性常常因为忙碌而快速进食,这...

    学生学习的十大恶习.doc

    设定每日学习任务量,比如阅读几页书、完成一定数量的练习题,可以帮助学生更好地管理时间,提高学习效率。 4. 学习马马虎虎:敷衍了事的态度不利于知识的吸收和理解。对待学习要认真严谨,遇到问题及时思考,培养...

    损害笔记本电脑的十二大恶习最终版.pdf

    损害笔记本电脑的十二大恶习最终版.pdf

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

    然而,有些习惯可能被视为恶习,不仅影响个人形象,还可能对团队协作和工作效率产生负面影响。以下是根据提供的文档内容归纳出的现代办公室恶习前五名: 1. 偷懒成瘾:在工作中适度放松是必要的,但过度的偷懒会让...

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

    以下是对"现代办公室的五大恶习"的详细解析: 1. **过度偷懒**:在工作中适度休息是必要的,但长期的偷懒不仅会降低工作效率,还可能引发上级的不满。如果你频繁地逃避职责,你的职业前景可能会受到严重影响。要...

Global site tag (gtag.js) - Google Analytics