BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Venkat Subramaniam谈论日常软件开发的事实和谬误

| 作者 Srini Penchikala 关注 36 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2009年1月21日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

软件开发充满挑战,而且乐趣无穷,然而总有一些因素阻止团队成功完成IT项目。这些因素通常与工具和技术无关,是人阻碍了项目的成功。Venkat Subramaniam日前谈到日常软件开发的事实和谬误。他在最近的CodeMash 2009大会上作了一个主题演讲,谈及开发人员和项目经理为了保证项目成功应该注意哪些因素。

Venkat在主题演讲中提到下面这些软件开发的谬误:

更多的资金和时间可以解决我们的问题:

Venkat说,在开发项目时,清晰的“业务目标”非常重要。他给出的统计数据中提到:在项目中有64%实现的功能很少使用或是从未使用过;项目持续时间越长,成功的可能性就越小。他认为:软件开发人员要开发“有能力、有意义的软件(capable and relevant software)”。

大厂商提供的东西就一定好:

他质疑是否真的有必要用EJB(在某些情况下)让开发工作变得复杂和过于“重量级”。对于这个问题,开发人员应该承担一定的责任(因为使用EJB实现几乎所有的用例)。EJB的大规模采纳,厂商之间的技术竞争(而不是需求)有一定的原因。需求应该决定技术,而不是由技术决定需求。而且在创新出现之前就急着标准化,这样的发展方式不怎么样。RailsSpring类似框架的出现告诉我们:先创新再标准化,由社区而不是厂商驱动,确实可以产生实用、有意义的开发框架。 

我们进行离岸外包是因为可以节省资金:

Venkat谈到目前的离岸外包模型,并对其是否有效提出了质疑。他对比了另一种模型:公司在美国本土完成所有的工作,可是仍然不能成功。所以他提出下面这个问题:为什么让设计人员和开发人员远隔重洋,你就期待能得到不同的结果?很多公司使用离岸外包模型,是因为即使项目失败了,成本的开销却可以比以前少,也就是所谓的“Fail-for-Less”策略。他建议:项目经理应该雇佣聪明能干的开发人员,这些人应该有很强的自学能力,再给他们配备最好的开发工具,这些工具要能把握软件开发工作的本质,而不可华而不实。由精干的开发人员组成的小型团队,其效率要胜过水平低下的开发人员构成的大型团队。他强调:既然离岸外包已经不可逆转,我们就应该充分利用全世界范围内的人才。 

动态语言不安全:

他提到:Java是强类型语言,可如果编码时不小心,还是有可能得到ClassCastException,RubyGroovy也是这样。单靠强类型并不能改进代码质量。编译器有用,但是经常被过于看重,因为没有哪个编译器可以完全验证程序员的意图。他也推荐开发人员应该利用像Scala这样的全新动态语言。 

静态类型是保证代码清晰的关键:

Venkat说:有了纪律,开发人员不管使用哪种语言,都可以编写出易于阅读、理解和维护的代码。为了保证代码清晰易懂、易于维护,他建议使用下列实践:

  • 让方法和类的名称具有可描述性。
  • 编写短小的类和方法。
  • 让团队互动和交流。
  • 编写自动化单元测试。单元测试可以覆盖各种正常和异常的状况,它会强迫你用正确的方式设计。

他也提及单元测试在软件开发生命周期中的重要性。单元测试等同于实际使用的软件,可即使它这么好,很多程序员也都不太愿意用它。单元测试有助于提升代码的质量,如果代码可以测试,它的设计就是好的。在演讲的总结阶段,Venkat强调:要表示出软件的“意图”,这非常重要。

查看英文原文:Venkat Subramaniam on Facts and Fallacies of Everyday Software Development

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Venkat Subramaniam是"Practices of an Agile Developer"一书的作者 by 刘江 图灵

顺带广告一下,此书是Jolt获奖图书,即将由图灵公司出版。译者是Infoq的编辑。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT