阿里巴巴大型專案開發之經驗分享

2021-09-11 10:16:19 字數 2202 閱讀 2473

乙個專案的運轉應該是井然有序而非雜論無章,細節決定於很多東西,比如ui中的字型顏色,rgb值可能只是乙個r的引數相差1,肉眼很難識別,而如果用到專業工具測試,那麼就會暴露無遺,保證整個專案整體色調的一致是在專案開始啟動時就應該全域性考慮的事情!

首先專案從需求調研到合同簽訂,接著ui設計好介面給到開發,我們拿到介面的第一件事並不就是要開始繪製介面,繪製到**就是**這樣就失去了對專案的把控能力,首先要做的是先看需求文件和rp,將整個流程串流起來,這並不是浪費時間的事情,而是重中之重的事情,只有熟悉了整個專案的商業模式,流程運轉,才能在後續占有主動權,而不是跟著專案或者ui設計的鼻子走,如果有時間使用思維導圖整理乙份對需求的理解也是很有必要的,讓自己知道整個專案在做什麼,而不是為了開發而開發。

對需求理解透後我們開始做的第一件事仍然不是搭建介面,而是思考工程的整體規劃,我們不談架構那麼大的思路,規劃什麼呢?

第一:整體工程設計模式,mvc,mvvm,mvp,rout...

第二:整體工程模組劃分:基礎層,網路層,硬體層,公用層,管理層,邏輯層,資源層,配置層...

第三:思考整個專案會用到哪些第三方庫,最好使用cocopods匯入

第四:考慮整個專案介面有哪些是可以公用的,有哪些view是可以在很多位置使用的,哪些控制項是需要封裝的,哪些是要做動畫處理的等等。

第五:歸納出整個專案使用的顏色,一般不會超過五種,使用巨集檔案管理好顏色配置檔案,同時在xode常用顏色管理面板設定好專案常用顏色值,後續使用xib直接使用設定好的顏色,這樣不會造成顏色混亂, ios11在assets.xcassets裡面新增了乙個顏色管理很方便使用,並且可以實現全域性變換顏色,同時歸納出常用的字型大小等等...

第六:搭建好專案基礎框架並建立好**管理倉庫

第七:和後台確認介面字段,如果後台規範,則可以直接根據後台給的介面文件進行先行開發,繪製ui和邏輯同步進行!

第一:切片原則,將專案功能不斷的進行分解和細化,制定計畫進度表。

第二:主流程先行原則,也就是乙個專案中最核心的功能,這裡所說的最核心實則是客戶最關心的功能,該功能使用頻次高,大部分的業務流轉都在此功能中。

第三: 以靜制動原則,做專案需求變更是在所難免的,頻繁的需求變更直接反應出專案人員對需求的把控能力及規劃能力,面對需求的變更先靜下來分析該需求是否合理,能否有更好的解決方案,如果變更了該需求從上流到下流會需要多少時間周轉,風險在**等。

第四: 保留原則,對於專案的乙個週期迴圈,要有實時的文件記錄,需求的變更要簽訂變更合同,而不是說變就變,最後面目全非反倒無可追溯,很多程式設計師並不是不想做好乙個產品,而是懷著一顆打磨產品的心卻被變更的需求折磨的體無完膚,甚至出現程式設計師在**注釋中罵客戶罵公司的行為,實則為無洩可發而為之。

第五: 控制源頭原則,所謂水往下流,從商務部--專案部--設計部--開發部--測試部環環相扣,源頭始於需求,牽一髮而動全身,不動是不可能的,乙個完整的專案不可能不動,動要有原則,有限制的動,需求是乙個無底洞,必須限制範圍。

第六: 溝通為主,無論哪乙個環節都需要多協調溝通,因為需求在傳遞的過程中很可能會變味,就好比一句話傳遞10個人後意思會與原來的有所差異甚至偏離原意,嚴格來說溝通是最重要的一環!

需求有輕重,專案有大小,每個專案的背後都有乙個孕育的商業模式,無論是原創還是模仿,都可從中汲取經驗,學習到一種思維亦或乙個行業的思維,所以不為做專案而做專案,為做專案而不單侷限於某種專案。就如程式語言一樣,不要去討論php是不是世界上最好的語言,還是人生苦短,我用python。有了程式設計的思維,不同的程式語言只是語法不一樣而已,侷限於某種語言是對自己思維的限定,它們之所以存在必然有各自的優勢,亦或解決某些特定的問題,而取長補短實為上上之策!

分布式學習路線

微服務學習路線

效能優化學習路線

經典設計模式與原始碼分析

開發必備工具

動手實踐專案

併發程式設計

以上五大知識體系是我從業多年總結出來的經驗,都是當前最主流的技術。想學習這些技術的朋友可以關注我,加我的架構群697579751即可獲取以下資料:

阿里巴巴工程師分享MySQL經驗

首先介紹下簡朝陽.現就職於阿里巴巴 中國 網路技術 dba team運維部,簡朝陽是本次mysql技術徵文大賽第三名得主 獲獎文章 mysql replication的實現原理 相信他的工作經驗肯定會對現在即將進入dba行業或者正在學習mysql技術的新人有所幫助。it168 這次mysql技術徵文...

PHP開發大型專案的一點經驗

一 變數 最好是把所有的變數儲存在乙個陣列中,這樣在程式的開發中可以帶來很多的方便,特別是當程式很大的時候。變數的命名就當適合自己的習慣,不管是用拼音還是英語,至少應當有一定的意義,以便適合記憶。變數的命名盡量規範化,不要與php中的關鍵字相衝突。二 函式 php自帶了很多函式,這給我們程式的編寫帶...

阿里巴巴開發規約之命名風格

我下邊總結的只是我自己平時需要注意的 1.userdo而不是userdo 2.方法名,成員變數名,區域性變數名,引數名統一用lowercamelcase駝峰標識 3.常量全部大寫用下劃線隔開,並且力求語意完整,不論多長,4.boolean型別的常量不要加是字首,否則容易引起框架異常,5.為了 自解釋...