Re: [請益] 如何重構

看板PHP作者 (痞子軍團團長)時間14年前 (2012/02/01 14:57), 編輯推噓9(906)
留言15則, 8人參與, 最新討論串2/3 (看更多)
※ 引述《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

02/01 17:57, , 1F
^^給推
02/01 17:57, 1F

02/01 18:10, , 2F
推~嘗試後的結果才是自己的,就算錯誤也知道問題在那裡
02/01 18:10, 2F

02/01 19:27, , 3F
什麼事ci?
02/01 19:27, 3F

02/01 19:40, , 4F
Codeigniter
02/01 19:40, 4F

02/01 20:18, , 5F
大推
02/01 20:18, 5F

02/01 20:18, , 6F
真的 我覺得至少要動過一個framework或大型網站套件
02/01 20:18, 6F

02/01 20:19, , 7F
才可以開始說是一個"職業的"程式設計師
02/01 20:19, 7F

02/01 20:20, , 8F
因為有很多東西是在書上學不到、自己也會想漏的
02/01 20:20, 8F

02/01 20:20, , 9F
而且沒有碰過這些東西的經驗 就沒有日後與人合作開發
02/01 20:20, 9F

02/01 20:20, , 10F
的基礎
02/01 20:20, 10F

02/01 20:23, , 11F
並不是非得用某個framework不可 但你一定要瞭解"別人都
02/01 20:23, 11F

02/01 20:23, , 12F
怎麼做"與"為什麼要這樣做"
02/01 20:23, 12F

02/02 07:35, , 13F
CodeIgniter
02/02 07:35, 13F

02/02 21:29, , 14F
try and error~ good
02/02 21:29, 14F

02/03 15:30, , 15F
挑一個fw去trace整個架構的寫法,也會有很大的進步
02/03 15:30, 15F
文章代碼(AID): #1FAE9eK1 (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1FAE9eK1 (PHP)