日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何提升代码可读性?阿里发布16条设计规约

發布時間:2024/9/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何提升代码可读性?阿里发布16条设计规约 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

膾炙人口的唐詩“兩個黃鸝鳴翠柳,一行白鷺上青天”,清爽直接,簡明易懂。可讀性好的代碼也是讓人陶醉的,那么如何寫出可讀性的代碼?

近期,《阿里巴巴Java開發手冊》推出詳盡版,新增16條設計規約,讓優雅的代碼觸手可及。下面讓我們一起來了解。

《阿里巴巴Java開發手冊》最新詳盡版下載:

https://102.alibaba.com/downloadFile.do?file=1528269849853/Java_manual.pdf

該書是阿里內部Java工程師所遵循的開發規范,涵蓋編程規約、單元測試規約、異常日志規約、MySQL規約、工程規約、安全規約等,讓我們一起碼出高效、碼出質量。

為何要新增設計規約?

代碼的可讀性是指代碼讓人容易閱讀、理解、調試、可預料的程度。提高代碼的可讀性可以為代碼閱讀者節約時間和精力,提升團隊協作效率。熟悉和遵守《阿里巴巴JAVA開發手冊》的編程風格,那只是“標”,而代碼可讀性的“本”可以追溯到軟件設計階段。試想一下如果發型師沒有設計好,不用指望能剪出一個“可讀性”比較好的你。

設計是一種夢想和追求,誰都喜歡有氣質的女神,誰都會欣賞有設計感的代碼。你可能會問,什么是設計感?就像燒飯這件事,村姑和御廚都會燒,都能吃飽,但是菜品的美感、口感,有本質的區別。代碼到藝術層面上,能夠體現出來非常好的擴展性、解耦性。代碼就象積木一樣,靈活搭建,結構清晰,不用擔心拔出蘿卜帶出泥。

何為16條?

萬事萬物皆有法則,這種理論層面的抽象來自于實踐,同時理論指導下的實踐又不斷地修正或夯實理論。軟件設計有七大基礎原則,分別是:單一原則、開閉原則、里氏代換原則、組合復用原則、接口隔離原則、 依賴倒置原則、迪米特原則,這些原則指導著實際代碼生產中的模塊、類、方法的實現。

設計規約是根據阿里巴巴實際項目架構經驗提煉而成,共16條。設計規約主要從UML圖和架構設計原則來規定比較基礎的軟件設計理念,并且明確了超過什么樣的閾值需要以什么樣的方式來呈現設計思維。根據阿里巴巴內部的反饋聲音來看,對于數據底層結構、狀態圖、以及敏捷開發相關的三條,共鳴感最強,那么詳細點評一下:

數據底層結構

底層數據結構屬于大廈的地基工程,如果地基不穩,那么上層去修正難度是相當大的,甚至是無法修正。所以設計規約提倡,存儲方案和底層數據結構的設計獲得評審一致通過,并沉淀成為文檔。有缺陷的底層數據結構容易導致系統風險高,可擴展性差,重構成本因歷史數據遷移、系統平滑過渡也會陡然增加,所以,存儲方案和數據結構需要認真地進行設計和評審,生產環境提交執行后,需要進行double check。

評審內容包括存儲介質選型、表結構設計能否滿足技術方案、存取性能和存儲空間能否滿足業務發展、表或字段之間的辯證關系、字段名稱、字段類型、索引等;數據結構變更(如在原有表中新增字段)也需要進行評審通過后上線。

狀態圖

業務對象狀態相關的編碼錯誤是引起線上故障的一個重要導火索。多一個狀態,少一個狀態,如果沒有歷史設計文檔沉淀,那么都是災難性的。如果某個業務對象的狀態超過3個,使用狀態圖來表達并且明確狀態變化的各個觸發條件。

狀態圖的核心是對象狀態,首先明確對象有多少種狀態,然后明確兩兩狀態之間是否存在直接轉換關系,再明確觸發狀態轉換的條件是什么。淘寶訂單狀態有已下單、待付款、已付款、待發貨、已發貨、已收貨等。比如已下單與已收貨這兩種狀態之間是不可能有直接轉換關系的。

敏捷開發

敏捷開發是當下流行的一種開發模式,相比傳統軟件生產流程,更加快速地交付,短平快上線,占領前沿市場。但是,敏捷開發僅適合于信任度好、理解力強、技術水平相對一致的創業型團隊。但目前在很多公司,敏捷成為一個抓進度的拔苗助長式的借口,導致交付質量很差,開發同學幸福感低,用戶黏性差的現象,所以避免如下誤解:敏捷開發 = 講故事 + 編碼 + 發布。敏捷開發是快速交付迭代可用的系統,省略多余的設計方案,摒棄傳統的審批流程,但核心關鍵點上的必要設計和文檔沉淀是需要的。

寫在最后

我們相信技術之心生生不息,也相信好的規約值得被傳播和應用。本次新增的不單是16條新的設計規約,還是阿里技術人的情懷與追求。我們也期待大家的意見,持續完善《阿里巴巴Java開發手冊》。

每天一篇技術文章,

看不過癮?

關注“阿里巴巴機器智能”公眾號

發現更多AI干貨。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的如何提升代码可读性?阿里发布16条设计规约的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。