揭秘Java开发人员必须遵从的十大法则(2)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析PHP绘制3D图形之自定义图形及矢量图
上一篇进行了一些简单3D图形实例,本篇介绍自定义及矢量图实例。首先绘制一个三尖角星体,分别由前面,后面和三个侧面组成。 自定义多边形 代码: 以下为引用的内容: ?phprequire_once ( 'Image/3D.php' ) ; $image = new Image_3D () ; $image - setColor

 

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,对于这样一个应用,没有什么“控制”请求的。

6.不要打印行和字符串相加

我知道,为了调试的目的,开发人员喜欢在每一个我们认为适合的地方添加System.out.println,而且我们会对我们自己说,会在以后删掉这些代码的。但是我们常常忘掉删去这些代码行,或者我们根本就不想删掉它们。我们使用System.out.println来测试,当我们测试完成以后,为什么我们还能接触到它们呢?我们可能删掉一行我们实际需要的代码,仅仅是因为你低估了System.out.println所带来的伤害,考虑下面的代码:

以下为引用的内容:
public class BadCode
 
  { public static void calculationWithPrint()

    { double someValue = 0D;

        for (int i = 0; i < 10000; i++)
 
        { System.out.println(someValue = someValue + i);

         }

         public static void calculationWithOutPrint()

         { double someValue = 0D;for (int i = 0; i < 10000; i++)

         { someValue = someValue + i;

         }

         }

         public static void main(String [] n)

         { BadCode.calculationWithPrint();

           BadCode.calculationWithOutPrint();

         }

在下面的表格中,你能够看到calculationWithOutPrint()方法的运行花了0.001204秒。相比较而言,运行calculationWithPrint()方法花了令人惊讶的10.52秒。

(如果你不知道怎么得到一个像这样的表格,请参阅我的文章“Java Profiling with WSAD” Java Profiling with WSAD)

避免这样一个CPU浪费的最好方法是引入一个包装器方法,就象下面这样

以下为引用的内容:
public class BadCode {

    public static final int DEBUG_MODE = 1;

    public static final int PRODUCTION_MODE = 2;

    public static void calculationWithPrint(int logMode){

    double someValue = 0D;

    for (int i = 0; i < 10000; i++) {

    someValue = someValue + i;

    myPrintMethod(logMode, someValue);

    }

    }

    public static void myPrintMethod(int logMode, double value) {

    if (logMode > BadCode.DEBUG_MODE) {             return; }

    System.out.println(value);

    }

    public static void main(String [] n) {

    BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);

    }

    }

在下面的图中,你将看到,使用了StringBuffer的那个方法只花了0.01秒来执行,而那个使用了字符串相加的方法却花了0.08秒来运行。选择是显而易见的。

 

 

分享:解析PHP编写的25个游戏脚本
PHP是一种易于使用、易于学习且可以广泛获取的编程语言。它非常适合开发在各种游戏中可以使用的简单脚本。无论是一个人玩简单的使用纸和笔的游戏,还是同一群人玩复杂的桌面角色扮演游戏,或者任意类型的联机游戏,本系列都提供了适合您的内容。用 PHP 可以

来源:模板无忧//所属分类:PHP教程/更新时间:2009-10-05
相关PHP教程