成为Java开发禅师的7个技巧

日期:2015-11-30作者:Jan Stafford翻译:boxi来源:TechTarget中国 英文

【TechTarget中国原创】

在旧金山举行的JavaOne 2015上,Martijn Verburg抛开了他Diabolical Developer(魔鬼开发者)的身份,以禅师的面目出现,用比喻的方式向Java开发者介绍了相关的注意事项。他甚至衣着都跟身份很相衬,一条传统的黑色禅裤、衬衫和凉鞋。

Verburg ,总部位于伦敦的应用性能分析服务销售商jClarity的CEO,在取得同意的情况下调整了话题,从谈Qi在The Codeless Code网站写的东西(带插图的寓言),谈到了禅宗心印,以及软件开发的艺术和哲学。

Verburg告诉每一则寓言中,一位软件禅师就教给了他的学生,或者说和尚,一些软件开发的核心要素。很多时候,和尚靠苦修才能学到东西。一下就是禅道Java开发者可以吸取的一些经验教训:

1、名字命名要清晰。在这则寓言里,年轻的和尚发明了一门只有自己才会讲的部落寓语言。有新人加入他们时,这门语言就变得没用了。写面向对象的Java代码时,Java开发者正确地命名东西也很重要。要有描述性。

2、你是程序员。要自动化。在这则寓言里,两位年轻的和尚负责清理两个养锦鲤的池子,因为皇帝几天后要来参观。如果池子清理不干净,他们是要掉脑袋的。一位和尚弄了很多的工具,开始人工清理池子里面的杂草。另一位却坐在树底下,读一本HTML的书。第一位和尚废寝忘食连续工作了72小时。时间所剩无几了,池子还没清理干净,于是他哭着去找第二位和尚。第二个和尚站起来,借了一把铁锹,在每个池子跟附近一条清澈的溪流之间分别挖了一条沟渠。干净的水流进了池子,然后就变干净了。

Verburg说,在有自动化工具的时候,就不要靠开发你知道的工具。升级也许会带来一些短期的成本和阵痛,但自动化工具能够替将来省钱避免麻烦。给自动化找理由很容易,因为它是省钱机器。唯一的缺点是一些系统管理员会失去自己的工作。

3、寻找答案之路跟答案一样重要。在班上,一位出色的学生能够一下子就回答出复杂的问题。不过第二位学生,会把整个过程走一遍然后得出答案。禅师最重视哪一位呢?第二位和尚。

Verburg招聘时倾向于找面向过程的、勤奋的开发者。“我们招聘的时候会很小心,只招那些能够把过程走完,并就完成的事情跟团队沟通的开发者,”他说。软件开发是一项团队努力。即便是出色的开发者,那些不用经过很长的过程一下子就能跳到最后解决方案的人,也要能够把产生解决方案所需的步骤描述清楚。

4、整个系统都重要。和尚能够做出完美的木板,但他们从这则寓言中学到的是,木板并不能造出一座桥。

“我费了一番功夫才明白要更多地专注整个系统端到端的测试,整体性的系统测试,” Verburg说。开发者不能仅仅聚焦在应用或组件上,因为系统是相互依赖的。比方说,无法检查两个组件之间的活动的话就可能会弄错端口。然后系统管理员也就无法打开端口,开发者最后看起来会很糟糕。

5、代码尽可能少写,不要相信自己能写出完美的代码。两则相关的故事给出了有关完美主义的建议以及写出更好代码的办法。Java开发者会感到失望,因为别的开发者总是会搞坏他的代码—无论自己写多少代码,而另一位则会寻求写出完美的代码。这两种情况下,他们对现实的抵抗都是没有用的。完美代码并不存在。至于击败黑客,Verburg建议开发者可以通过尽可能少写代码来让损失最小化。

6、英雄早逝。软件开发的忍者手段会导致筋疲力尽,但许多组织仍然坚持这么做。他们会有一支“老虎”团队,出现失败的时候就会被召唤过来。“然后,拍拍你后背,表扬你用72小时不停歇的工作挽救了局面,”Verburg说:“如果你的组织是这么做的,那还是另谋高就吧。”

7、以身作则。Verburg回忆起未加管教的和尚,那位一而再再而三犯同样错误好多年的和尚。当他的老师向禅师抱怨时,禅师却指责老师没有以身作则。

不要光说“我是团队领袖,没有时间进行测试”这样的话,Verburg说。

最后,Verburg问观众是否倾向于自己写程序而不是用现有的。比方说,有没有写过自己的时间程序或领域相关语言?戒除这种习惯,他建议道:“如果有现成的解决方案,尤其是如果是开源的话,拿来用就是了,”他说。要拿过来用,即便需要调优,这样也能节省时间,然后更快更好地完成更多的项目。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SOA开发>更多

  • 故障注入注定要成为软件专业人士的必备技能

    尽管云改善了企业迅速发布高质量、高能力应用的能力,但专家警告说要小心这些应用会变得太复杂,难以进行人工测试。

  • 容器与微服务要“联姻” 你对它们够了解吗?

    在虚拟化和云计算领域,容器大概是发展最快、最广为令人兴奋的技术了,微服务则紧随其后。如果把这两大技术结合起来会碰撞出怎样的火花呢?

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

相关推荐

技术手册>更多

  • Ajax:Web开发的未来

    Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),结合了Java技术、XML以及JavaScript等编程技术,是指一种创建交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力。

  • 特别报道:BPM和SaaS

    现在大家都在谈论软件即服务,业务流程专业人士也不例外。在这份特别报告中,我们将调查BPM和SaaS的结合情况,这二者的结合提供了令人侧目的利益和意味深长的挑战。第一部分中,我们将探索BPM和SaaS结合过程中仍存在的问题和风险。第二部分中就如何成功结合两者提供一些专家建议。同时也包括:最新更新的流行建模工具、业务流程建模语言等内容,精彩不容错过!

  • SOA实现与交付指南

    随着SOA渐成IT潮流, 越来越多的SOA项目启动了。有些项目彻底失败了,有些项目则勉强成功了。为什么有些项目成功了,有些去失败了,最大的问题出在哪里?如何吸取这些失败项目的教训,并形成自己规划SOA路线图所需的远见与策略。同样的,我们又要如何判断SOA项目是否已经成功实现?这些将是未来SOA项目成功实现的关键。下面让我们来看看个中因由。

  • 预测分析指导手册

    电影《预见未来》中主演尼古拉斯·凯奇具有预测未来的能力。他能预见未来几秒中将会发生在他自己身上的事情,从而可以避开凶祸,改变自己的命运。如果我们在工作中也能有这样的一种能力,岂不快哉!但从某种意义上讲,预测分析技术就可以帮助我们做到这点。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算