十种更好的表达“你的代码写的很烂”的方法

oschina
 oschina
发布于 2013年11月18日
收藏 68

如果你有一个同事,他写的程序与其说是代码,不如说更像希腊神话中女妖美杜莎的头发,你当然不能熟视无睹,你应该做出一些反应,但你可选的合适的反 应方式并没有多少:自己默默的帮他整理清楚、向上级抱怨、向其他同事背后唠叨此事、闷在心里直到憋不住,或者这最大胆的方法:走上去直接对烂程序员说他的 代码很烂。

working1

事实上,这最大胆的方法其实也是最好的方法。大多时候,你可以做的巧妙些,从而避免由此引起的感情伤害或引发咆哮比赛。就像一句古话:只要方式正确,你可以向一个人说任何话。

当然,找到这正确的方式并不是轻而易举的事情。为了方法大家行事,下面是10种让你的表达更具技巧性的好方法。

  • 开门见山:告诉他你看不懂他写的代码,并追加一些像这样的话:“我需要你帮我理解这块代码”——这是“硅谷iOS程序员研讨会”组织者、软件程序员Tim Burks的话。
  • 推心置腹:约他出去喝两瓶啤酒,麻痹他的抵抗情绪,先从讨论编码风格说起。你会发现,他之所以这样写代码是因为这样他很方便——而不是方便开发团队。通过讨论代码不仅仅是人和机器交流的工具,更重要的是通过代码的人和人的交流,你可以让他用一种全新的思维来认识代码。
  • 高山仰止:如果你的同事敬重你,想必他也会敬仰或效仿你所敬仰的著名程序员。所以,跟他讲那些杰出程序员的故事。或者向他转述Burks的观察所得:杰出的程序员总能把自己的编码风格融入到他人的风格中。
  • 一针见血:Adobe System研究实验室的领袖人物Tom Jacobs说,“为了格式而格式化代码毫无意义,但将调整代码格式作为重构工作的一部分,增加新功能、修改bug工作的一部分,那是很正常的,因为这样做本质的增加了代码的质量。”
  • 反馈问题,而不是批评:心理学家Leon Seltzer在“当代心理学”上的一篇博客中说,“人们更喜欢接受反馈信息而不是批评——即使是负面反馈”。所以,以反馈问题的形式诉说问题。
  • 以后改进:不要苛求当前的工作,而是要求日后对此改进提高。按这种思路,你可以说:“嗨,下一次,如果你能把每个方法的行数减到10行以下,那会更好。”这比说“你的代码一塌糊涂”要中听的多。
  • 糖衣炮弹:封装你的批评,在表达“你的代码很烂”的意思前和后先恭维一番。
  • 偷换概念:如果交谈中总是说你、你、你,这很容易引起敌意,就好象你在指控罪名。所以,不如换种方式,与其说“每次都让我为你写的代码擦屁股”,不如说“有时候我真感到很沮丧,因为需要重你的代码。”
  • 引蛇出洞:这种办法稍微有些麻烦,但不失为一种以守为攻的好办法。组织一些编程大赛之类的活动。如果顺利的话,它能引出一场安全的、没有猜疑的关于如何提高你的同事的代码质量的讨论。

还有其它对付这些写烂代码的人的好办法吗?请分享出来,留在下面的评论里。

[英文原文:10 Nice Ways to Say ‘Your Code Sucks’ ]

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:十种更好的表达“你的代码写的很烂”的方法
加载中

最新评论(27

kennedy
kennedy

引用来自“ddatsh”的评论

引用来自“王政”的评论

扣工资!

走人

就怕这样的
jstzsjw
jstzsjw
让他自己调试。
easytzb
easytzb
只要方式正确,你可以向一个人说任何话
猎户座
猎户座

引用来自“万老湿”的评论

引用来自“猎户座”的评论

写文档。。调用什么接口。有什么后果,有什么必要逻辑,全部文档说明。文档未写明的一律要求加上说明。。果断屏蔽了各种扯不清的问题,也明确责任

如果你的老板并不愿意花资源在文档上呢?

这个更简单,出问题,我不负责。。
过马路的蚂蚁
过马路的蚂蚁
留着备用。。。
张乐1024
张乐1024
介个,其实我自己写的代码就很烂,然后还说别人代码烂,哈哈哈!
ThinkingH
ThinkingH
咱们是不是封装一下会更好呢?
有初啊
有初啊
小编你又耍流氓了, 没事总要碰人家G点做什么?!
朝半仙
朝半仙

引用来自“中山野鬼”的评论

引用来自“万老湿”的评论

委婉和直接的方法都试过,除了将其驱逐出团队的方法都试过了,人家油盐不进,我该怎么办呢?

哈,遇到过。只有不合作。。。

说实话,我是进度和质量都没法保障了
朝半仙
朝半仙

引用来自“猎户座”的评论

写文档。。调用什么接口。有什么后果,有什么必要逻辑,全部文档说明。文档未写明的一律要求加上说明。。果断屏蔽了各种扯不清的问题,也明确责任

如果你的老板并不愿意花资源在文档上呢?
返回顶部
顶部