作者PsMonkey (痞子军团团长)
看板PHP
标题Re: [请益] 如何重构
时间Wed Feb 1 14:57:39 2012
※ 引述《poopoo888888 (阿川)》之铭言:
: 大家好
: 小弟目前跟三个朋友在用PHP写一个网站
: 我们都是大学生 没有太多团队开发网站的经验
: 小弟初学PHP 甚至对PHP的sense都不是很强
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 因为不想花时间摸framework的关系 所以没有使用任何framework
: 将来也不想使用
: 我们利用require()函式将网站重复出现的header.php、footer.php独立了出来
: 还用connect_mysql.php将连接资料库的设定相关程式码独立了出来
: 接着就想到什麽功能就写什麽功能地东拼西凑写网站到现在
: 目前网站初版功能大致成形了 但整个网站的PHP架构也乱得很可怕
: 我们觉得再这样下去维护上会出现问题 打算花时间进行程式码重构
: 但我们没有经验 只能凭直觉做一些简单地程式码整理
: 该怎麽办呢?
: 请教各位前辈大大 替我们指点迷津
: 谢谢!
原文当中 b 兄的推文,我只赞成一半
以你的现况来说,你自己都说 PHP 不是很强
那讲的难听一点,你要 refactory 什麽?
(谜之声:就是不知道所以上来问啊...)
反过来说,为甚麽会有「让你不想学」的 framework?
就是因为这些 framework 处理过你打算处理、或是你不知道该处理的问题
然後公式化 or 模组化之後结果
至少以我这种低落的技术程度来说
我常常是透过 IDE(Java)、framework(GWT、CI)来知道
「原来可以 or 需要这麽作」
如果挑 open source 的东西,那甚至可以知道「怎麽作」
这是一种交叉 feedback 的行为,应该学习过程有很大的好处
当然,以 Java developer 的角度来看,PHP... [默]
不过,以当初碰 Code Igniter(CI)的心得
CI 并没有很侵入式的要你全面重新改写你的 code
(Java 里头什麽 Spring 之类的碗糕就... [泪目])
你可以把纯 PHP 的 code
一个部份、一个部份的导入 CI,没改到的部份也基本上不影响
加上他是 open source,程式码也没有很庞大
可能很适合你现在的需求
(注:这是三年前的印象 [殴飞])
如果你能顺利撑过这个阶段,熟悉某个 framework 的里里外外
(这个前提一定要先成立,後头才有意义)
那其实趁着在学的时候自己有样学要照抄也好、闭门造车硬干恶搞也好
自己尝试去弄个 framework、library 也是很好的事情
「重新再造轮」在工程 or 职场上能免则免
但是在学生阶段... 那就去浪费时间啊! [握拳]
你不自己磨个轮子,你就很难知道磨轮子的乐趣与痛苦、还有要花的时间
至少,你会对那些做出轮子的前辈抱多一点的尊敬
而不会有无凭无据「喵的,给我一个月我也能弄出一个 CI」的自以为
想当初,我只知道 servlet 的时候
还打算发展一套 library 来简化网页开发咧...
结果人家都已经在上太空(JSTL、EL)我还在得意洋洋的杀猪公
在求学阶段不作这些事情,难道出社会进职场才作吗?
又,你有那个胆子 & 心神作吗?
anyway... 无论你选哪条路
动手作吧! 动手写(含心得感想)吧!
趁着青春,去试试看各种选择,即使那可能是错的(应该写 Java 啊! [被殴飞])
青春不浪费在这里,难道要浪费在打卡按赞吗?
去吧去吧!
====
钱快烧完了,有感而发......
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.6.173
1F:推 baliman:^^给推 02/01 17:57
2F:推 mirae:推~尝试後的结果才是自己的,就算错误也知道问题在那里 02/01 18:10
3F:推 LaPass:什麽事ci? 02/01 19:27
4F:推 kusoayan:Codeigniter 02/01 19:40
5F:推 mrbigmouth:大推 02/01 20:18
6F:→ mrbigmouth:真的 我觉得至少要动过一个framework或大型网站套件 02/01 20:18
7F:→ mrbigmouth:才可以开始说是一个"职业的"程式设计师 02/01 20:19
8F:→ mrbigmouth:因为有很多东西是在书上学不到、自己也会想漏的 02/01 20:20
9F:→ mrbigmouth:而且没有碰过这些东西的经验 就没有日後与人合作开发 02/01 20:20
10F:→ mrbigmouth:的基础 02/01 20:20
11F:推 mrbigmouth:并不是非得用某个framework不可 但你一定要了解"别人都 02/01 20:23
12F:→ mrbigmouth:怎麽做"与"为什麽要这样做" 02/01 20:23
13F:推 tkdmaf:CodeIgniter 02/02 07:35
14F:推 Elohim123:try and error~ good 02/02 21:29
15F:推 aaroms:挑一个fw去trace整个架构的写法,也会有很大的进步 02/03 15:30