技术开发 频道

十五种糟糕方式让编程生产力跌入谷底

  5. “稍后修复”心态,或者叫“技术债务”

  在项目开发工作当中,没有一天或者没有任何一个阶段能真正为我们提供充裕的时间——需要创建的内容总是多到几乎无法承受。在这样的状况下,我们往往会偷工减料、提供代码补丁并利用这种“虚拟胶带”到处修修补补。睿智的管理者会在对项目进行精密审查后将这些工作称为“技术债务”,而“债务”当然是需要偿还的。即使对编码工作一无所知,他们还是能够弄清“债务”的概念与影响。

  每个项目当中都会存在一定的技术债务。有时候我们能快速加以解决,但大多数情况下这些债务会在继任者接手后才开始捣乱,迫使他们面对大量意料之外的难题。只有搞定这些遗留问题,项目才能真正顺畅运作——这有点像国债,只不过规模没那么庞大。

  6. 不懂技术的管理者

  大家在公司里肯定经常见到这样的家伙,他们热情、积极、面带微笑,能够在各个方面表现出友善的态度——除了与编程项目相关的计算机科学。也许他们是靠裙带关系爬上来的,或者是在正确的时间出现在了正确的地方,总之老板让他们当经理、负责技术事务——即使这帮人连自己的黑莓手机都找不着。

  某些程序员喜欢这样的顶头上司,因为他们很容易会能被糊弄过去。如果大家告诉他们Johnson DB没能取得巨大成功,他们往往会信以为真并在公司里到处传播这个“不幸”的消息——这样公司高层就会出现收拾这帮外行了。还有些人发现这类管理者总爱召集会议并妨碍程序员的正常工作。他们几乎拿不出什么指导建议,最出色的发挥也就是些略有实效的质量测试。

  7. 懂技术的管理者

  虽然程序员们可能无法忍受与不懂技术的管理者正面交流,但当顶头上司变成真正的技术大牛时,情况也许会更糟。

  这些曾经的技术天才们可能会从微观层面着手项目管理,并把整体代码拆分成一个个零散的部分——理由?因为他们有着自己的见解。再有,他们可能会喋喋不休于如何通过一半的代码行数来完成同样的任务,并大谈他们当初在8080、C或者Java编程领域的辉煌历史。无论如何,他们往往更关注技术细节而非宏观形势,虽然后者才是他们的首要任务。

  8. 简单粗暴的程序员

  程序员们也承认,有些问题确实应该归咎于他们自己。

  程序员们往往不擅长沟通,也不太关注其他人的感受或者对自己的行为加以反省。他们对技术问题的纠结程度就像紧盯着骨头的狗。客户们想要什么并不重要;程序员团队本身就会因为设计思路分歧而吵得不可开交。

  程序员往往会忽略掉不同合作者的个性与特质,但如果一个团队中的开发者全都过于温顺、项目也会陷入失败。两个人之间存在不同观点非常正常,例如同一个团队也可能会在动态语言和NoSQL之间僵持不下。最终程序员只能以投票的形式解决这类难题——但这并不能从根本上化解危机。团队内部的冲突就像一场百年战争,成员们不是正在争吵就是走在通往争吵的路上。

  9. 特立独行的程序员

  从他的代码里找到了为空指针?别想让他认错,我们只能自己动手修改。再有,大家最好在输入数字0之前认真检查几遍,因为这类程序员绝对不会检查代码中是否存在除以0这类错误。对,这全都是我们自己的工作。

  特立独行的程序员看起来很酷、做起工作也是迅如闪电,但这只是因为他们会把大量漏洞和测试任务留给其他同事。只有帮他们认真做好善后、他们的成果才不至于让系统陷入崩溃。

  很多团队在发现这种状况时都已经为时过晚。代码块在早期测试当中运行良好,但在向其中导入真实数据后,每个人都发现其实程序根本没有经过认真检查。

0
相关文章