一個(gè)項(xiàng)目的運(yùn)轉(zhuǎn)應(yīng)該是井然有序而非雜論無(wú)章,細(xì)節(jié)決定于很多東西,比如UI中的字體顏色何址,RGB值可能只是一個(gè)R的參數(shù)相差1,肉眼很難識(shí)別进胯,而如果用到專(zhuān)業(yè)工具測(cè)試用爪,那么就會(huì)暴露無(wú)遺,保證整個(gè)項(xiàng)目整體色調(diào)的一致是在項(xiàng)目開(kāi)始啟動(dòng)時(shí)就應(yīng)該全局考慮的事情胁镐!
首先項(xiàng)目從需求調(diào)研到合同簽訂偎血,接著UI設(shè)計(jì)好界面給到開(kāi)發(fā),我們拿到界面的第一件事并不就是要開(kāi)始繪制界面盯漂,繪制到哪里就是哪里這樣就失去了對(duì)項(xiàng)目的把控能力颇玷,首先要做的是先看需求文檔和RP,將整個(gè)流程串流起來(lái)就缆,這并不是浪費(fèi)時(shí)間的事情帖渠,而是重中之重的事情,只有熟悉了整個(gè)項(xiàng)目的商業(yè)模式竭宰,流程運(yùn)轉(zhuǎn)空郊,才能在后續(xù)占有主動(dòng)權(quán),而不是跟著項(xiàng)目或者UI設(shè)計(jì)的鼻子走羞延,如果有時(shí)間使用思維導(dǎo)圖整理一份對(duì)需求的理解也是很有必要的渣淳,讓自己知道整個(gè)項(xiàng)目在做什么,而不是為了開(kāi)發(fā)而開(kāi)發(fā)伴箩。
對(duì)需求理解透后我們開(kāi)始做的第一件事仍然不是搭建界面,而是思考工程的整體規(guī)劃鄙漏,我們不談架構(gòu)那么大的思路嗤谚,規(guī)劃什么呢棺蛛?
第一:整體工程設(shè)計(jì)模式,MVC巩步,MVVM旁赊,MVP,Rout...
第二:整體工程模塊劃分:基礎(chǔ)層,網(wǎng)絡(luò)層椅野,硬件層终畅,公用層,管理層竟闪,邏輯層离福,資源層,配置層...
第三:思考整個(gè)項(xiàng)目會(huì)用到哪些第三方庫(kù)炼蛤,最好使用cocopods導(dǎo)入
第四:考慮整個(gè)項(xiàng)目界面有哪些是可以公用的妖爷,有哪些View是可以在很多位置使用的,哪些控件是需要封裝的理朋,哪些是要做動(dòng)畫(huà)處理的等等絮识。
第五:歸納出整個(gè)項(xiàng)目使用的顏色,一般不會(huì)超過(guò)五種嗽上,使用宏文件管理好顏色配置文件次舌,同時(shí)在Xode常用顏色管理面板設(shè)置好項(xiàng)目常用顏色值,后續(xù)使用XIB直接使用設(shè)置好的顏色兽愤,這樣不會(huì)造成顏色混亂垃它, iOS11在Assets.xcassets里面新增了一個(gè)顏色管理很方便使用,并且可以實(shí)現(xiàn)全局變換顏色烹看,同時(shí)歸納出常用的字體大小等等...
第六:搭建好項(xiàng)目基礎(chǔ)框架并建立好代碼管理倉(cāng)庫(kù)
第七:和后臺(tái)確認(rèn)接口字段国拇,如果后臺(tái)規(guī)范,則可以直接根據(jù)后臺(tái)給的接口文檔進(jìn)行先行開(kāi)發(fā)惯殊,繪制UI和邏輯同步進(jìn)行酱吝!
如何管理好一個(gè)或多個(gè)項(xiàng)目?
第一:切片原則,將項(xiàng)目功能不斷的進(jìn)行分解和細(xì)化土思,制定計(jì)劃進(jìn)度表务热。
第二:主流程先行原則,也就是一個(gè)項(xiàng)目中最核心的功能己儒,這里所說(shuō)的最核心實(shí)則是客戶最關(guān)心的功能崎岂,該功能使用頻次高,大部分的業(yè)務(wù)流轉(zhuǎn)都在此功能中闪湾。
第三: 以靜制動(dòng)原則冲甘,做項(xiàng)目需求變更是在所難免的,頻繁的需求變更直接反應(yīng)出項(xiàng)目人員對(duì)需求的把控能力及規(guī)劃能力,面對(duì)需求的變更先靜下來(lái)分析該需求是否合理江醇,能否有更好的解決方案濒憋,如果變更了該需求從上流到下流會(huì)需要多少時(shí)間周轉(zhuǎn),風(fēng)險(xiǎn)在哪里等陶夜。
第四: 保留原則凛驮,對(duì)于項(xiàng)目的一個(gè)周期循環(huán),要有實(shí)時(shí)的文檔記錄条辟,需求的變更要簽訂變更合同黔夭,而不是說(shuō)變就變,最后面目全非反倒無(wú)可追溯羽嫡,很多程序員并不是不想做好一個(gè)產(chǎn)品本姥,而是懷著一顆打磨產(chǎn)品的心卻被變更的需求折磨的體無(wú)完膚,甚至出現(xiàn)程序員在代碼注釋中罵客戶罵公司的行為厂僧,實(shí)則為無(wú)泄可發(fā)而為之扣草。
第五: 控制源頭原則,所謂水往下流颜屠,從商務(wù)部--項(xiàng)目部--設(shè)計(jì)部--開(kāi)發(fā)部--測(cè)試部環(huán)環(huán)相扣辰妙,源頭始于需求,牽一發(fā)而動(dòng)全身甫窟,不動(dòng)是不可能的密浑,一個(gè)完整的項(xiàng)目不可能不動(dòng),動(dòng)要有原則粗井,有限制的動(dòng)尔破,需求是一個(gè)無(wú)底洞,必須限制范圍浇衬。
第六: 溝通為主懒构,無(wú)論哪一個(gè)環(huán)節(jié)都需要多協(xié)調(diào)溝通,因?yàn)樾枨笤趥鬟f的過(guò)程中很可能會(huì)變味耘擂,就好比一句話傳遞10個(gè)人后意思會(huì)與原來(lái)的有所差異甚至偏離原意胆剧,嚴(yán)格來(lái)說(shuō)溝通是最重要的一環(huán)!
需求有輕重醉冤,項(xiàng)目有大小秩霍,每個(gè)項(xiàng)目的背后都有一個(gè)孕育的商業(yè)模式,無(wú)論是原創(chuàng)還是模仿蚁阳,都可從中汲取經(jīng)驗(yàn)铃绒,學(xué)習(xí)到一種思維亦或一個(gè)行業(yè)的思維,所以不為做項(xiàng)目而做項(xiàng)目螺捐,為做項(xiàng)目而不單局限于某種項(xiàng)目颠悬。就如編程語(yǔ)言一樣矮燎,不要去討論P(yáng)HP是不是世界上最好的語(yǔ)言,還是人生苦短椿疗,我用Python漏峰。有了編程的思維糠悼,不同的編程語(yǔ)言只是語(yǔ)法不一樣而已届榄,局限于某種語(yǔ)言是對(duì)自己思維的限定,它們之所以存在必然有各自的優(yōu)勢(shì)倔喂,亦或解決某些特定的問(wèn)題铝条,而取長(zhǎng)補(bǔ)短實(shí)為上上之策!
我是Qinz,希望我的文章對(duì)你有幫助席噩。