阅读更多

12顶
1踩

研发管理

转载新闻 不良编程文化

2013-09-12 10:51 by 副主编 WnouM 评论(6) 有9684人浏览
“这代码真垃圾”,当我们翻查一些代码寻找一个特别讨厌的bug时,同事大声这样说。“是吗”,我回答到。



像这样的谴责,以及其它一些类似的话,在办公室里经常会听到,而且频率在增加。而最令人不安的是,这代码并不是特别的糟糕。我这话是什么意思?不能把它们写的更好吗?当然!大多数的代码都有改善的空间——只要有足够的时间和资源。垃圾代码确实有,我们都看得见,而且都是我们自己写的,但这并不是问题。

问题是我们有一个不良的“这代码真垃圾”文化

这是一种我感觉在web开发社区中越来越常见的文化。接着上面的例子,我请同事解释一下,解释为什么这代码很垃圾,我得不到一个直接的答复。

“这还不垃圾,你看这代码”,他回答说,那种趾高气扬我需要仰头才能看到他,紧邹的眉头就好象是说,如果不能看出这代码有多烂,那就是个傻子。结果你知道怎么着?我开始感觉有点傻了。我差点就忍不住开始跟着他一起嘲笑,认定这代码真的有多烂,多糟糕。

在我继续下面的内容之前,我发现上面的内容并没有在最好的光线下描绘我的同事。所以,让我弥补一下。他是个非常好的小伙。坦白的说,他是我见过的最和善的小伙之一。他友善,有一个他很爱的家庭,他跑马拉松,乐于助人,聪明,等等等等。还有一点要说明:他是一个经验不多的新手。他还在学一些基础的开发知识。这没什么好羞愧的,我们都经历过这个阶段。那么,为什么这样一个友善、聪明的小伙,在他参与的第一个大型web项目上,他的第一反应就是去指责一些代码很垃圾?——他甚至还没有真正的去理解它。

生活规律:垃圾往下倒

这个问题并不单独出现在程序员新手中。很多精明人士都有这习惯。你也许是一个奇才,一个久经考验的程序员,但如果有这样一种习惯,整个团队和项目都会受到负面影响。因为新手们把你当作知识和经验的源泉。越多的人拥抱这种“这代码真垃圾”文化,这种文化就会越被认可,越成为模仿的对象。很快,程序员开始变的不是积极在项目上出力,而是去贬低别人在项目上的贡献。最大嘴、最反面的程序员很快就成了最受尊敬的人。所有人都受折磨,项目受影响,而一部分人却能能得到赞美,为倒是都是垃圾而感到心满意足。

我们应该怎么做?

没有人想显得愚蠢,没有人想自己的工作被认为劣质。一旦“这代码真垃圾”文化开始传播,唯一能确保自己在别人之上的办法就是贬低别人。最终,这变成了一种负能量,而不是想着去解决问题。

那么,对这样的一种特殊现象有什么解决方法?阻止它。不要不加思索的否定别人的代码——在没有原因、没有理解的情况下。有很多的方式可以处理那些看起来有问题的代码。如果发现代码中有异味,想办法改进它。从理解这些代码开始,在此基础上修正。如果你发现项目中有一些不良风气,不要跟随。如果有人对你说“这代码真垃圾”,问他为什么,然后了解查明,去做一些事情让它变的不垃圾。向最初写这些代码的人了解,也许他们这样写代码是有原因的。帮助他们,而不是诋毁他们。

下一次,当我发现从显示器里飘出可疑的异味时,我会转身问我的同事,“我们如何改进这段它?”因为,我们要面对它们,有时候代码会很垃圾,但这不意味着我们也去变成垃圾。

英文原文:Code culture problem  /  译:外刊IT评论
  • 大小: 20.6 KB
来自: 外刊IT评论
12
1
评论 共 6 条 请登录后发表评论
6 楼 文仁126520 2013-09-16 11:59
不要不加思索的否定别人的代码,感觉不错啊!
5 楼 nhyjq 2013-09-16 08:33
freezingsky 写道
white_crucifix 写道
全部从CSDN搬过来的新闻没什么意思啊

感觉 没以前的好!改版后,应该说更适合于初学者。不过,但大多都可以通过google搜索到。。


你的意思是应该多转gooogle搜不到的新闻……
4 楼 white_crucifix 2013-09-13 14:06
恩,所以没什么意思麽…… 对我这种两边都会跑去看的人…… =,.=
3 楼 jamesidwardsun 2013-09-13 14:03
white_crucifix 写道
全部从CSDN搬过来的新闻没什么意思啊

iteye早就被csdn收购了,转发自己的新闻有什么关系呀
2 楼 freezingsky 2013-09-12 11:58
white_crucifix 写道
全部从CSDN搬过来的新闻没什么意思啊

