星期二, 9月 12, 2006

再度開始寫程式

這不是我第一次寫PHP,不過這是我第一次看別人的code。

我有兩個任務,第一個是通訊錄作業電子化,第二個是將學校系學會資訊服務網頁美化。

目前的通訊錄服務作業方式是這樣的:每個班級都發一張白紙,然後大家把最新的住址電話電子信箱填上去,然後全部收回來,之後系學會再派人把這些資料用手打慢慢作成word檔,然後全部印出來。這種作業方式曠日費時,出錯的機會也比較高。我的工作是寫一個網頁,然後讓大家可以自己把資料打進去,然後由資料庫直接輸出HTML檔,大家就可以很方便的處理。期限是九月十八日。

系學會資訊服務網頁美化的工作又是另外一個大哉問。學校系學會網頁之所以看起來「很醜」,是因為寫的人當初把HTML和PHP的程式碼放在同一個檔案裡,變得很難用Dreamweaver等編輯器編輯,所以就很難看了。

兩個任務都要看懂學長的程式碼,電子通訊錄的部份是因為要實作身份檢查,總不能每個人都可以亂改別人的通訊錄吧。網頁美化的部份,為了往後的維護方便,利用樣板引擎把HTML和PHP程式碼分開是一定要做到的,而這就牽涉到把一份程式碼切成兩份,還是要先看懂程式碼比較保險。

看了學長的程式碼以後,感覺我們學生輩程式碼的安全性還是有差,看到很多潛藏性的問題,比如以客戶端的cookie進行session時間的計算,還有程式碼之中也出現了一些superglobal,書本上說是「非安全性作法」(bad security practice)。可能是受限於時間的關係,程式碼也沒有優化,duplicate code蠻多、無意義名稱且連續使用的區域變數、拼錯字的函數命名、全部公開的成員變數.......我應該也會進行適度的refactor吧。 全文連結

2 意見:

Arrakeen 提到...

如果成品是需要常常更改版面配置倒是有所需要。
不過通訊錄弄成樣板語言不會太過繁瑣嗎?
還是你要直接用Smarty去套呢?
學Smarty也是還要再花一些時間的說。XD

d8888 提到...

我個人Smarty已經用的蠻習慣的了,該有的library我都寫好了基本上應該沒什麼問題。

至於學校的code的更動性應該是中偏少吧,可是我自己覺得與其進行「網頁美工人員寫好網頁->這邊亂套->code壞掉->修code->上級不滿意->網頁美工人員寫好網頁->...」的無限循環,不如一開始就用smarty解決問題XD