作者foxzgerald (Algorithms)
看板PHP
標題Re: [請益] 請教釣魚吃的方法
時間Fri Oct 21 00:01:58 2011
※ 引述《ibbadmin (愛BB)》之銘言:
: 作為一個新手,我想進一步請教學習PHP的方法。
: 可以幫助往後的新手們更快速的瞭解入門到進階怎麼走。
(恕刪)
模仿對學習的重要性不言而喻,如果想更進一步,應該從模仿開始。
特別當你已能掌握 PHP的語法,遇到問題已有基本的除錯和 trace的
能力時,其實就可以開始看別人寫的東西。目的是培養熟悉感、並學
會判斷各種解法的優缺點,所以盡量不管什麼都看(初學者和高手的
code);特別要觀察同類型的問題或需求有哪些解決方式,並比較其
優缺點,例如:處理登入資訊的方式百百款,各有什麼優缺點。
程式的設計能力至少可分成兩部分來看:「工具的熟悉程度」以及「
分析、解決問題的能力」。成熟的程式設計師和初學者最大的差異通
常在於後者;初學者很難將問題轉成演算法,成熟的設計師大概聽完
問題心中已有草稿。語言只是工具,必須「善用才能解決問題」。因
此如果要進階,並不是一直埋頭在 PHP語法和函式庫的世界,而是要
以解決問題、滿足需求為出發點來練習 PHP。
當具備透過程式語言來解決問題的基本能力,那麼接下來就是研究設
計的架構。此時可以開始接觸一些樣式設計(Design Pattern)方面
的知識,以了解好的設計如何提升結構的彈性、避免一些後續變更維
護上的問題。同時也可以開始思考如何優化程式增加效率和速度。練
到這個層級時,寫出來的程式通常已經越來越複雜,所以此時開始追
求設計的本質時帶來的效益會很非常明顯。
學習最怕拘泥於某種特定的方法,所以不要限定自己的界線而變成基
本教義派。像程序導向與物件導向的優劣之爭,如果兩中設計方法都
很熟時,其實會發現能簡單快速解決問題的方法就是好方法,沒必要
為了奉行教義而跟自己的下班時間過意不去。但也提醒一下,如果是
花三天寫出要跑三年的程式,如何「維護」也是個重要的議題。因為
應該沒人想未來三年每天下班都還有人 call (我覺程式設計師應該
奉行的基本教義是:優雅的解決問題、以及不要跟自己的下班時間過
不去 XD)
總結一下我覺得如何從入門到進階:
1. 模仿!!
2. 語言本身不是重點,解決問題才是
3. 了解並評析各種「設計」的優缺點
4. 不要畫地自限
5. 任何時候都不忘記維護的重要(註解是最基礎的)
Good Luck :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.46.206
→ capricornsam:最後一項讓我想到資工系賓果- - 10/21 09:30
→ capricornsam:後悔沒有加註解,因為自已都看不懂自已的程式碼 10/21 09:31
推 kerash:沒註解的程式碼,三天就變亂碼了 ...XD 10/21 11:04
推 dontblame:給予適當的變數 物件 名稱。 與良好的 design pattern 10/21 16:00
→ dontblame:可以大幅減低註解 10/21 16:00
推 LaPass:強大的IDE很有好用的.... 可是我還沒找到順手的php IDE 10/21 18:31
→ foxzgerald:我喜歡用 Eclipse 和 UltraEdit 自己刻ˊˋ 10/21 22:52
推 gname:notepad++ 是很好的IDE...XD 10/22 00:42
→ KeithYeh:netbeans還挺好用的,除了有點肥的缺點外,其他都還不錯 10/30 22:22