感觉 没以前的好!改版后,应该说更适合于初学者。不过,但大多都可以通过google搜索到。。
1 楼 white_crucifix 2013-09-12 10:55
全部从CSDN搬过来的新闻没什么意思啊

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 计算机知识-编程语言对比

    Python 特点:面向对象、解释型 主要用途: 1. 图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。 2. 数学处理:NumPy扩展提供大量与许多标准数学库的接口...4. 数据库编程:程序员可通过遵循Python

  • 从教育角度看中文编程的未来

    其实, 友善的中文书籍和文档确实降低了许多开发者入门的门槛, 这里没有对英语的任何歧视, 突如其来的专业英文术语对入门开发者难免会有点消化不良, 缩写就更难受了. 我小时候的编程启蒙语言是易语言, 它在那时直到...

  • 膜拜大牛!编程猫java笔试题

    总结 一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。 这边给大家一个...

  • 中国人不稀罕的职业文化,日本人稀罕

    中国企业老板不太在乎企业文化价值观。我今天偏要讲讲文化价值观。 日本人有不少好的职业文化价值观,我给大家讲讲。 一、高效率:A3纸文化 甭管是写操作说明书,还是写汇报,只能使用一张A3...

  • 计算机文化与社会发展

    从远古到现在,人对计算的需求不断增长,工业革命的产生,使生产模式从原始的手工劳动型...而计算机文化又来源于计算机技术。因此,本文将会由计算机的发展历程开始,逐步向大家深入探析计算机文化与社会发展的关系。

  • Java程序员:java并发编程之美电子书

    总结 一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。 这边给大家一个...

  • 程序员必须克服的十大编程禁忌

    程序员在编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。这就是我们如何将小麦从糟糠中区别出来以及如何避免编程...

  • 为什么Java、Python会成为程序员最害怕的编程语言?

    这是 O'Reilly 发布的...最不受欢迎 / 最令人畏惧的编程语言有哪些?这些编程语言为什么令人畏惧?对它们的评价是否公正? 在 StackOverflow 的 2020 年度开发者调查中,有一张表格,显示的是“最受欢迎、最令人畏惧.

  • 每种情况的最佳编程语言

    最好的编程语言是什么? 但是同时,这是一个问题,我们每次启动项目或选择汽车时都会问自己。 当然,不同之处在于我们是在特定情况下问这个问题的。 我们希望针对我们所处的情况,了解适合我们的最佳编程语言。 ...

  • 程序猿必须克服的十大编程禁忌

    程序员在编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。这就是我们如何将小麦从糟糠中区别出来以及如何避免编程...

  • 真正的Netflix文化

    来源公众号:食物链顶端坊间有Netflix的PPT以及 帕蒂·麦考德的《奈飞文化手册》,但我深知真正的真相来自于它的官方网站。下面是奈飞官网关于Netflix Culture的原文网址:...

  • 编程每种语言有什么用_每种情况的最佳编程语言

    编程每种语言有什么用 有一个问题,很多人都认为提问者根本不理解该主题。 有些人甚至觉得它很生气。 问题的形式通常是什么是最佳X? 什么是最好的车? 最好的编程语言是什么? 但是同时,这是一个问题,我们每次...

  • 推进交通安全文化建设,首先要建立科学的理念

    导读:12月2日是第十个122“全国交通安全日”,以“守法规知礼让、安全文明出行”为主题活动正在全国各地火热开展。言究社也邀请到交通工程师郭敏从交通安全文化的角度来谈谈今年的主题。任何有意...

  • 亚马逊工程师论各种编程语言的优缺点

    但是对于你天天要做的编程工作,你应该基于以下条款选择你的语言:库,文档,工具支持,操作系统集成,资源,和一堆其他的东西。这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。 人们还在用很...

  • 关于小学生学习编程语言C++的经历经验分享,五问五答

    此消彼长,少儿编程呈现出越来越火的趋势。家长们或出于"跟紧时代发展趋势"的需求,或出于“为小升初加码"的需求,都前仆后继地跳坑了。 编程早在十几二十年前还属于挺高端的教育,可现在在一二线城市己越来越平民...

  • 2024年机器人大作业代码

    2024年机器人大作业代码

  • 学生信息管理系统,idea-mysql小项目,记录一下

    这是mysql文件直接导入就行了,可以查一下相关指令例如:mysql -u root -p mydb_copy < mydb.sql就好了,这里就不多赘述了

  • 搜索关键字飞入飞出效果.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 基于ssm的团员管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    管理员 管理员信息管理 学院管理 辅导员管理 学生信息管理 公告信息 辅导员 个人资料修改 团员信息管理 优秀团员管理 团费缴纳管理 团员活动管理(主题,内容,参与人数,日期) 团员活的报名 学生 个人资料修改 入团申请管理(提交申请,申请结果查看) 团员活动查看(只能查看,不能修改,活动报名) 团员活动报名 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics