设为首页收藏本站

泰安论坛

 找回密码
 注册会员

QQ登录

只需一步,快速开始

快捷登录

搜索
显示全部楼层 收藏
查看: 1863|回复: 0

Java开发人员的五大戒律

[复制链接]
 

发帖IP:中国山东青岛

693

帖子

0

威望

2611

银币

九品芝麻官

Rank: 9Rank: 9Rank: 9

 楼主| 发表于 18-03-30 15:56 | 显示全部楼层 |阅读模式 | 来自山东
对Java开发者来说,有许多的标准和最佳实践。本文列举了每一个开发人员必须遵从的五大基本法则;如果有了可以遵从的规则而不遵从,那么将导致的是十分悲惨的结局。
1. 在你的代码里加入注释
每个人都知道这点,但不知何故忘记了遵守。算一算有多少次你“忘记”了添加注释?这是事实:注释对程序在功能上没有实质的贡献。但是,你需要一次又一次的回到你两个礼拜之前写的代码上来,可能一辈子都是这样,你一定记不住这些代码为什么会这样。如果这些代码是你的,你还比较的幸运。因为它有可能让你回忆起。但是不幸的是,很多时间,这些代码是别人的,而且很有可能他已经离开了公司。
2. 不要让事情复杂化
我以前就这么干过,而且我相信所有的人都这么干过。开发人员常常为一个简单的问题而提出一个解决方案。我们为仅仅只有5个用户的应用而引入EJBs。我们为一个应用使用框架而它根本不需要。我们加入属性文件,面向对象的解决方案,和线程到应用中,但是它根本不需要这些。为什么我们这样做?我们中的一些人是因为不知道怎么做更好,但是还有一些人这样做的目的是为了学习新的知识,从而使得这个应用对于我们自己来说做得比较有趣。
3. 牢牢记住——“少即是多(less is more)”并不永远是好的
代码的效率是一伟大的事情,但是在很多情况下,写更少的代码行并不能提高该代码的效率。请让我向你展示一个简单的例子。
if(newStatusCode.equals("SD") && (sellOffDate == null | | todayDate.compareTo(sellOffDate) <0 | | (lastUsedDate != null && todayDate.compareTo(lastUsedDate)>0)) | | (newStatusCode.equals("OBS") && (OBSDate == null | | todayDate.compareTo(OBSDate) <0))){ newStatusCode = "NYP";}我想问一句:说出上面的那段代码的 if条件想干什么容易吗?现在,我们再来假设无论是谁写出这段代码,而没有遵从第一条规则——在你的代码里加入注释。
如果我们把这个条件分到两个独立的if陈述句中,难道不是更简单一些吗?现在,考虑下面的修正代码:
if(newStatusCode.equals("SD") && (sellOffDate == null | | todayDate.compareTo(sellOffDate) <0 | | (lastUsedDate != null && todayDate.compareTo(lastUsedDate)>0))){ newStatusCode = "NYP";}else if(newStatusCode.equals("OBS") && (OBSDate == null | | todayDate.compareTo(OBSDate) <0)){ newStatusCode = "NYP";}难道它不是有了更好的可读性?是的,我们重复了陈述条件。是的,我们多出了一个多余的“IF”和两对多余的括弧。但是代码有了更好的可读性和可理解性。
4. 请不要有硬代码
开发人员常常有意识的忘记或者忽视这条规则,原因是我们,和一般时候一样,在赶时间。如果我们遵从这条规则,我们可能会赶不上进度。我们可能不能结束我们的当前状态。但是写一条额外的定义静态常量的代码行又能花费我们多少时间呢?
这里有一个例子。
public class A { public static final String S_CONSTANT_ABC = "ABC"; public boolean methodA (String sParam1){ if(A.S_CONSTANT_ABC.equalsIgnoreCase (sParam1)){ return true; } return false; } }现在,每一次我们需要和某一些变量比较字符串 “ABC”的时候,我们只需要引用S_CONSTANT_ABC,而不是记住实际的代码是什么。它还有一个好处是:更加容易在一个地方修改常量,而不是在所有的代码中寻找这个代码。
5. 不要发明你自己的frameworks
已经推出了几千种frameworks,而且它们中的大多数是开源的。这些frameworks中间有很多是极好的解决方案,被应用到成千上万的应用中。你们需要跟上这些新frameworks的步伐,最起码是肤浅的。在这些极好的、应用广泛的frameworks中间,一个最好的、最直接的例子是 Struts。在你所能想象到的frameworks中,这个开源的web frameworks对于基于web的应用是一个完美的候选者。但是你必须记住第二条规则——不要让事情复杂化。如果你开发的应用只有三个页面—请,不要使用Struts,对于这样一个应用,没有什么“控制”请求的。
【关键词:青岛java培训机构,java就业培训中心,java培训费用,java培训哪家好,中享思途】
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则