在網站建設中,網站CI設計的進階有五大準則:
1. 比較好的英文閱讀水平。
計算機和互聯網技術是一個舶來品。近些年來,雖然中文報紙經常報道諸如”中國的計算機技術有追趕國外頂尖水平的趨勢“,但在很大程度上我都認為這只是YY一下而已。就如大家目前所見到的現實一樣,大部分優秀的互聯網應用和技術仍然來自大洋彼岸。老祖宗說的”師夷長技以制夷“這一目標需要正在看帖子的你,在掌握好國外優秀和先進的技術之后,才能實現。
技術不分國界,但是語言分國界。拿CodeIgniter框架來說,雖然CI中國社區提供用戶手冊的中文翻譯版本,但畢竟翻譯中加入了譯者自己的理解,加之英文水平的問題;在某些文檔中可能存在翻譯的誤差和出入。所以,如果你希望了解來自框架開發者的真實原意,不妨從現在開始閱讀一些英文文檔,使用英語和開發者直接交流。
如果你感覺自己的英文功底不夠好,從現在開始嘗試看看Codeigniter手冊的英文原版吧。
2. 比較好的PHP基礎語言功底
我曾多次對身邊沒有編程基礎,卻希望使用某個框架進行開發的朋友說:在沒有較長時間接觸這個編程語言(比如PHP)的前提下,請不要輕易嘗試某個框架。從技術修養角度來說,它很有可能將你帶入歧途。
這是框架所帶來的一個潛在弊病。很多人誤以為,學會了一個框架的初步使用,就等于學會了一門編程語言(這在RoR和Ruby的關系上體現得非常明顯)。但真是這樣嗎?你能用CI在20分鐘做出一個”博客",但你真的了解PHP相對底層的運行機制嗎?比如下面這幾個:
你知道PHP的垃圾回收機制(Garbage Collection)機制是怎樣的嗎?
你理解pass by value和pass by reference的區別嗎?
你知道php也可以用來做daemon程序(守護程序)嗎?
你知道什么是單入口web程序嗎?它的優缺點各是什么?
如果你需要在不太了解PHP的情況下,使用CI開發應用程序,那么請一定在身邊常備兩件各位版主曾在本版不厭其煩回答的萬金油武器:PHP手冊和CI用戶手冊。對于PHP手冊我這里多說一句,除了經常翻看自己不熟悉的函數說明之外,你不妨可以留意下每個函數頁面下方的用戶留言(user contributed notes)。這些留言均是關于某個函數的特別補充和使用上的注意事項。
3. 學會自己解決問題
各位CIer在CI新手板塊提出的問題,我大概可以分成兩類:一類問題是因為不熟悉PHP所造成的;另一類是因為不熟悉CI手冊造成的。由于這個原因,我們的新手板塊存在一個很有趣的現象,幫助解決問題的熱心CIer和斑斑們手上都有一個殺手锏:認真看手冊。
做工程技術就是不斷的在和問題做斗爭——問題不斷的出現,需要我們不斷的解決。解決各種問題都需要你膽大心細:碰到問題時,你應該首先嘗試自行解決;無法解決時,需要閱讀相關手冊資料;最后才是向社區救助。否則,很多時候碰到太多RTFM問題,眾多CIer是會拒絕回答的。畢竟大家都是憑興趣和愛好聚集在一起,時間有限精力有限。
4. 學會使用版本控制工具
也許有同學會置疑:如果我一個人兼任某個網站的CEO/COO/CTO/程序開發和設計師,還需要用諸如SVN,Git和mecurial這樣的版本控制工具嗎?
從我個人的經歷來說是非常需要。通常來說,一個健壯的程序需要不斷的重寫和重構,我們可以很容易從版本控制工具里面看到程序的成長軌跡,也可以很方便的回滾到過去的某個狀態。所以,從知識管理和項目管理這個角度來說,是否使用版本控制工具與參與這個項目的人數沒有關系。
的確,學習使用一款版本控制工具本身需要時間成本,但是養成習慣,你的獲益要比付出的精力多得多。
5. 嘗試幫助其它CIer解決問題
幫助別人解決問題,實際上是幫助自己形成自我一套解決問題方法論的過程。
6. 參與到開源項目當去
這可以說技術成長最快的方式。