作為程序員,在以后可能面對很多問題,動力節(jié)點的老師指出了一些問題,動寶兒就總結(jié)出來給大家看看。在產(chǎn)品開發(fā)過程中,Java程序員注重的不僅僅是完成好開發(fā)任務(wù),還要關(guān)注產(chǎn)品的性能、架構(gòu)以及代碼的質(zhì)量。因為這些對個人職業(yè)發(fā)展是相當(dāng)好的,但這只是個空口的希望,因為現(xiàn)在在互聯(lián)網(wǎng)中,產(chǎn)品的開發(fā)是處于快速迭代的時期,需求的不斷改動對開發(fā)工作帶來很大的影響,使我們的效率大打折扣。怎樣使產(chǎn)品開發(fā)效率更快,質(zhì)量更高,同時保證程序員對產(chǎn)品實現(xiàn)有著更深入的思考。作為程序員的你,應(yīng)該從以下幾個方面做起:
1.流程劃分
清晰流程,詳細(xì)的交互設(shè)計文檔以及后臺接口基本提供完善,才可進入App開發(fā)的階段。我們在App開發(fā)的開始,是需要針對設(shè)計交互文檔確認(rèn)過,細(xì)至每個細(xì)節(jié)的交互都了解;開發(fā)過程中,可能產(chǎn)生的一些交互問題,都應(yīng)該在交互文檔詳細(xì)地體現(xiàn)出來,做到一切有跡可循。程序員在開發(fā)過程中不再有模糊的交互,不再有口頭上的交流,是我們在文檔定稿應(yīng)該達到的理想效果。需明白,在開發(fā)過程中,口頭交流來確定交互的實現(xiàn),對開發(fā)效率都是大打折扣的,出了問題,我們都是沒法責(zé)任到人的。
這樣,就要求在前期設(shè)計交互文檔的人員的責(zé)任比較重,需要針對每個細(xì)節(jié)的實現(xiàn)都要考慮清楚,產(chǎn)品經(jīng)理在對一個新的迭代的開發(fā)的同時,需要明確提及到這個迭代中的會涉及到的交互的實現(xiàn)。人無完人,不能各個層面都涉及到,所以在這個期間,可以讓程序員加入來討論,畢竟后面的實現(xiàn)是需要程序員來完成的嘛,有問題的過程再確定重新形成方案,必要的時候,可以給與程序員一定的調(diào)研時間,當(dāng)然考慮地越多,意味著我們的工作將能夠更加地明確。
清晰地可以看出一個版本的開發(fā)將會有兩個階段,階段一需求的定義形成設(shè)計文檔,主要角色有產(chǎn)品經(jīng)理、產(chǎn)品設(shè)計、產(chǎn)品交互;階段二程序員進入開發(fā)階段并交付完整的產(chǎn)品。此時,我們可以讓下一個版本跟當(dāng)前版本做一個簡單的交錯,即在階段二中,產(chǎn)品進入下一個版本的的需求設(shè)計階段,借此來并行地保證各個部門的效率工作。
雖然看起來在操作過程中,可能會遇到不可料想的麻煩,畢竟沒有一成不變地需求,這樣就需要產(chǎn)品經(jīng)理權(quán)衡,盡量將這些需求放在下個版本中,將是很好的方式。不然交錯地流程開發(fā),帶來更多的是開發(fā)成本的上升,產(chǎn)品的迭代周期的延長。
2.規(guī)范定義
界面設(shè)計、接口設(shè)計、App設(shè)計定義一些通用的規(guī)范。
•接口設(shè)計需要對返回的數(shù)據(jù)進行統(tǒng)一格式。譬如:統(tǒng)一返回的是JsonObject,其中包裝成功狀態(tài)result以及錯誤的信息,真正的數(shù)據(jù)則統(tǒng)一放置在data字段中進行處理。
•界面設(shè)計遵循設(shè)計規(guī)范。Android可以選擇MaterialDesign,蘋果也有自己的設(shè)計規(guī)范。若是不采用這些,則需要對一些通用的樣式,做些統(tǒng)一定義,譬如常有的間距,彈出框樣式,常用的顏色值,字體大小等等。這樣客戶端也可針對這些定義,遇到的時候則可直接使用。
•App開發(fā)的規(guī)范。統(tǒng)一的命名、格式化文件標(biāo)準(zhǔn)、盡量清晰的處理邏輯、類文件編寫。
定義規(guī)范,即多做約定,直接的好處就是:多人員協(xié)作能夠有一套的標(biāo)準(zhǔn),不至于雜亂無章。
3.角色明確
這一點在小公司可能不太清晰,經(jīng)常出現(xiàn)一人兼多職的情況,不太好定義。在成熟公司,這一點是相當(dāng)重要的,因為角色到人,使得我們可以確定到單一問題該有何人負(fù)責(zé)。若是一個團隊中出現(xiàn)職責(zé)不清晰的情況,使得我們解決一個問題便會出現(xiàn)踢雪球的情況,問題得不到解決,雪球還有變大的可能。
4.產(chǎn)品至上
產(chǎn)品是top重要的。成果都是拿產(chǎn)品來說話的,即使再牛逼的銷售團隊,再漂亮的設(shè)計到產(chǎn)品上,也經(jīng)不住產(chǎn)品的不斷閃退,卡頓,高耗電,不人性化。而這成果的展示都是在程序員身上,產(chǎn)品的優(yōu)化又是一個任重道遠(yuǎn)的過程,畢竟你產(chǎn)品經(jīng)理還要加功能。所以應(yīng)該以程序員的工作為主,API設(shè)計以及UI團隊?wèi)?yīng)配合甚至服務(wù)于程序員的工作,盡量保證程序員能夠效率高地工作。遇到過App展示一個界面,要發(fā)送三個甚至更多的API請求,只想說真是夠了。所以這里應(yīng)當(dāng)簡化App端的工作,能盡量少在客戶端做的就少做,服務(wù)器端的改動肯定比客戶端來的容易些。
總結(jié)
在一個程序員的角度上,要不斷迭代地去開發(fā)一款長周期的產(chǎn)品,來看待產(chǎn)品開發(fā)應(yīng)該具有一個怎樣正確的姿勢的,動力節(jié)點Java培訓(xùn),帶你了解更多的Java知識。