???? 很多時候我們都想開發(fā)一個萬用的系統(tǒng),這樣面對客戶的需求就真的可以隨機應變了,如果客戶要改變一個模塊,那按一個按鈕就可以輕松應變,可惜要做到這個不知道要到什么時候了,像我們這個級別的程序員如果能夠最大程度上應對客戶需求已經相當不錯了,畢竟離一個合格的架構師還很遠呀。
???? 還是別扯太遠,解決眼前的問題先。所以現在的問題是如何編寫出可擴展的或者說是易于擴展的代碼,從最原始的時代開始說起顯然是個不明智的方法,或許可以從我本身的經歷說吧,最早以前,用asp做b/s系統(tǒng),一個頁面來顯示,例如list.php,顯示需要展示的內容的列表,通常這個頁面會有一個按鈕,連接到insert.php,也就是需要用戶輸入表單,然后提交到insert_do.php,處理用戶的輸入,這樣一個輸入流算完成了,以前通常這樣做,但是當現在回憶起來只能說,那是個多么累的方法,或許自己心里會辯解到至少頁面代碼很清晰。后來的想法是,把功能都放一個頁面,例如有l(wèi)ist.php和 list_do.php根據url上參數的不同實現不同的操作,例如inset,update,delete等等,可是,事情總是2面的,很多時候擔心客戶端可以使用參數來自定義提交,是不是安全性降低了很多嗎?偶然的機會為了奧林巴斯的網站,可以看出是韓國人寫的,居然在提交的時候自定義一個form,讓數據隱藏,開始覺得這個是個不錯的注意,安全性高又靈活。后來仔細分析其實沒多大實際意義,其實一個懂得用url侵入的人也應該知道自己寫個靜態(tài)頁面也一樣,所以很矛盾啊,后來干脆不管了,還是用url傳參數,不同的是傳到自己本身頁面,所以最后只需要一個頁面就可以完成所有的工作。雖然一個頁面可能有幾千行(想起當初大學老師在教c++的時候曾經提過他看過800多行的代碼,但是同學們“哇”聲一片,自己那時候也發(fā)誓以后不搞這行當,這玩意傷腦子,可是結果。。。),只要注釋寫的好,維護就ok了,現在最喜歡做的事情就是寫注釋,劃類別,感覺越整齊越舒服。為了讓我的系統(tǒng)能夠活得長久,盡量寫得濃縮,分類盡量詳細,頁面名稱盡量好,所有功能都在一個頁面里面,甚至連圖片的名稱也要好,必須為gif或者png,我這樣的要求我的老婆,因為她是做美工的,css寫得也要好,就是因為這個css,最近碰到好多難題哦,這個暫且不談,不管界面用什么技術,反正程序編碼必須整齊,所有html元素都寫成function,數據庫操作也是,曾經一度在function和class之間徘徊,現在決定php5.0以下用function,以上用class,大項目用ADODB,當然要優(yōu)化一下,也就是改一改,討厭的就是那個GPL,改好了怎么發(fā)布呢?E文不好,吃大虧啊。其他就沒什么問題了,前端顯示直接寫或者模板都可以,這個我不關心,現在主要攻克幾個開源的協同oa,還有ecommerce。
????? 其實有時候想把公用的function和class寫進include里面,某個模塊的function和class,或者干脆寫class,放在同級目錄下,每個頁面有一個,舉例來說 list.php 有個list.inc.php,后者包括所有的函數和功能讓list.php使用,這也不外乎是個好方法,可是沒有仔細想過,后來稍微研究.net了一下,有點異曲同工。
????? 好了,以上是我的一些心得,不知道還有什么好的方法沒有,那要看廣大的網友了,毛主席說過人多力量大。
???? 還是別扯太遠,解決眼前的問題先。所以現在的問題是如何編寫出可擴展的或者說是易于擴展的代碼,從最原始的時代開始說起顯然是個不明智的方法,或許可以從我本身的經歷說吧,最早以前,用asp做b/s系統(tǒng),一個頁面來顯示,例如list.php,顯示需要展示的內容的列表,通常這個頁面會有一個按鈕,連接到insert.php,也就是需要用戶輸入表單,然后提交到insert_do.php,處理用戶的輸入,這樣一個輸入流算完成了,以前通常這樣做,但是當現在回憶起來只能說,那是個多么累的方法,或許自己心里會辯解到至少頁面代碼很清晰。后來的想法是,把功能都放一個頁面,例如有l(wèi)ist.php和 list_do.php根據url上參數的不同實現不同的操作,例如inset,update,delete等等,可是,事情總是2面的,很多時候擔心客戶端可以使用參數來自定義提交,是不是安全性降低了很多嗎?偶然的機會為了奧林巴斯的網站,可以看出是韓國人寫的,居然在提交的時候自定義一個form,讓數據隱藏,開始覺得這個是個不錯的注意,安全性高又靈活。后來仔細分析其實沒多大實際意義,其實一個懂得用url侵入的人也應該知道自己寫個靜態(tài)頁面也一樣,所以很矛盾啊,后來干脆不管了,還是用url傳參數,不同的是傳到自己本身頁面,所以最后只需要一個頁面就可以完成所有的工作。雖然一個頁面可能有幾千行(想起當初大學老師在教c++的時候曾經提過他看過800多行的代碼,但是同學們“哇”聲一片,自己那時候也發(fā)誓以后不搞這行當,這玩意傷腦子,可是結果。。。),只要注釋寫的好,維護就ok了,現在最喜歡做的事情就是寫注釋,劃類別,感覺越整齊越舒服。為了讓我的系統(tǒng)能夠活得長久,盡量寫得濃縮,分類盡量詳細,頁面名稱盡量好,所有功能都在一個頁面里面,甚至連圖片的名稱也要好,必須為gif或者png,我這樣的要求我的老婆,因為她是做美工的,css寫得也要好,就是因為這個css,最近碰到好多難題哦,這個暫且不談,不管界面用什么技術,反正程序編碼必須整齊,所有html元素都寫成function,數據庫操作也是,曾經一度在function和class之間徘徊,現在決定php5.0以下用function,以上用class,大項目用ADODB,當然要優(yōu)化一下,也就是改一改,討厭的就是那個GPL,改好了怎么發(fā)布呢?E文不好,吃大虧啊。其他就沒什么問題了,前端顯示直接寫或者模板都可以,這個我不關心,現在主要攻克幾個開源的協同oa,還有ecommerce。
????? 其實有時候想把公用的function和class寫進include里面,某個模塊的function和class,或者干脆寫class,放在同級目錄下,每個頁面有一個,舉例來說 list.php 有個list.inc.php,后者包括所有的函數和功能讓list.php使用,這也不外乎是個好方法,可是沒有仔細想過,后來稍微研究.net了一下,有點異曲同工。
????? 好了,以上是我的一些心得,不知道還有什么好的方法沒有,那要看廣大的網友了,毛主席說過人多力量大。