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