精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何提升代碼質量

原創 精選
開發
工作幾年的人還寫出那么難看的代碼,說出去會很丟人的,所以提升自己的編碼水平顯得尤為迫切。那么可以從哪些方面著手去提升自己的能力呢?

作者 | 郝安康

有這么一句名言“Talk is cheap, Show me the code.” 不管是新人還是老手,都特別想提高自己的代碼質量,至少讓別人看著舒服。我在以往的工作經歷中,并沒有太重視個人編碼的能力,包括正確性、美觀性還有效率。工作幾年的人還寫出那么難看的代碼,說出去會很丟人的,所以提升自己的編碼水平顯得尤為迫切。

那么可以從哪些方面著手去提升自己的能力呢?

書籍推薦

《重構》

世界頂級、國寶級別的 Martin Fowler 的書籍,可以說是軟件開發領域最經典的幾本書之一。目前已經出了第二版。

這是一本值得反復閱讀的書籍,配合工作上的實踐進行學習。

《重構》一書已經有明確的定義,分名詞和動詞兩種形式。

  • 重構(名詞):對軟件內部結構的一種調整,目的是在不改變軟件可觀察行為的前提下,提高其可理解性,降低其修改成本。
  • 重構(動詞):使用一系列重構手法,在不改變軟件可觀察行為的前提下,調整其結構。

《Clean Code》

《Clean Code》是 Bob 大叔的一本經典著作,強烈建議小伙伴們一定要看看。

Bob 大叔將自己對整潔代碼的理解濃縮在了這本書中,真可謂是對后生的一大饋贈。

《Head First 設計模式》

《大話設計模式》

設計模式用于承載復雜的業務邏輯,使寫出的代碼簡潔、易擴展。簡單地說,你需要去了解業務中哪些是變化的,哪些是不變的。這些變化的東西就是復雜的業務邏輯,你需要思考如何用一種合適的設計模式去承載它,使得當它發生變化的時候,能具有很好的擴展性。這時候如果你學過設計模式,對每種設計模式的使用場景都諳熟于心,那你做起來會更加得心應手。

《Effective java 》

《Effective Java》是 Java 領域的經典著作,其影響力不亞于《Java 編程思想》。

對于一個 Java 工程師而言,在新技術不斷涌現和迭代的情況下,學習的能力以及如何快速學習的能力是成長的關鍵。學習的方法、思維和能力給一個人成長的助推是巨大的。

其他

  • 阿里巴巴 Java 開發手冊 :https://github.com/alibaba/p3c
  • Google Java 編程風格指南:http://www.hawstein.com/posts

優秀源碼推薦

因個人作為后臺開發者,主要學習使用 Java 語言,所以此處推薦的也是 Java 相關的源碼學習,不過大道至簡,語言千千種,核心不會變。

Github 上有不少 star 數極高的項目,大部分功能性比較強,涉及到的技術點也比較先進,用來學習技術確實不錯,但并不是所有的代碼風格都值得學習,為了避免踩坑,這里就不列舉這類項目。這里推薦的源碼都是 Java 生態的框架源碼。

JDK

為什么要看 JDK 源碼?

  • JDK源碼是其它所有源碼的基礎,看懂了JDK源碼再看其它的源碼會達到事半功倍的效果。
  • JDK源碼中包含大量的數據結構知識,是學習數據結構很好的資料,比如,鏈表、隊列、散列表、紅黑樹、跳表、桶、堆、雙端隊列等。
  • JDK源碼中包含大量的設計模式,是學習設計模式很好的資料,比如,適配器模式、模板方法模式、裝飾器模式、迭代器模式、代理模式、工廠模式、命令模式、狀態模式等。
  • JDK源碼中包含大量Java的高階知識,比如弱引用、Unsafe、CAS、鎖原理、偽共享等,不看源碼是很難學會這些知識的。

