在上一篇 ?大劉談項目管理(一) | 如何?細分項目需求:第一彈 中玄柏,大劉主要跟大伙分享了關于如何對項目需求進行細化分類换帜,以便有的放矢的分派資源和進行開發(fā)藏雏。這一彈就跟大家聊聊如何構建屬于自己的代碼庫吧数初。
1.建立代碼標識庫
還記得高中的時候找爱,每個人基本上都有一個錯題本么?每次作業(yè)或者考試中經常出現(xiàn)的錯題泡孩,易錯題车摄,都被分門別類的記錄到錯題本里。尤其是英語,很多易混淆的短語吮播,句式变屁,通過標記語法記錄,下次考試的時候再遇到時意狠,就能很快分辨出來哪個是正確答案粟关。沒錯,對于IT攻城師的我們环戈,開發(fā)項目模塊和考試別無二致闷板,也是一道道難題進行攻關的過程。你有沒有遇到過經常寫著寫著谷市,突然記不清要用哪個類的哪個方法或函數(shù)能解決你的問題蛔垢?或者同樣是字符串截取函數(shù),substring和substr到底有什么區(qū)別迫悠,在不同語言PHP鹏漆,JS,SQL當中的用法又是不是一樣呢创泄?雖然這些都是很小的例子艺玲,但是在我們真正在代碼編寫過程中,一定會經常遇到這種情況鞠抑。對于大劉我來說饭聚,是在為知筆記上新建了一個文件夾,名字就叫 常用代碼標識庫 搁拙,子分類就是各類語言秒梳,分類下的常用,易錯箕速,相似的方法函數(shù)酪碘,我都通過Tag標簽來關聯(lián)。例如下圖:內部通過Tag標簽進行關聯(lián)
如此盐茎,通過為知筆記的剪藏插件兴垦,和自己平時總結的方法函數(shù)匯總,基本上屬于你自己的代碼標識庫就建立起來了字柠,要做的就是不斷往里填充內容探越,建立號標簽關聯(lián)性即可。
2.建立適用的項目腳手架
項目腳手架(Project scaffolding)窑业,實際上就是你或者團隊在開發(fā)項目時候用到的項目架構钦幔。隨著項目數(shù)量的增多,和功能模塊的擴展常柄,項目架構會隨著框架的演進和業(yè)務流程的融合愈發(fā)成熟节槐,對應的通用處理庫搀庶,比如網絡通用處理庫,字符串通用庫铜异,ORM通用庫等都會慢慢建立起來哥倔。我們平時所說的項目經驗,實際上就是從這么一點一滴的完善項目架構上培養(yǎng)起來的揍庄。大劉所在的項目團隊咆蒿,針對不同的項目類型,已經搭建了2-3個項目腳手架了蚂子,平時只要需求一來沃测,UI設計完成,后端組的小伙伴們就能依賴現(xiàn)有的項目腳手架食茎,分分鐘搭建一個空業(yè)務或者輕業(yè)務邏輯的項目出來蒂破,后續(xù)要做的只是做個性化開發(fā)擴展了。項目組內部通過這種方式别渔,不斷的完善附迷、優(yōu)化現(xiàn)有項目架構,實際上是為下次需求承接做準備哎媚,這樣就形成了良性循環(huán)喇伯,也為快速敏捷開發(fā)打下堅實的基礎。
對于有些朋友不知道如何建立屬于自己項目團隊的第一版腳手架拨与,大劉在這里給出的建議就是:
站在巨人的肩膀上稻据,會看的更遠。
什么意思呢买喧?就是參考現(xiàn)在市面上好的開源框架捻悯,比如PHP可以參考ThinkPHP,Laravel淤毛,Symfony這些比較成熟的開源框架秋度,每個框架都各有特色,比如ThinkPHP是國人寫的钱床,文檔比較詳細,功能擴展也比較多埠居,適合新人和小型團隊進行開發(fā)查牌,大劉所在的團隊就是用的TP3.2的框架作為基礎,一步步擴展起來的滥壕。Laravel纸颜,Symfony是國外大佬寫的,學習曲線稍陡峭绎橘,不過國內公司團隊使用者也不乏少數(shù)胁孙,這個就看如何做技術選型了唠倦。Java端可以考慮的就更多了,國內比較火的有JFinal涮较,Spring稠鼻,SSH自己整合的。其他的就不贅述了狂票,因為大劉自己也在不斷學習中候齿,期望與大家共同進步。^_^
3.不斷總結
是的闺属,你沒看錯慌盯。為什么要強調不斷總結呢?其實編程和學習是一個道理掂器,有可能今天你在這個項目中寫了幾行邏輯清晰亚皂,架構合理的代碼,很好解決了項目中的業(yè)務邏輯国瓮,但是如果過了半年灭必,一年,甚至沒幾個月時間巍膘,再遇到類似業(yè)務場景的時候厂财,說不定你就會抓耳撓腮的思考,這個場景貌似上次遇到了峡懈,我記得用的什么方法解決來著璃饱?好吧,這個例子肯定每個人都會遇到肪康,出現(xiàn)這個問題的原因就是:你沒有及時認真總結荚恶。
那么應該怎樣優(yōu)雅的實現(xiàn)你的總結呢?這里不能再像錯題本那樣整理個紙質記錄了磷支,還是依靠為知筆記或者印象筆記把谒撼,每次把遇到的問題和解決的方式,如果時間允許雾狈,把解決思路最好也記錄上廓潜,上傳到云端,隨時隨地都能通過PC或者手機查閱善榛。愛迪生研究燈絲材料時辩蛋,曾經進行了共一千六百種不同的試驗,結果都失敗了移盆。但這時他和他的助手們已取得了很大進展悼院,至少他們知道了?這一千多種材料不能做燈絲!大劉給大家列舉一個記錄解決方法的記錄模板咒循,如果有更好的据途,歡迎告知:
問題日期:
問題描述:
解決方案:
解決思路:
小結備注:
OK绞愚,第二彈分享完畢,第三彈開始準備ing颖医!