亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

阿里巴巴制定了這 16 條設(shè)計(jì)規(guī)約!

archieyang / 1002人閱讀

摘要:強(qiáng)制存儲(chǔ)方案和底層數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)獲得評(píng)審一致通過(guò),并沉淀成為文檔。正例淘寶訂單狀態(tài)有已下單待付款已付款待發(fā)貨已發(fā)貨已收貨等。確定指導(dǎo)后續(xù)設(shè)計(jì)與演化的原則。

1、【強(qiáng)制】存儲(chǔ)方案和底層數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)獲得評(píng)審一致通過(guò),并沉淀成為文檔。

說(shuō)明:有缺陷的底層數(shù)據(jù)結(jié)構(gòu)容易導(dǎo)致系統(tǒng)風(fēng)險(xiǎn)上升,可擴(kuò)展性下降,重構(gòu)成本也會(huì)因歷史數(shù)據(jù)遷移和系統(tǒng)平滑過(guò)渡而陡然增加,所以,存儲(chǔ)方案和數(shù)據(jù)結(jié)構(gòu)需要認(rèn)真地進(jìn)行設(shè)計(jì)和評(píng)審,生產(chǎn)環(huán)境提交執(zhí)行后,需要進(jìn)行 double check。

正例:評(píng)審內(nèi)容包括存儲(chǔ)介質(zhì)選型、表結(jié)構(gòu)設(shè)計(jì)能否滿(mǎn)足技術(shù)方案、存取性能和存儲(chǔ)空間能否滿(mǎn)足業(yè)務(wù)發(fā)展、表或字段之間的辯證關(guān)系、字段名稱(chēng)、字段類(lèi)型、索引等;數(shù)據(jù)結(jié)構(gòu)變更(如在原有表中新增字段)也需要進(jìn)行評(píng)審?fù)ㄟ^(guò)后上線。

2、【強(qiáng)制】在需求分析階段,如果與系統(tǒng)交互的 User 超過(guò)一類(lèi)并且相關(guān)的 User Case 超過(guò) 5 個(gè),使用用例圖來(lái)表達(dá)更加清晰的結(jié)構(gòu)化需求。
3、【強(qiáng)制】如果某個(gè)業(yè)務(wù)對(duì)象的狀態(tài)超過(guò) 3 個(gè),使用狀態(tài)圖來(lái)表達(dá)并且明確狀態(tài)變化的各個(gè)觸發(fā)條件。

說(shuō)明:狀態(tài)圖的核心是對(duì)象狀態(tài),首先明確對(duì)象有多少種狀態(tài),然后明確兩兩狀態(tài)之間是否存在直接轉(zhuǎn)換關(guān)系,再明確觸發(fā)狀態(tài)轉(zhuǎn)換的條件是什么。

正例:淘寶訂單狀態(tài)有已下單、待付款、已付款、待發(fā)貨、已發(fā)貨、已收貨等。比如已下單與已收貨這兩種狀態(tài)之間是不可能有直接轉(zhuǎn)換關(guān)系的。

4、【強(qiáng)制】如果系統(tǒng)中某個(gè)功能的調(diào)用鏈路上的涉及對(duì)象超過(guò) 3 個(gè),使用時(shí)序圖來(lái)表達(dá)并且明確各調(diào)用環(huán)節(jié)的輸入與輸出。

說(shuō)明:時(shí)序圖反映了一系列對(duì)象間的交互與協(xié)作關(guān)系,清晰立體地反映系統(tǒng)的調(diào)用縱深鏈路。

5、【強(qiáng)制】如果系統(tǒng)中模型類(lèi)超過(guò) 5 個(gè),并且存在復(fù)雜的依賴(lài)關(guān)系,使用類(lèi)圖來(lái)表達(dá)并且明確類(lèi)之間的關(guān)系。

說(shuō)明:類(lèi)圖像建筑領(lǐng)域的施工圖,如果搭平房,可能不需要,但如果建造螞蟻 Z 空間大樓,肯定需要詳細(xì)的施工圖。

6、【強(qiáng)制】如果系統(tǒng)中超過(guò) 2 個(gè)對(duì)象之間存在協(xié)作關(guān)系,并且需要表示復(fù)雜的處理流程,使用活動(dòng)圖來(lái)表示。

說(shuō)明:活動(dòng)圖是流程圖的擴(kuò)展,增加了能夠體現(xiàn)協(xié)作關(guān)系的對(duì)象泳道,支持表示并發(fā)等。

7、【推薦】需求分析與系統(tǒng)設(shè)計(jì)在考慮主干功能的同時(shí),需要充分評(píng)估異常流程與業(yè)務(wù)邊界。

反例:用戶(hù)在淘寶付款過(guò)程中,銀行扣款成功,發(fā)送給用戶(hù)扣款成功短信,但是支付寶入款時(shí)由于斷網(wǎng)演練產(chǎn)生異常,淘寶訂單頁(yè)面依然顯示未付款,導(dǎo)致用戶(hù)投訴。