JDK 源碼閱讀順序:

  • java.lang 包下的基本包裝類(Integer、Long、Double、Float等),還有字符串相關類(String、StringBuffer、StringBuilder等)、常用類(Object、Exception、Thread、ThreadLocal等)。
  • java.lang.ref 包下的引用類(WeakReference、SoftReference等)
  • java.lang.annotation 包下的注解的相關類
  • java.lang.reflect 包下的反射的相關類
  • java.util 包下為一些工具類,主要由各種容器和集合類(Map、Set、List等)
  • java.util.concurrent 為并發包,主要是原子類、鎖以及并發工具類
  • java.io和 java.nio 可以結合著看
  • java.time 主要包含時間相關的類,可以學習下 Java 8 新增的幾個
  • java.net包下為網絡通信相關的類,可以閱讀下 Socket 和 HTTPClient 相關代碼

源碼量那么大,不要妄想一口氣都看完。最好符合你當前的目的,比如你想搞懂多線程,你就主要看 JUC,想搞懂IO 就多去看 NIO,想看常量池就去看 ClassFileParser。看模塊的時候,要注意接口大于一切,或者說函數大于一切。先不要妄想搞懂所有細節,先找幾個比較關鍵的函數,搞懂函數的作用(比如應該仔細分析一下函數名稱和參數名稱)然后再往下進行。

在看 Java 類庫的時候要多注意類是不是 abstract 的,是不是用的模板方法,多關注函數前的修飾詞,這一般說明這個函數是給誰用的。多注意這些細節而不是傻傻過一遍邏輯,能從里面學到不少關于設計的東西。還可以注意什么地方是為了之前的設計而委曲求全的做法,畢竟一個這么多年的類庫,肯定不是什么地方都是完美的。

JDK 源碼一定要看 Java 并發相關的源碼, Doug Lea 的并發源碼比較漂亮,一行行都是精華,非常值得閱讀學習。

工具

看類庫首推IDEA,多用 Structure,多自動生成 UML 圖。先搞清楚接口和類之間的關系,再去分析函數。

最后在學習源碼的過程中,不要介意看別人的博客,不要介意手抄筆記。

Spring-Framework

Spring Framework 是一個開源的 Java/Java EE 全棧(full-stack)應用程序框架,以 Apache 許可證形式發布,也有 .NET 平臺上的移植版本。該框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,最初由 Rod Johnson 和 Juergen Hoeller 等開發。Spring Framework 提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。

圖片出處:Spring官方文檔

Spring 是一個開源的設計層面框架,它解決的是業務邏輯層和其他各層的松耦合問題,因此它將面向接口的編程思想貫穿整個系統應用。包括在此基礎上衍生的 Spring MVC、 Spring Boot 、Spring Cloud 等,在現在企業中的應用越來越廣泛。無論是設計思想,代碼規范,還是設計模式,接口設計,類加載,都是非常優秀的源碼。

個人學習心得如下:先去看視頻,大概熟悉一下 Spring 的使用情況,然后再去學習源碼,此處可以閱讀《Spring源碼深度解析》,除了看書之外,記得打開 IDEA 查看對應的源碼,如果能調試看看具體調用邏輯那就更好了。

Google Guava

Google Guava 是 Google 公司內部 Java 開發工具庫的開源版本。Google 內部的很多 Java 項目都在使用它。它提供了一些 JDK 沒有提供的功能,以及對 JDK 已有功能的增強功能。其中就包括:集合(Collections)、緩存(Caching)、原生類型支持(Primitives Support)、并發庫(Concurrency Libraries)、通用注解(Common Annotation)、字符串處理(Strings Processing)、數學計算(Math)、I/O、事件總線(EventBus)等等。

實踐

通過上述兩大途徑的學習,我們必須要將吸收的東西加以實踐,有輸入就要有輸出,不然輸入也就毫無意義。

這里需要著重強調 Code Review 的好處,簡單整理有如下三點好處:

1. 互相學習,共同成長

無論身處什么團隊,團隊成員的技術能力、經驗都是有差異的。

