日期:2014-05-17 浏览次数:20834 次
有许多标准和实践准则可适用于Java开发者,但此处要说的,是每个Java开发者需坚守的基本原则。
一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对 程序的功能没什么“贡献”,但过一段时间,比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人 的,那还算是走运了,不幸的是,当然了,大多数时候都是别人的不幸,很多时候大家都是在为公司写代码,写代码的人也许早已经离开了公司,但别忘了一句古 话,有来有往嘛,为他人,也为我们自己,请为你的代码加上注释。
二、不要让事情复杂化。程序员有时候总是对简单问题想出复杂的解决方案,比如说,在只有五个用户的程序中引 入EJB、对程序实现了并不需要的框架(framework),之类的还有属性文件、面向对象解决方案、多线程等等。为什么要这样做呢?也许我们并不知道 是否这样会更好,但这样做也许可以学到一些新东西,或者让自己更感兴趣一些。如果是不知道为什么这样做,建议多请教经验丰富的程序员,如果是为了个人的目 的,麻烦让自己更专业一点。
三、始终牢记——“少即是好(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和两个花括号,但代码的可读性与可理解性就一下子提高了一大截。
四、请不要硬编码。开发者经常有意“忘记”或忽略掉这点,因为有些时候开发日程逼得实在太紧。其实,多写一行定义静态变量的代码能花多少时间呢?
public?class?A?{? public?static?final?String?S_CONSTANT_ABC?=?"ABC";? public?boolean?methodA(String?sParam1) {? |