海选文章:5 不良编程文化

据说在每一个电信公司里,都有一个扫地的老太太. 很偶然地,当她经过一个设计员的身边,扫一眼屏幕上的图纸,会低声提醒对方说:小心,板位插出了.

wtf-this-is-shit-en-000000-800x450.jpg(JPEG 图像,800x450 像素)

WTF!

"这代码真垃圾",当我们翻查一些代码寻找一个特别讨厌的bug时,同事大声这样说. “是吗”,我回答到.

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

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

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

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

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

生活规律:垃圾往下倒.

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

我们应该怎么做?

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

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

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

[英文原文:Code culture problem ]

是也乎

先向大家伙儿, 报个迟到的歉, 昨天原本有 珠的自白 的, 但是,邻近放假, 没有哪头大妈有空向俺表白, 所以,先开天窗, 再致歉了…

然后:

  • 图样图森破!
  • 好似,当年 qq 无意间,发动了点亮所有服务 icon 运动之后不久
  • 就被广大小伙伴们,发明了 灭掉所有 icon 游戏,给破了!
  • 说明,环境对小伙伴的影响有多深,以及环境本身是有生命的,会自我进化出各种反意愿的文化的!
  • 所以, 在一个组织里,如果没有任何倾向令代码变好的制度/文化支持, 个人对代码改良的行为, 除了造成对周围人的困扰,以及拉低自个儿的KPI 指数之外,不会对项目有任何正能量影响的…

但是!

  • 在开源工程,或是自个儿的小工程中
  • 主动的训练自己,不断的探索代码优化的技巧/方法/模式/框架…
  • 最后,先让自个儿的生产效率无限提高
  • 进而,自然的不用思考就能写出易读/好维护/简洁/明快 的代码来
  • 那么,对于 WTF 式的代码,嘦没影响工程的运行, 放手吧…

[11.17] PyCon2013CHina 珠海场

  • Python 年度大会
  • Pythonner 大趴
  • Pythonista 相亲集会
  • Pythonic 体验交流

请及时举报你身边的 华蠎行者! 举报热线: zoomquiet+pycon (AT) gmail.com

巡阅

2013-09-27  

声明: 本文采用 BY-NC-SA 授权。转载请注明转自: #ZHGDG#


以上...


加入 珠海GDG

  1. 注册 Meetup
  2. 关注 Zhuhai GDG
  3. 或扫描: 2meetup

通过 珠海GDG 可以:

    第一时间获知谷歌最新技术,
    可以学到如何去谷歌平台上赚钱的思路和方法,
    可以认识很多有可能将来一起走上自己创业道路的人,
    可以学会把你的创新带向国际市场,
    参加那里的活动有经常和国际上的开发者们进行交流的机会...

PS:

若无意外,题图都是从原文提取或是通过 Google 图片搜索出来的, 版权属左, 不负责任 ;-)

PPS:

珠海GDG 微信/Blog 欢迎投稿,只要追自认内容吻合以下条件:

0. 有趣 ~ 至少是自个儿有兴趣的领域吧...
1. 有料 ~ 至少有点儿原创的东西吧..
2. 有种 ~ 至少不能是成功学吧!

有好物请及时通过邮件列表投稿成也: [email protected]
(发空邮件到 [email protected] 即完成订阅)

微信公号

栏目设定:

    G术图书 (gb:推荐好书,书无中外)
    D码点评 (dd:麻辣评点,善意满盈)
    G说公论 (gt:时评杂文,新旧不拘)
    珠的自白(dm:大妈自述,每周一篇)
    海选文章(hd:得要相信,大妈法眼)

总之, 请大家告诉大家, 珠海生活中的技术社区 都来订阅呗 ;-)

订阅方法

hacker emblem

GDG珠海 社区资源:

大妈的多重宇宙 - YouTube

全新自媒体系列...科学幻想,读书,说故事...

任何问题

随时邮件提问可也:
[email protected]