軟多信息技術-中國互聯網軟件開發商!
App開發怎樣做到又快,又穩,又清晰呢?相信不單單是App開發人員想如此。每個開發需求這也想外包公司在做App時能夠又快,又穩,這樣能剩下很多精力和金錢···開發快穩清
Android開發,能理清業務邏輯,不受外界干擾地投入開發,開發速度會很迅速,很快,普通規模的App,一到兩周即可完成。
穩:Android常見問題有內存、異步、響應等,排除和解決很容易,難的是怎樣確保不出現這些問題?可以簡單地用時間量化評價,要等大量bug出現之后,才知道穩不穩,但一般工作中會有個弊端,為了趕工速度一快起來,就很容易出現大量bug。
清晰:清晰是難做到的,快可以通過時間量化,穩可以通過bug統計量化,但是清晰是很難量化的,代碼審查和可擴展性都是主觀評價,而且相當滯后,很多情況下,往往要等到需要實現擴展,甚至換人接手代碼時,才知道代碼不清晰。
當然,公司層面也應有清楚的定位,研發對設計的投入,必須是有限的指導性的,如果大量把研發投入到設計工作,就是另一種形式的浪費了。
在實際開發過程中,除bug其實占了相當一部分工作量,有時候好好的開發計劃,因為幾個詭異的bug就得耽誤半天,所謂“碼字5分鐘,排錯兩小時”是也。所以,能否盡早盡快處理異常,是非常影響開發效率的。
處理異常,軟多信息有這么幾條心得:
提前考慮異常處理,在寫正常流程的業務代碼之前,先考慮異常,“未慮勝,先慮敗”,沿著業務流程分支,先把異常情況都處理掉,例如獲取在線數據顯示一個列表,先考慮網絡異常、服務器報錯、數據失敗等異常情況,并依次給出相應提示,最后才處理數據正常的情況,你本來就要寫正常業務代碼和異常處理代碼,你只需要調換一下工作的先后順序,其實你投入的開發時間沒有增加,但是你的效率卻大大提升了,因為一旦出現異常,我們可以迅速判斷異常原因,節省大量時間。
這樣做還有一個好處,在你的思維陷入復雜的業務邏輯之前,先處理相對簡單的異常分支,可以避免你被業務邏輯搞到大腦缺氧后,再回來處理異常分支時一時疏忽手滑,寫錯或者寫漏異常處理。
隔離前后臺對接的數據接口,最好不要直接使用后臺提供的數據,中間加一層映射,一方面,如果后臺數據出了問題(數據異常、變更字段等),你在映射數據時就能發現和定位問題;另一方面,也有利于你采用更適合App的數據形式進行數據持久化。
另外,建議做一個接口錄入與檢查工具,形式不論,但要能輕松地維護前后臺接口,最好能自動檢測接口反饋是否正常(服務器負載過大、字段變更、第三方服務過期等)。
異常信息的收集、匯總和數據持久化
如果出現異常,最重要的是采集到異常代碼行(如MainActivity第61行)和異常原因(如空指針異常),并記錄為本地文件以備上傳和查看
其實java的異常處理的內容還有很多,感興趣可以看一看我以前總結過的Java異常捕獲的設計原則:
敏捷開發里有一個實踐原則,就是不要過度設計,開發的價值不在于寫出漂亮的代碼,在于實現產品并支撐其正常運轉,在能實現產品功能的前提下,代碼邏輯其實是越簡單越好,簡單往往就意味著高可靠性+低維護成本,如果將來需要擴展功能,可以通過修改和重構實現。
當然,簡單并不意味著隨意,要把事件做復雜很容易,要做簡單卻很難。能做到邏輯清晰、線程安全、內存安全,又容易修改和擴展的同時,還能保持代碼簡潔,其實反而更考驗功力的。
其實不僅在開發新功能時要避免過度設計,在維護和擴展舊代碼時,也要注意,能正常運行的代碼,都是好代碼,我覺得在維護舊代碼時,其實也適用開放封閉原則,對不得不改,不改就崩的舊代碼,是開放的,可以修改的;對能正常運行的代碼,哪怕你覺得再難看再手癢,那也是封閉的,是不可以修改的。
回到那句話,開發的價值不在于寫出漂亮的代碼,在于實現產品并支撐其正常運轉。
軟件開發項目管理有四個要素:時間、成本、范圍、質量。四個要素不能兼得的,要時間,就得砍一些范圍的項目目標,降成本,就容易犧牲質量等等,不過,建立和維護通用庫,卻能同時對四個要素都有好處:
1、加快開發速度,專注于具體業務(時間)
2、降低團隊成員熟悉項目的成本,為新業務開發提供基礎,加快開發迭* 代速度,有利于更快地發布版本
提高代碼復用率,降低開發投入(成本)
3、穩定的公共模塊采用依賴組件庫方式,提供給各個業務線協作使用,* 減少重復開發和升級維護工作量
提升開發效率,更容易實現項目目標(范圍)
4、對已實現過的功能/業務,抽象出通用模塊,再有類似的需求,能夠 迅速實現,更容易實現項目的業務需求
提升產品質量,持續改進通用功能(質量)
頻繁使用的功能/業務模塊采用組件復用方式,更有利于暴露缺陷, 一處修改,多處受益,提高產品質量
其實說起提高效率,前面的很多經驗因為需要在實際開發中慢慢體會,難以迅速上手,反而是工具模板,真正見效快,一次安裝,終生受益 :)
就我的經驗而言,對我開發效率幫助很大,包括代碼模板、常用配置和開發插件,以及著名的程序員在線交友網站Github。
一般來說,程序員看自己一個月前寫的代碼,是完全陌生的,我也一樣,基本上過一個月就沒印象了,但是如果要修改/擴展怎么辦,這時候,就得看代碼注釋了。就個人經驗而言,有這么幾個地方,一定要寫注釋!
服務、廣播等,服務和廣播因為沒有界面,容易游離在業務邏輯鏈條之外,在業務邏輯上缺少上下文,就必須有詳盡的注釋,說明其業務場景。
初始化、注入等,如果自定義了一些擴展的功能或控件,要求執行某些初始化函數,或者要注入特定功能的,就必須寫好注釋,提示調用者進行必要的操作。
工作總要排優先級的,有些工作暫時延后,自己記錄是沒用的,團隊開發用的還是代碼,所以一定要寫TODO,提示開發者,這里是未完成的狀態,避免不必要的誤會和延誤。
以上就是軟多信息針對每一個軟件開發項目時,總結下來的一些經驗,由于篇幅問題有所刪減,如有沒有言說的地方,請諒解!
鄭州市管城區紫荊山路
興達國貿1001室
趙經理:13673670267
胡經理: 18137129857
周一到周六 8:30 ~ 18:00
為中小企業提供信息化、電商化、互聯網化的整體解決
方案,真正做到讓天下門店沒有難做的營銷!
微信小程序
微信公眾號
抖音賬號
Copyright ? 2017 軟多信息技術 All rights reserved. 增值電信業務經營許可證:豫B2-20200556 備案號:豫ICP備18038454號-4