通過 Code Review,對于同樣的功能實現,有經驗的工程師可以給經驗尚淺的工程師提供合理的優化建議。經驗尚淺的工程師可以通過閱讀優質代碼,快速學習相關技術運用的最佳實踐。如果大家技術實力相當,可能就是互相刷新思想了。

2. 知識共享

進行 Code Review 不僅僅是為了講述代碼如何編寫,還要介紹其背后涉及的業務知識,在此過程中,根據提交者的描述閱讀代碼的邏輯,看代碼實現是否跟描述一致。

通過 Review,讓團隊成員不再局限于項目的某一塊業務,避免項目只有一個人了解項目的尷尬情況。特殊情況下,也可以及時代替別人來維護相關代碼,尤其是在沒有相關業務功能說明文檔的情況下。

3. 統一編碼風格,提升質量

代碼質量大概分為以下層級:

可以正常運行——可以測試通過——容易閱讀——容易維護。

Code Review 至少要讓代碼達到易閱讀的級別。

要想做到易閱讀,可不是光靠 Code Review 就夠了,首先需要觀察整個項目的風格,按照已有的規范編寫相同風格的代碼,當然每個人的風格不可能完全相同,但是要保證整體風格相似,這樣維護起來不至于難受。

總結

如今寫代碼就像以前上學時寫字一樣,能寫得好代碼就相當于寫了一手好字。如果你隔段時間回頭看自己的字都不忍直視,那么可以通過臨摹練字來提升自己,最終習得一手好字。

練字多了就會成為習慣,再往后寫字就變成下意識的習慣。而寫代碼可沒有那么簡單,寫之前需要用大腦思考,選用什么模式,如何設計,寫完后要想著如何優化。

按照上文的學習方法,慢慢改善自己的編碼習慣,最終達到下筆如有神的境界。

責任編輯:趙寧寧 來源: Thoughtworks洞見
相關推薦

2017-01-20 09:45:20

JavaScript代碼質量

2024-08-06 12:35:42

C#代碼重構

2024-10-30 08:08:45

2025-03-04 00:00:33

2013-09-22 10:38:46

代碼優化經驗

2024-05-14 15:28:09

Python類型提示開發

2009-03-05 13:47:59

2019-09-16 09:05:05

前端開發技術

2022-08-04 09:01:45

TypeScriptMicrosoft

2016-02-24 16:03:34

代碼質量編寫函數

2023-01-06 18:31:46

準確命名

2016-02-23 11:03:03

代碼質量編寫函數

2012-11-07 09:48:26

2025-08-04 02:22:00

2014-02-04 19:48:07

重構代碼質量

2021-08-19 15:19:16

代碼開發模型

2023-08-15 08:32:09

yaraQA語法規則

2022-10-11 08:00:00

人工智能機器學習數據

2009-05-07 08:48:16

iPhone蘋果移動OS

2023-10-10 14:57:49

點贊
收藏

51CTO技術棧公眾號

