揭秘Java開發(fā)人員必須遵從的十大法則(2)_PHP教程
推薦:解析PHP繪制3D圖形之自定義圖形及矢量圖上一篇進(jìn)行了一些簡單3D圖形實(shí)例,本篇介紹自定義及矢量圖實(shí)例。首先繪制一個(gè)三尖角星體,分別由前面,后面和三個(gè)側(cè)面組成。 自定義多邊形 代碼: 以下為引用的內(nèi)容: ?phprequire_once ( 'Image/3D.php' ) ; $image = new Image_3D () ; $image - setColor
4.請不要有硬代碼
開發(fā)人員常常有意識的忘記或者忽視這條規(guī)則,原因是我們,和一般時(shí)候一樣,在趕時(shí)間。如果我們遵從這條規(guī)則,我們可能會趕不上進(jìn)度。我們可能不能結(jié)束我們的當(dāng)前狀態(tài)。但是寫一條額外的定義靜態(tài)常量的代碼行又能花費(fèi)我們多少時(shí)間呢?
這里有一個(gè)例子。
以下為引用的內(nèi)容: 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; } } |
現(xiàn)在,每一次我們需要和某一些變量比較字符串“ABC”的時(shí)候,我們只需要引用S_CONSTANT_ABC,而不是記住實(shí)際的代碼是什么。它還有一個(gè)好處是:更加容易在一個(gè)地方修改常量,而不是在所有的代碼中尋找這個(gè)代碼。
5.不要發(fā)明你自己的frameworks
已經(jīng)推出了幾千種frameworks,而且它們中的大多數(shù)是開源的。這些frameworks中間有很多是極好的解決方案,被應(yīng)用到成千上萬的應(yīng)用中。你們需要跟上這些新frameworks的步伐,最起碼是膚淺的。在這些極好的、應(yīng)用廣泛的frameworks中間,一個(gè)最好的、最直接的例子是Struts.在你所能想象到的frameworks中,這個(gè)開源的web frameworks對于基于web的應(yīng)用是一個(gè)完美的候選者。但是你必須記住第二條規(guī)則??不要讓事情復(fù)雜化。如果你開發(fā)的應(yīng)用只有三個(gè)頁面?請,不要使用Struts,對于這樣一個(gè)應(yīng)用,沒有什么“控制”請求的。
6.不要打印行和字符串相加
我知道,為了調(diào)試的目的,開發(fā)人員喜歡在每一個(gè)我們認(rèn)為適合的地方添加System.out.println,而且我們會對我們自己說,會在以后刪掉這些代碼的。但是我們常常忘掉刪去這些代碼行,或者我們根本就不想刪掉它們。我們使用System.out.println來測試,當(dāng)我們測試完成以后,為什么我們還能接觸到它們呢?我們可能刪掉一行我們實(shí)際需要的代碼,僅僅是因?yàn)槟愕凸懒薙ystem.out.println所帶來的傷害,考慮下面的代碼:
以下為引用的內(nèi)容: 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()方法的運(yùn)行花了0.001204秒。相比較而言,運(yùn)行calculationWithPrint()方法花了令人驚訝的10.52秒。
(如果你不知道怎么得到一個(gè)像這樣的表格,請參閱我的文章“Java Profiling with WSAD” Java Profiling with WSAD)
避免這樣一個(gè)CPU浪費(fèi)的最好方法是引入一個(gè)包裝器方法,就象下面這樣
以下為引用的內(nèi)容: 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的那個(gè)方法只花了0.01秒來執(zhí)行,而那個(gè)使用了字符串相加的方法卻花了0.08秒來運(yùn)行。選擇是顯而易見的。
分享:解析PHP編寫的25個(gè)游戲腳本PHP是一種易于使用、易于學(xué)習(xí)且可以廣泛獲取的編程語言。它非常適合開發(fā)在各種游戲中可以使用的簡單腳本。無論是一個(gè)人玩簡單的使用紙和筆的游戲,還是同一群人玩復(fù)雜的桌面角色扮演游戲,或者任意類型的聯(lián)機(jī)游戲,本系列都提供了適合您的內(nèi)容。用 PHP 可以
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎概率的抽獎算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 使用php發(fā)送有附件的電子郵件-(PHPMailer使用的實(shí)例分析)
- 解析PHP如何透過ODBC來存取數(shù)據(jù)庫
- Windows IIS環(huán)境下安裝和配置PHP開發(fā)環(huán)境
- PHP初學(xué):實(shí)例詳細(xì)學(xué)習(xí)PHP的簡單語法
- 用PHP5的SimpleXML解析XML文檔
- 基于php上傳圖片重命名的6種解決方法的詳細(xì)介紹
- 基于PHP生成靜態(tài)頁的實(shí)現(xiàn)方法
- 動態(tài)網(wǎng)頁制作PHP常用的正則表達(dá)式
- 用php實(shí)現(xiàn)選擇排序的解決方法
- 解析PHP漢字驗(yàn)證碼的實(shí)現(xiàn)
- 相關(guān)鏈接:
- 教程說明:
PHP教程-揭秘Java開發(fā)人員必須遵從的十大法則(2)。