8、【推薦】類(lèi)在設(shè)計(jì)與實(shí)現(xiàn)時(shí)要符合單一原則。

說(shuō)明:?jiǎn)我辉瓌t最易理解卻是最難實(shí)現(xiàn)的一條規(guī)則,隨著系統(tǒng)演進(jìn),很多時(shí)候,忘記了類(lèi)設(shè)計(jì)的初衷。

9、【推薦】謹(jǐn)慎使用繼承的方式來(lái)進(jìn)行擴(kuò)展,優(yōu)先使用聚合/組合的方式來(lái)實(shí)現(xiàn)。

說(shuō)明:不得已使用繼承的話(huà),必須符合里氏代換原則,此原則說(shuō)父類(lèi)能夠出現(xiàn)的地方子類(lèi)一定能夠出現(xiàn),比如,“把錢(qián)交出來(lái)”,錢(qián)的子類(lèi)美元、歐元、人民幣等都可以出現(xiàn)。

10、【推薦】系統(tǒng)設(shè)計(jì)時(shí),根據(jù)依賴(lài)倒置原則,盡量依賴(lài)抽象類(lèi)與接口,有利于擴(kuò)展與維護(hù)。

說(shuō)明:低層次模塊依賴(lài)于高層次模塊的抽象,方便系統(tǒng)間的解耦。

11、【推薦】系統(tǒng)設(shè)計(jì)時(shí),注意對(duì)擴(kuò)展開(kāi)放,對(duì)修改閉合。

說(shuō)明:極端情況下,交付的代碼都是不可修改的,同一業(yè)務(wù)域內(nèi)的需求變化,通過(guò)模塊或類(lèi)的擴(kuò)展來(lái)實(shí)現(xiàn)。

12、【推薦】系統(tǒng)設(shè)計(jì)階段,共性業(yè)務(wù)或公共行為抽取出來(lái)公共模塊、公共配置、公共類(lèi)、公共方法等,避免出現(xiàn)重復(fù)代碼或重復(fù)配置的情況。

說(shuō)明:隨著代碼的重復(fù)次數(shù)不斷增加,維護(hù)成本指數(shù)級(jí)上升。

13、【推薦】避免如下誤解:敏捷開(kāi)發(fā) = 講故事 + 編碼 + 發(fā)布。

說(shuō)明:敏捷開(kāi)發(fā)是快速交付迭代可用的系統(tǒng),省略多余的設(shè)計(jì)方案,摒棄傳統(tǒng)的審批流程,但核心關(guān)鍵點(diǎn)上的必要設(shè)計(jì)和文檔沉淀是需要的。

反例:某團(tuán)隊(duì)為了業(yè)務(wù)快速發(fā)展,敏捷成了產(chǎn)品經(jīng)理催進(jìn)度的借口,系統(tǒng)中均是勉強(qiáng)能運(yùn)行但像面條一樣的代碼,可維護(hù)性和可擴(kuò)展性極差,一年之后,不得不進(jìn)行大規(guī)模重構(gòu),得不償失。

14、【參考】系統(tǒng)設(shè)計(jì)主要目的是明確需求、理順邏輯、后期維護(hù),次要目的用于指導(dǎo)編碼。

說(shuō)明:避免為了設(shè)計(jì)而設(shè)計(jì),系統(tǒng)設(shè)計(jì)文檔有助于后期的系統(tǒng)維護(hù),所以設(shè)計(jì)結(jié)果需要進(jìn)行分類(lèi)歸檔保存。

15、【參考】設(shè)計(jì)的本質(zhì)就是識(shí)別和表達(dá)系統(tǒng)難點(diǎn),找到系統(tǒng)的變化點(diǎn),并隔離變化點(diǎn)。

說(shuō)明:世間眾多設(shè)計(jì)模式目的是相同的,即隔離系統(tǒng)變化點(diǎn)。

16、【參考】系統(tǒng)架構(gòu)設(shè)計(jì)的目的:

確定系統(tǒng)邊界。確定系統(tǒng)在技術(shù)層面上的做與不做。

確定系統(tǒng)內(nèi)模塊之間的關(guān)系。確定模塊之間的依賴(lài)關(guān)系及模塊的宏觀輸入與輸出。

確定指導(dǎo)后續(xù)設(shè)計(jì)與演化的原則。使后續(xù)的子系統(tǒng)或模塊設(shè)計(jì)在規(guī)定的框架內(nèi)繼續(xù)演化。

確定非功能性需求。非功能性需求是指安全性、可用性、可擴(kuò)展性等。

本文內(nèi)容整理自《阿里巴巴Java開(kāi)發(fā)手冊(cè) 1.4.0》,獲取完整版請(qǐng)關(guān)注以下公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字:手冊(cè)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/76864.html

