[转帖]Java程序员应该遵循的10条戒律_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2479 | 回复: 0   主题: [转帖]Java程序员应该遵循的10条戒律        下一篇 
    本主题由 koei 于 2014-5-2 16:22:10 移动
lengyuLee
注册用户
等级:少校
经验:1118
发帖:83
精华:5
注册:2013-3-7
状态:离线
发送短消息息给lengyuLee 加好友    发送短消息息给lengyuLee 发消息
发表于: IP:您无权察看 2013-3-12 12:35:26 | [全部帖] [楼主帖] 楼主

Java程序员有许多应遵循的守则或最佳实践方式。本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果。

北京联动北方科技有限公司

  1:为代码添加注释。每个人都知道这一点,但不是每个人都会这么做。你有多少次“忘记”添加注释了?确实,注释
不会为你的程序增加任何函数功能。但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?你很幸运,那些未注释的代码是你自己写的,你脑海中还会
有残存的印象。非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此
(还有你自己),给你的代码加上注释。

  2:不要把简单事情复杂化。我曾经这么做过,我相信你也一样。开发者都倾向于采用复杂方式解决简单问题。我们在
一个只有5个用户的系统中引入EJB,为一个并不需要框架的应用实现一套框架,采用属性文件、采用面向对象解决方案、使用线程,而这些根本用不着。为什么
会这么做?一些人可能不知道有更好的解决方案,但另一些人可能故意这样做来学习新知识,或仅仅是因为有趣。对那些不知道更好解决方案的人,要多听有经验程
序员的建议。对于那些纯粹出于个人目的而将设计复杂化的人,我建议你要更加专业一点。

  3:记住“越少越好”并非总是如此。高效率的代码是件好事,但很多情况下,并非代码行数越少效率就越高。

  4:不要“硬编码"。由于时间紧迫,开发者总是会忘记或故意忽略这一条。然而另一种可能是,遵循这条戒律,我们就不会陷入“时间紧迫”的困境。定义一个static final 变量,增加一行代码,又能花多长时间呢?

  5:不要发明你自己的框架。不夸张地讲,已经有几千个框架存在了,大多数还是开源的。很多框架都是极完美的解决
方案,并已被用到成千的系统中。我们只要关注最新的流行的框架,至少表面上要熟悉一下。一个最成功的、也是被广泛使用的例子是Struts框架,这个开源
的web框架是建立web系统的极佳选择,不要试图构造你自己的Struts版本,会累死的。但你必须记住第2条(译注:原文是“第3条”,显然不对)戒
律 —— 
不要把简单事情复杂化。如果你要开发的系统只有3个界面,就不要用Struts:对于这样一个系统,没有足够的需要被“控制”的东西(Struts将界面
做MVC划分,C即controller,所以作者说there isn't much "controlling" required)。

  6:对Print行或字符串说不。我知道为了调试方便,程序员喜欢到处用System.out.println
 ,然后对自己说过一会就删掉。但我们常常忘记删掉这些行或不愿删掉,我们用System.out.println 
做测试,为什么测完后还要去改代码?这很可能导致误删一行我们需要的代码。不要低估System.out.println 的危害。

  7:注意图形用户界面。无论听上去多荒谬,但有一点我注意过多次了:图形用户界面(GUI)对于商业用户而言与
程序功能及执行效率一样重要。GUI对于应用程序的成功至关重要。 IT管理者(这里是指程序开发方的IT 
management)常常忽略GUI的重要性,很多公司为了省钱而不雇佣web设计人员,而这些设计人员有足够的经验来设计“用户友好”的应用软件。 
Java程序员不得不依赖他们有限的HMTL知识。我见过非常多对“计算机友好”而非对“用户友好”的应用程序,同时精通软件开发和用户界面开发的开发者
非常少见。 如果你是一位不幸被指派做界面开发的Java程序员,你要遵循下面3条规则:

  1)不要重新发明轮子。去看那些类似应用系统的界面。

  2)首先建立一个原型。这一步非常关键。客户喜欢提前看到他们要用的东西。同样你可以得到他们的反馈,而不是你辛辛苦苦做出来一个客户不喜欢的东西。

  3)试戴用户的帽子。换句话说,站在用户的角度查看需求。譬如,一个统计的界面可以分页,也可以不分页。作为开发者,很可能会忽略分页,因为这会减少很多麻烦;而站在客户角度,这就不是一个好的方案,因为数据可能多达几百行。

  8:提前准备需求文档。每项业务需求都记入文档。这在童话故事中可能实现,而现实中很难做到。无论时间多么紧迫,无论截止日期如何迫近,你必须确保业务需求被记录下来。(这条明显悖于敏捷开发的观念,大家要独立思考,甄别是非)

  9:单元测试,单元测试,单元测试。我不准备讨论如何单元测试的细节,我只是想说这必须要做。这是编程中最基本的规则了,尤其不能忽略。如果你同事能为你的代码创建一个测试计划,那就再好不过了;如果不能,那就要自己做。做单元测试计划时,遵循下面原则:

  1)编码前就写单元测试

  2)保留单元测试的注释

  3)对任何“有趣的”公共方法都要做单元测试(“有趣的”是指除了像最常见的getter/setter这类方法外的方法,但包含有自己内容的getter/setter 方法)

  10:记住:质量,而非数量。不要待的太晚(除非有必要)。有时因为产品问题,截止期限或其他突发事件,不能按时下班。但经理不会因为你为一般问题待的太晚而感激或奖励你;他们会为有质量的工作而感激你。如果你遵循上面的列的原则,你就会写更健壮的、少bug的程序。这才是你最应该做的。

该贴由koei转至本版2014-5-2 16:22:10




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论