久久大香伊蕉在人线观看热2| www.日韩免费| 国产精品va无码一区二区| 色鬼7777久久| 日韩va亚洲va欧美va久久| 中文字幕不卡在线视频极品| 91性高潮久久久久久久| 福利写真视频网站在线| 国产亚洲午夜高清国产拍精品| 国产精品自拍偷拍| 国产精品美女毛片真酒店| 国产欧美日韩免费观看 | 国产免费一区二区三区最新不卡 | 天天插天天干天天操| 一区二区三区国产在线| xxx一区二区| 日本免费福利视频| 麻豆久久一区| 91传媒视频在线播放| 宅男一区二区三区| 你懂的在线观看| 成人在线视频一区二区| 国产精品永久在线| 国产无套丰满白嫩对白| 国内成人在线| 久久影院资源网| 亚洲av无码一区二区三区人| jizz性欧美23| 日韩视频在线永久播放| 国产3p在线播放| 国产精品粉嫩| 天天色天天操综合| 自拍偷拍亚洲色图欧美| 国产精品麻豆一区二区三区 | 欧美日韩一区在线播放| 亚洲精品无amm毛片| 久久成人18免费观看| 青青草原成人在线视频| 国产精品50页| 国产在线成人| 欧美成人在线免费视频| 亚洲AV成人无码网站天堂久久| 亚洲最好看的视频| 亚洲国产日韩一区| 五月天激情小说| 天堂精品久久久久| 欧美一二三区在线观看| 亚洲成人手机在线观看| 99精品女人在线观看免费视频| 在线视频中文字幕一区二区| 日日摸天天爽天天爽视频| 国产盗摄——sm在线视频| 亚洲午夜免费电影| 奇米影视亚洲色图| 国产一线二线在线观看 | www.国产精品一二区| 日韩福利在线视频| 久久综合av| 久久人体大胆视频| 91porn在线视频| 欧美精品自拍| 国内精品久久久久| 天天操天天摸天天干| 一本不卡影院| 国产成人福利视频| 伊人精品一区二区三区| 久久精品国产99国产| 91久久国产婷婷一区二区| 国产视频在线观看视频| 国产.欧美.日韩| 久久av一区二区| 91污片在线观看| 亚洲精品综合精品自拍| 添女人荫蒂视频| 久草成人在线| 日韩中文字幕在线| 国精品无码一区二区三区| 欧美视频成人| 4438全国亚洲精品在线观看视频| 在线天堂中文字幕| 日本午夜精品视频在线观看| 国产日韩专区在线| 精品国产黄色片| av午夜一区麻豆| 日韩亚洲视频在线| 高清全集视频免费在线| 亚洲永久精品国产| 国产精品免费成人| 国产成+人+综合+亚洲欧美| 制服丝袜亚洲播放| 在线黄色免费网站| 狠狠操综合网| 欧美成在线视频| 中国一级特黄毛片| 免费成人在线网站| 不卡视频一区二区| 邻居大乳一区二区三区| 综合久久综合久久| 尤物av无码色av无码| 成人一区视频| 亚洲成人黄色在线观看| 国产探花视频在线播放| 国内自拍一区| 国产精品欧美亚洲777777| 精品人妻一区二区三区四区不卡| 久久综合狠狠综合久久综合88| 亚洲成人av动漫| 538在线精品| 欧美剧情电影在线观看完整版免费励志电影 | 五十路六十路七十路熟婆| 国产一区2区| 欧美国产日韩一区| 亚洲天堂免费av| av中文字幕不卡| 亚洲一区二区三区免费看| h片在线观看视频免费免费| 欧洲精品视频在线观看| 精品影片一区二区入口| 欧美激情91| 国产精品视频资源| 日本天堂在线| 亚州成人在线电影| 欧美性受xxxx黒人xyx性爽| 亚洲精品国产动漫| 午夜精品在线视频| 精品国产av鲁一鲁一区| 中文字幕中文字幕一区二区| 国产精品无码av在线播放| 日本少妇精品亚洲第一区| 丝袜美腿亚洲一区二区| 五月天婷婷综合网| 成人免费看的视频| 看一级黄色录像| 在线高清欧美| 在线色欧美三级视频| 国产欧美一区二区三区在线看蜜臂| 韩日av一区二区| 亚洲欧洲三级| 神马久久午夜| 日韩av在线一区| 久久久久成人精品无码| 国产伦精品一区二区三区在线观看 | 97视频人免费观看| 免费激情视频网站| 亚洲一二三区在线观看| 香蕉在线观看视频| 一区二区三区四区在线观看国产日韩| 国产精品入口福利| av色图一区| 欧美三级日韩三级国产三级| 免费黄色在线网址| 青青草原综合久久大伊人精品优势| 欧日韩一区二区三区| 日韩免费va| 一区二区三区美女xx视频| 久久精品视频2| 国产调教视频一区| 亚洲36d大奶网| 999精品色在线播放| 91精品免费久久久久久久久| 免费人成在线观看播放视频| 欧美日韩在线综合| 日韩免费av一区| 国产在线视频精品一区| 97在线免费视频观看| 波多野结衣欧美| 欧美国产日产韩国视频| 欧美一区二区三区成人片在线| 亚洲午夜精品17c| 三叶草欧洲码在线| 日韩国产欧美在线视频| 在线观看国产一区| 亚洲综合色婷婷在线观看| 久久久久日韩精品久久久男男| 天堂v在线观看| 欧美日韩综合视频| 91禁男男在线观看| 国产在线不卡一区| 少妇av一区二区三区无码| 国产精品中文字幕亚洲欧美| 国产主播喷水一区二区| 99在线视频影院| 亚洲性日韩精品一区二区| 国产又黄又猛又爽| 性做久久久久久久免费看| 色婷婷在线影院| 精品夜夜嗨av一区二区三区| 欧美图片激情小说| 精品一区二区三区中文字幕老牛| 成人黄色免费看| 国产精品蜜芽在线观看| 亚洲深夜福利在线| 国产99视频在线| 色婷婷亚洲精品| xxxx日本少妇| 久久久精品中文字幕麻豆发布| 欧美成年人视频在线观看| 在线国产精品一区| 亚洲午夜精品久久久中文影院av| 成人黄色av网址| 国产精品视频永久免费播放 | 四虎成人精品永久免费av九九| 91视频免费进入| 国产精品av一区二区三区 | 欧美久久久网站| 97婷婷涩涩精品一区| 美女隐私在线观看| 亚洲欧美另类人妖| 亚洲精品成av人片天堂无码| 欧美亚洲自拍偷拍| 日本三级片在线观看| 国产精品久久久久久久久动漫 | 日韩av手机在线看| 日本动漫理论片在线观看网站| 亚洲天堂影视av| 手机看片一区二区| 欧美日韩国产综合草草| 国产午夜免费福利| 亚洲成在线观看| 成人自拍小视频| 国产清纯白嫩初高生在线观看91 | 欧美日韩第一区| 亚洲综合视频一区| 国产剧情在线观看一区| 久久精品国产精品国产精品污| 精品国产亚洲一区二区三区| 国产精品日韩欧美综合| 性欧美超级视频| 2019中文字幕免费视频| 男女羞羞视频在线观看| 欧美成人精品h版在线观看| 成人网视频在线观看| 亚洲精品一区久久久久久| 六月丁香色婷婷| 日韩一区二区免费在线电影| 亚洲综合视频在线播放| 在线免费观看日本欧美| 久久久久久91亚洲精品中文字幕| 亚洲韩国精品一区| 久久久精品国产sm调教网站| 亚洲视频 欧洲视频| 中文字幕第69页| 国产精品欧美综合在线| 在线小视频你懂的| 国产午夜精品久久久久久久| 一区二区三区免费在线观看视频| 成人18视频在线播放| 天天躁日日躁狠狠躁av| 成人h精品动漫一区二区三区| 一级黄色大片免费看| 国产成人亚洲综合a∨婷婷图片 | 99国产精品视频免费观看| 国产一卡二卡三卡四卡| 成人夜色视频网站在线观看| 美女露出粉嫩尿囗让男人桶| 国产黄色成人av| www.黄色网| 北岛玲一区二区三区四区| 亚洲色偷偷色噜噜狠狠99网| 99久久国产综合精品色伊| 你懂得在线视频| 久久综合九色综合97婷婷女人 | 亚洲五月激情网| 粉嫩av一区二区三区粉嫩| 亚洲午夜久久久久久久久| 99久久777色| 性欧美精品中出| 国产精品第五页| 久久久久99精品成人片试看| 亚洲一区二区综合| 天天操天天爽天天干| 色综合天天性综合| 中文字幕在线播出| 欧美一级在线视频| 少妇精品高潮欲妇又嫩中文字幕| 亚洲美女精品成人在线视频| av在线播放免费| 米奇精品一区二区三区在线观看| 蜜乳av一区| 国产91色在线免费| 亚洲一区二区三区久久久| 国产精品xxxx| 久久93精品国产91久久综合| 一区在线电影| 亚洲第一在线| 欧美三级午夜理伦三级富婆| 国产成人在线视频网址| 免费看污片网站| 亚洲女与黑人做爰| 午夜影院免费在线观看| 欧美疯狂性受xxxxx喷水图片| 丰满少妇在线观看bd| 国产一区二区三区免费视频| 亚洲资源一区| 国产成人午夜视频网址| 视频一区中文字幕精品| 欧美一区观看| 国产综合视频| 久久久久久久久久一区| 91在线视频网址| 91在线播放观看| 在线视频观看一区| 男人天堂综合网| www国产91| 综合在线影院| 国产精品一区二区三区精品| 久久国产影院| 欧美黄色一级片视频| 精品系列免费在线观看| 波多野结衣 在线| 一区二区在线观看视频在线观看| 免费黄色片视频| 亚洲国产精品人人爽夜夜爽| 快射视频在线观看| 国产精品第一页在线| 老汉色老汉首页av亚洲| 影音先锋成人资源网站| 秋霞av亚洲一区二区三| 北岛玲一区二区| 一区二区高清免费观看影视大全| 这里只有精品免费视频| 日韩精品亚洲元码| 精精国产xxxx视频在线中文版| 国产精品亚洲美女av网站| 竹菊久久久久久久| 人体内射精一区二区三区 | 国产美女喷水视频| 亚洲永久免费av| av一区二区三| www国产精品com| 美女色狠狠久久| 欧美一卡2卡3卡4卡无卡免费观看水多多 | www.中文字幕在线观看| 精品国产一区二区三区久久久蜜月| 日本视频在线播放| 国产精品视频中文字幕91| 精品国产乱码久久久久久果冻传媒| 精品国产免费av| 91天堂素人约啪| 日韩在线视频免费播放| 日韩电视剧免费观看网站| 国产高清自产拍av在线| 精品婷婷色一区二区三区蜜桃| 亚洲高清成人| 国产人妻黑人一区二区三区| 亚洲成人免费视| 天天色天天操天天射| 91精品国产99| 亚洲国产合集| 国产一区视频免费观看| 国产亚洲欧美一区在线观看| 亚洲图片欧美日韩| 在线看片第一页欧美| 少妇高潮一区二区三区99| 综合久久国产| 韩国成人精品a∨在线观看| 极品魔鬼身材女神啪啪精品| 欧美一区二区二区| 黄网av在线| 久久婷婷开心| 久久亚洲电影| 一级黄色片日本| 日韩你懂的电影在线观看| 国产99在线观看| 日本高清久久一区二区三区| 日韩高清国产一区在线| 肉色超薄丝袜脚交69xx图片| 欧美一区日本一区韩国一区| 欧美黑人猛交的在线视频| 国产一区在线免费观看| 男人的天堂亚洲| 9.1片黄在线观看| 日韩一区二区三区视频在线观看| 青春草在线视频| 蜜桃视频在线观看91| 日本欧美大码aⅴ在线播放| 男人av资源站| 亚洲国产精品久久久久秋霞蜜臀 | 欧美中文字幕亚洲一区二区va在线 | 五月天中文字幕| 久久综合色影院| 美女视频免费精品| 三级视频中文字幕| 亚洲自拍偷拍麻豆| 欧美女v视频| 91在线无精精品一区二区| 亚洲人成免费| 国精品人伦一区二区三区蜜桃| 精品国产区一区| 大胆人体一区二区| 国产av第一区| 久久日一线二线三线suv| 一本色道久久综合无码人妻| 性日韩欧美在线视频| 俺要去色综合狠狠| 视频免费在线观看| 欧美日韩国产bt| 2022成人影院| 无码人妻精品一区二区蜜桃网站| 久久精品人人做人人综合|