天天看點

軟體開發流程(一):總結軟體開發流程的經驗教訓

背景

  1. 複習軟體開發過程可能出現的問題。
  2. 沉澱經驗教訓。

過程

  • “如果你不知道如何寫代碼,是因為你的需求不明”。分享一個有力的觀點。這是剛入行的時候,同僚告訴的。
  • DDD過程
  1. 業務研究員(産品經理)與領域專家進行溝通,在這個過程中,如果有機會,程式員也可以參與讨論,學習更多領域知識。當然,如果有機會,也可以參與模型的設計。
  2. 無論是産品經理,還是程式員剛接觸一個領域的時候,對領域的概念存在錯誤了解和了解的不夠深,都是正常的。
  3. 産品經理設計的模型也可能存在不合理的地方,甚至是錯誤的。是以,開發前發現不合理的地方,就需要讨論和溝通了,這個是非常正常的。即使,在具體設計和編碼的過程中,發現了模型的錯誤設計,也需要讨論和溝通,并修改設計,這個也是非常正常的。
  4. 如果設計的模型确實相對複雜,那麼,可以多想,能不能提供另外的簡單的解決方案,然後,讨論溝通一下。如果依然不願意妥協,那麼可以多要一點兒開發時間。
  • 設計階段
  1. 無論是子產品設計,還是功能設計,都需要做到分層。定義好層與層之間的互動協定。通過這樣的方式,訓練自己去架構功能,架構子產品,構架整個項目。
  2. 層與層之間的互動協定并不一定是嚴格的。比如某些固定邏輯A項目與B項目是通過mq互動的,但是某些其他邏輯A項目和B項目是可以通過dubbo協定互動。要靈動,不然,太過于嚴格,反而設計是不好的。
  • 橫向開發模式
  1. 不要關心邊界以外的事情。不要關心邊界以外的事情。不要關心邊界以外的事情。這句話很管用,要這樣用。在開發前,不要擔心模型建立的複雜,不要擔心模型建立的不合理,有責任人的,不關開發者的事情。在開發過程中,一定要盡可能減少焦慮,不要太擔心,做到謹慎、細心就行了。在開發結束後,去學習和了解,把整個項目從頭到尾都梳理一次,架構設計,業務功能,然後做到心中有數。
  2. 記錄好日志是開發過程中的一件非常重要的事情。因為,這樣就知道自己的代碼的運作過程,非常友善定位問題。尤其是橫向開發,把api的入參記錄好,然後調用别人的api的時候把參數也記錄一下。 如果是縱向開發的話,自己非常好調試,因為整個邏輯代碼都是自己寫的,可是橫向的話,就需要詳細記錄日志了。
  • 上線
  1. 代碼是永遠存在bug的。不要追求完美。隻需要寫的代碼bug的個數在合理的範圍内即可。

小結

梳理一下經驗教訓。

繼續閱讀