作者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
1F:→ capricornsam:最後一项让我想到资工系宾果- - 10/21 09:30
2F:→ capricornsam:後悔没有加注解,因为自已都看不懂自已的程式码 10/21 09:31
3F:推 kerash:没注解的程式码,三天就变乱码了 ...XD 10/21 11:04
4F:推 dontblame:给予适当的变数 物件 名称。 与良好的 design pattern 10/21 16:00
5F:→ dontblame:可以大幅减低注解 10/21 16:00
6F:推 LaPass:强大的IDE很有好用的.... 可是我还没找到顺手的php IDE 10/21 18:31
7F:→ foxzgerald:我喜欢用 Eclipse 和 UltraEdit 自己刻ˊˋ 10/21 22:52
8F:推 gname:notepad++ 是很好的IDE...XD 10/22 00:42
10F:→ KeithYeh:netbeans还挺好用的,除了有点肥的缺点外,其他都还不错 10/30 22:22