相關(guān)文章

  • 新增16設(shè)計(jì)規(guī)約!阿里巴巴Java開(kāi)發(fā)手冊(cè)(詳盡版)開(kāi)放下載!

    摘要:熟悉和遵守阿里巴巴開(kāi)發(fā)手冊(cè)的編程風(fēng)格,那只是標(biāo),而代碼可讀性的本可以追溯到軟件設(shè)計(jì)階段。何為條設(shè)計(jì)規(guī)約是根據(jù)阿里巴巴實(shí)際項(xiàng)目架構(gòu)經(jīng)驗(yàn)提煉而成,共條。本次新增的不單是條新的設(shè)計(jì)規(guī)約,還是千萬(wàn)阿里人的技術(shù)之心。 摘要:2018年6月,《阿里巴巴Java開(kāi)發(fā)手冊(cè)》再次刷新代碼規(guī)范認(rèn)知,我們新增了16條設(shè)計(jì)規(guī)約!現(xiàn)免費(fèi)開(kāi)放下載,不可錯(cuò)過(guò)!《阿里巴巴Java開(kāi)發(fā)手冊(cè)》是阿里內(nèi)部Java工程師所遵...

    _ang 評(píng)論0 收藏0
  • 阿里巴巴Java代碼規(guī)約插件p3c-pmd使用指南與實(shí)現(xiàn)解析

    摘要:年月底,阿里巴巴集團(tuán)發(fā)布了阿里巴巴開(kāi)發(fā)手冊(cè)終極版,年月日,在杭州云棲大會(huì)上,代碼規(guī)約插件全球首發(fā),插件支持以上版本和以上版本。阿里巴巴代碼規(guī)約插件安裝阿里代碼規(guī)約插件有插件和插件。 2017年9月底,阿里巴巴集團(tuán)發(fā)布了《阿里巴巴Java開(kāi)發(fā)手冊(cè)》PDF終極版,2017年10月14日,在2017杭州云棲大會(huì)上,Java代碼規(guī)約插件全球首發(fā),p3c-pmd插件支持Eclipse4.2以上版...

    worldligang 評(píng)論0 收藏0
  • 常識(shí)之外的規(guī)范——阿里java開(kāi)發(fā)手冊(cè)筆記(全章節(jié))

    摘要:說(shuō)明這篇文章是我第一次認(rèn)真閱讀阿里巴巴開(kāi)發(fā)手冊(cè)終極版的筆記。說(shuō)明本手冊(cè)明確防止是調(diào)用者的責(zé)任。一年半載后,那么單元測(cè)試幾乎處于廢棄狀態(tài)。好的單元測(cè)試能夠最大限度地規(guī)避線上故障。 說(shuō)明 這篇文章是我第一次(認(rèn)真)閱讀《阿里巴巴 Java 開(kāi)發(fā)手冊(cè)(終極版)》的筆記。手冊(cè)本身對(duì)規(guī)范的講解已經(jīng)非常詳細(xì)了,如果你已經(jīng)有一定的開(kāi)發(fā)經(jīng)驗(yàn)并且有良好的編碼習(xí)慣和意識(shí),會(huì)發(fā)現(xiàn)大部分規(guī)范是符合常識(shí)的。所以...

    Martin91 評(píng)論0 收藏0
  • IntelliJ IDEA 18 周歲,吐血推進(jìn)珍藏已久的必裝插件

    摘要:代碼規(guī)約掃描插件以今年年初發(fā)布的阿里巴巴開(kāi)發(fā)規(guī)約為標(biāo)準(zhǔn),作為的插件形式存在,檢測(cè)代碼中存在不規(guī)范得位置然后給予提示。 IntelliJ IDEA是目前最好最強(qiáng)最智能的Java IDE,前幾天,他剛剛年滿(mǎn)18歲。 showImg(https://segmentfault.com/img/remote/1460000017974611);? 本文,給大家推薦幾款我私藏已久的,自己經(jīng)常使用的...

    趙春朋 評(píng)論0 收藏0
  • 如何在企業(yè)各團(tuán)隊(duì)間推廣開(kāi)發(fā)規(guī)范?

    摘要:前些日在阿里技術(shù)公眾號(hào)回復(fù)了一個(gè)開(kāi)發(fā)規(guī)范如何推廣的問(wèn)題,獲得了蠻多點(diǎn)贊。參與制定規(guī)范如果你直接把阿里開(kāi)發(fā)手冊(cè)扔給開(kāi)發(fā)人員,大多數(shù)開(kāi)發(fā)是抵觸的。阿里的開(kāi)發(fā)手冊(cè)很詳細(xì),但不建議你直接作為你企業(yè)的規(guī)范。 前些日在阿里技術(shù)公眾號(hào)回復(fù)了一個(gè)開(kāi)發(fā)規(guī)范如何推廣的問(wèn)題,獲得了蠻多點(diǎn)贊。故寫(xiě)此一篇文章細(xì)講一下我們的推廣方式,給困惑的朋友貢獻(xiàn)一點(diǎn)思路。 開(kāi)發(fā)規(guī)范很重要 領(lǐng)導(dǎo)要一盤(pán)西紅柿炒蛋,交給A,B,C...

    _DangJin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<