摘要:強制存儲方案和底層數據結構的設計獲得評審一致通過,并沉淀成為文檔。正例淘寶訂單狀態有已下單待付款已付款待發貨已發貨已收貨等。確定指導后續設計與演化的原則。
說明:有缺陷的底層數據結構容易導致系統風險上升,可擴展性下降,重構成本也會因歷史數據遷移和系統平滑過渡而陡然增加,所以,存儲方案和數據結構需要認真地進行設計和評審,生產環境提交執行后,需要進行 double check。
正例:評審內容包括存儲介質選型、表結構設計能否滿足技術方案、存取性能和存儲空間能否滿足業務發展、表或字段之間的辯證關系、字段名稱、字段類型、索引等;數據結構變更(如在原有表中新增字段)也需要進行評審通過后上線。
說明:狀態圖的核心是對象狀態,首先明確對象有多少種狀態,然后明確兩兩狀態之間是否存在直接轉換關系,再明確觸發狀態轉換的條件是什么。
正例:淘寶訂單狀態有已下單、待付款、已付款、待發貨、已發貨、已收貨等。比如已下單與已收貨這兩種狀態之間是不可能有直接轉換關系的。
說明:時序圖反映了一系列對象間的交互與協作關系,清晰立體地反映系統的調用縱深鏈路。
說明:類圖像建筑領域的施工圖,如果搭平房,可能不需要,但如果建造螞蟻 Z 空間大樓,肯定需要詳細的施工圖。
說明:活動圖是流程圖的擴展,增加了能夠體現協作關系的對象泳道,支持表示并發等。
反例:用戶在淘寶付款過程中,銀行扣款成功,發送給用戶扣款成功短信,但是支付寶入款時由于斷網演練產生異常,淘寶訂單頁面依然顯示未付款,導致用戶投訴。
說明:單一原則最易理解卻是最難實現的一條規則,隨著系統演進,很多時候,忘記了類設計的初衷。
說明:不得已使用繼承的話,必須符合里氏代換原則,此原則說父類能夠出現的地方子類一定能夠出現,比如,“把錢交出來”,錢的子類美元、歐元、人民幣等都可以出現。
說明:低層次模塊依賴于高層次模塊的抽象,方便系統間的解耦。
說明:極端情況下,交付的代碼都是不可修改的,同一業務域內的需求變化,通過模塊或類的擴展來實現。
說明:隨著代碼的重復次數不斷增加,維護成本指數級上升。
說明:敏捷開發是快速交付迭代可用的系統,省略多余的設計方案,摒棄傳統的審批流程,但核心關鍵點上的必要設計和文檔沉淀是需要的。
反例:某團隊為了業務快速發展,敏捷成了產品經理催進度的借口,系統中均是勉強能運行但像面條一樣的代碼,可維護性和可擴展性極差,一年之后,不得不進行大規模重構,得不償失。
說明:避免為了設計而設計,系統設計文檔有助于后期的系統維護,所以設計結果需要進行分類歸檔保存。
說明:世間眾多設計模式目的是相同的,即隔離系統變化點。
確定系統邊界。確定系統在技術層面上的做與不做。
確定系統內模塊之間的關系。確定模塊之間的依賴關系及模塊的宏觀輸入與輸出。
確定指導后續設計與演化的原則。使后續的子系統或模塊設計在規定的框架內繼續演化。
確定非功能性需求。非功能性需求是指安全性、可用性、可擴展性等。
本文內容整理自《阿里巴巴Java開發手冊 1.4.0》,獲取完整版請關注以下公眾號后臺回復關鍵字:手冊。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/76864.html
摘要:熟悉和遵守阿里巴巴開發手冊的編程風格,那只是標,而代碼可讀性的本可以追溯到軟件設計階段。何為條設計規約是根據阿里巴巴實際項目架構經驗提煉而成,共條。本次新增的不單是條新的設計規約,還是千萬阿里人的技術之心。 摘要:2018年6月,《阿里巴巴Java開發手冊》再次刷新代碼規范認知,我們新增了16條設計規約!現免費開放下載,不可錯過!《阿里巴巴Java開發手冊》是阿里內部Java工程師所遵...
摘要:年月底,阿里巴巴集團發布了阿里巴巴開發手冊終極版,年月日,在杭州云棲大會上,代碼規約插件全球首發,插件支持以上版本和以上版本。阿里巴巴代碼規約插件安裝阿里代碼規約插件有插件和插件。 2017年9月底,阿里巴巴集團發布了《阿里巴巴Java開發手冊》PDF終極版,2017年10月14日,在2017杭州云棲大會上,Java代碼規約插件全球首發,p3c-pmd插件支持Eclipse4.2以上版...
摘要:說明這篇文章是我第一次認真閱讀阿里巴巴開發手冊終極版的筆記。說明本手冊明確防止是調用者的責任。一年半載后,那么單元測試幾乎處于廢棄狀態。好的單元測試能夠最大限度地規避線上故障。 說明 這篇文章是我第一次(認真)閱讀《阿里巴巴 Java 開發手冊(終極版)》的筆記。手冊本身對規范的講解已經非常詳細了,如果你已經有一定的開發經驗并且有良好的編碼習慣和意識,會發現大部分規范是符合常識的。所以...
摘要:代碼規約掃描插件以今年年初發布的阿里巴巴開發規約為標準,作為的插件形式存在,檢測代碼中存在不規范得位置然后給予提示。 IntelliJ IDEA是目前最好最強最智能的Java IDE,前幾天,他剛剛年滿18歲。 showImg(https://segmentfault.com/img/remote/1460000017974611);? 本文,給大家推薦幾款我私藏已久的,自己經常使用的...
摘要:前些日在阿里技術公眾號回復了一個開發規范如何推廣的問題,獲得了蠻多點贊。參與制定規范如果你直接把阿里開發手冊扔給開發人員,大多數開發是抵觸的。阿里的開發手冊很詳細,但不建議你直接作為你企業的規范。 前些日在阿里技術公眾號回復了一個開發規范如何推廣的問題,獲得了蠻多點贊。故寫此一篇文章細講一下我們的推廣方式,給困惑的朋友貢獻一點思路。 開發規范很重要 領導要一盤西紅柿炒蛋,交給A,B,C...
閱讀 2912·2021-10-14 09:42
閱讀 1260·2021-09-24 10:32
閱讀 2976·2021-09-23 11:21
閱讀 2854·2021-08-27 13:10
閱讀 3343·2019-08-29 18:41
閱讀 2207·2019-08-29 15:16
閱讀 1217·2019-08-29 13:17
閱讀 900·2019-08-29 11:22