說說我最近在帶項目過程中的一些總結(第一次帶項目,難免有些失誤),可以作為以後帶項目的指導思想。從一個項目競標成功,成立開始寫吧。
一.招聘人員:招聘兩種人,1:對技術最有熱情,有靈氣的人。2:對工作認真負責,具備良好的工作態度的人。如果同時具備兩種素質,那是可遇而不可求的人。
二.最好的需求分析的方法是經過一到兩次原型分析後,直接快速開發一個比較成型的系統給使用者看。
三.要搭建自己的架構,哪怕是整合其他架構也可以,搭建架構的目的有兩個,1:盡量讓一種事情只有一種實現的方式(當然是比較好的方式)。2:實現快速的開發,同時提高一點門檻。提高門檻有很多好處,最大的好處是可以提升項目成員的成就感。
四.搭建架構盡量使用成熟的技術,因為比較自信,導致我這次在某些技術的使用上還是有點冒險了。
五.設計資料庫(實體)最重要的是概念的完整性,就是你一定要保證通過你的資料庫設計能夠比較優雅的實現所有功能,最重要是要能實現所有功能,如果你的設計不能實現所有功能的話,再優雅也是白搭。
六.資料庫設計儘可能的符合第三範式,盡量減少冗餘,寧可多幾個表,多查幾次,但是對後期的擴充很有好處,最好是有一個懂資料庫調優的人(以前我認為在物件導向軟體的系統中資料庫知識可以被降到一個比較次要的位置,現在我發現我們做的事情核心終究還是資料,所以資料庫的知識還是非常重要的)。
七.最核心的代碼和設計只能由最好的一個人來做,而且最好儘早做出一個完整的設計模型,包括一些細節的代碼設計(這是我這次做得有點失誤的地方,導致後期重構代碼量比較大)。
八.設計大量合理的介面是代碼設計最重要的事,包括標識類型的介面,以及業務的介面。
九.不要用瀑布模型開發,如果客戶要求嚴格的文檔的話,不要考慮文檔和代碼的同步,要想文檔能夠真正體現出程式和設計的邏輯,最好的辦法是等待開發已經到後期,產品已經成型後才開始寫文檔。
十.不要害怕重構會帶來大量的代碼重寫和修改的工作,既然一開始的設計沒有做的最好,那麼重構代碼對於提高代碼的可靠性是非常重要的,而且還好重構代碼往往比較快。
十一.儘可能不要加班,也不鼓勵員工自覺加班,沒有啥好處。