CodeGym /Java Blog /Toto sisi /個人經驗證明的 10 種改進代碼的方法
John Squirrels
等級 41
San Francisco

個人經驗證明的 10 種改進代碼的方法

在 Toto sisi 群組發布
CodeGym 社區的大家好! 個人經驗證明的 10 種改進代碼的方法 - 1今天我們要談談代碼質量。是的,親愛的朋友們。沒有人是完美的。每個人都在某個時候意識到代碼可能會更好……但是在這種情況下該怎麼辦?至少,開始研究這個問題。但是你已經來了,這意味著這個話題一定讓你感興趣,所以我們走吧。今天,我們將介紹使代碼更好、更簡潔的方法。這樣你以後就不會為你現在的代碼感到羞恥了!:) 所有這些方法都將幫助程序員成為一名優秀的程序員。個人經驗證明的 10 種改進代碼的方法 - 2

1.如果你想改進你的代碼,讀別人的

如果你想顯著提高你的編程技能,你需要……閱讀其他程序員編寫的代碼。信不信由你。但如果你願意冒險,我保證:你會因為所花的時間而得到回報。例如,不要在 medium.com 上閱讀有關 HashMap、ArrayList、LinkedList 等如何工作的內容。相反,閱讀他們的源代碼並自己弄清楚。這是要閱讀的課程列表:
  • 面試中被問的最多的就是HashMap。你可以用一塊石頭殺死兩隻鳥:你將理解代碼並獲得你需要的知識。
  • ArrayList 也是如此。沒有什麼複雜的,但是源代碼確實值得閱讀和理解。
  • 字符串就是一個很好的例子。理解為什麼它是不可變的。
  • AtomicInteger 是一個很酷的類:它定義了對 Integer 對象的原子操作。
  • 在那之後,好吧,我們可以一個接一個地列出每個類 :)
更嚴重的是,您應該閱讀 Pivotal 的代碼。那裡的人們編寫了 Java 世界中最受歡迎的生態系統。他們的代碼絕對值得一讀。我建議您從Spring Core開始。閱讀不熟悉的源代碼是一項艱鉅但有益的工作。:)

2.遵循代碼約定

個人經驗證明的 10 種改進代碼的方法 - 3編碼約定是由開發團隊創建的一組指南。它們包括代碼各個方面的編碼風格和技術指南。這些約定可能是為整個公司或特定項目編寫的。編碼約定通常特定於每種編程語言,涵蓋文件組織、縮進、註釋、聲明、運算符、空格、命名約定、編程技術和原則、編程規則、體系結構的最佳實踐等。某些標準的主要好處是代碼看起來相同並且以相同的風格編寫。這使它更具可讀性,並幫助程序員理解另一個程序員編寫的代碼。如果在整個開發過程中始終遵循和應用編碼標準,將來維護和擴展代碼、重構代碼以及解決集成衝突會更容易。編碼約定對程序員很重要,原因有很多:
  • 軟件成本的 40-80% 用於維護,
  • 幾乎沒有任何軟件在其整個生命週期內由其作者維護,
  • 編碼約定通過允許程序員更快地理解新代碼來提高源代碼的可讀性。
老實說,我是編碼標準的忠實擁護者。對我來說,花時間討論和爭論它們是有意義的,因為這是一項有價值的活動,可以在未來節省你的時間和精力。應經常審查代碼約定。規則可以從“必需”更改為“可選”,反之亦然。如果其中一些沒有按預期工作,則應對其進行修改或從指南中刪除。

3.使用代碼審查

代碼審查是代碼改進最強大的工具之一。個人經驗證明的 10 種改進代碼的方法 - 4為什麼?因為代碼會被那些沒有寫代碼的專家看。煥然一新非常有用。代碼審查通常有助於防止編寫出徹頭徹尾的糟糕代碼。我知道代碼審查並不總是可行的,因為你需要找到另一個願意做代碼審查的人。但這並不意味著您應該跳過使用此工具。恰恰相反:代碼審查是找到志同道合的人的一個理由,他們也需要提高他們的代碼質量。順便說一句,誰會阻止您在 CodeGym 上找到它們?在一個人人都想成為程序員的地方。

4.編寫單元測試

我最喜歡的改進代碼的技術肯定是編寫單元測試。你寫的越多越好。在計算機編程中,單元測試是一種軟件開發過程,其中最小的可測試源代碼片段(稱為單元)被單獨和獨立地測試,以查看它是否按預期工作。這將幫助您在發布代碼之前發現算法和/或邏輯中的故障。由於單元測試要求您的代碼結構合理,因此必須將代碼拆分為更小、更集中的功能。每個負責對數據集的單個操作,而不是執行多個不同操作的大型函數(單一責任原則打個招呼...)。編寫經過良好測試的代碼的第二個好處是,您可以避免在對現有功能進行小的更改時破壞代碼。當單元測試失敗時,他們會告訴你有些地方寫錯了。乍一看,編寫單元測試所花費的開發時間似乎是一項額外的成本。但是,單元測試將節省將來調試的時間。這應該是一個循序漸進的過程。因此,讓我們微笑著更進一步——我們將為每個方法和類編寫測試 :D

5.使用工具提高代碼質量

沒有從未犯過錯誤的開發人員。通常,編譯器會捕獲語法和算術問題並顯示堆棧跟踪。但有些問題可能仍然會浮出水面,編譯器沒有捕捉到。例如,未正確實現的需求、不正確的算法、不正確的結構代碼,或者社區從經驗中了解到的一些其他潛在問題。捕獲此類錯誤的唯一方法是請更高級的開發人員檢查您的代碼,對嗎?但這種方法不是萬能的,不會有太大的改變。對於團隊中的每個新開發人員,您都應該多一雙眼睛來審視他/她的代碼。幸運的是,有許多工具可以幫助您控制代碼的質量。我在各種項目的工作中使用過 Checkstyle、PMD、FindBugs 和 SonarQube。還有其他人。它們通常都用於分析代碼質量並生成一些有用的報告。這些報告通常由 Jenkins 等持續集成服務器發布。

6. 編寫簡單明了的代碼

個人經驗證明的 10 種改進代碼的方法 - 5始終編寫簡單、易於理解且合乎邏輯的代碼。人們傾向於編寫複雜的代碼以證明他們可以做到。簡單而合乎邏輯的代碼總是能很好地工作,導致更少的問題,並且更具可擴展性。好的代碼是最好的文檔。如果你想添加註釋,問問自己:“我怎樣才能改進代碼,這樣就不需要這個註釋了?” — 史蒂夫·麥康奈爾。

7.閱讀文檔

個人經驗證明的 10 種改進代碼的方法 - 6優秀程序員最重要的習慣之一就是閱讀大量文檔。無論是規範、JSR、API 文檔、教程還是其他內容,閱讀文檔都可以幫助您為最佳編程打下堅實的基礎。最後但同樣重要的是,不要將自己與他人進行比較。將自己與他人比較只會導致負面情緒和不健康的競爭。每個人都有自己的長處和短處。這意味著了解他們並與他們一起工作很重要。盤點你自己——列出你的長處並努力。編程是一種真正的樂趣:享受它。

“一個人的常數是另一個人的變量。”

艾倫·玻璃市

8.關注有趣的博主

世界各地數以千計的愛好者使用相同的技術並撰寫有關這些技術的文章。博客往往是程序員自己寫的,大多是分享個人的觀點和經驗。通過博客,您可以看到對同一技術的不同看法。您可以在博客上看到好技術和壞技術。至少,閱讀 Coding Dojo 博客和 CodeGym 上的文章 :) 關注好的博客並對帖子發表評論,分享您的意見。

9. 閱讀有關職業的書籍

沒有什麼能代替一本好書。一本好書以更簡單的形式教授基本概念,並適用於現實世界中的事物。他們的作者本身就是偉大的程序員。通過讀書,你可以從別人的經驗中學習。我建議您閱讀 Joshua Bloch 的“Effective Java”。本書為程序員提供了 78 條不可或缺的經驗法則:針對您每天面臨的編程問題的最佳工作解決方案。它包含編寫有效、設計良好的程序的最實用、最權威的指南。如果您剛剛開始接觸 Java,沒有編程經驗,可以閱讀《Sams 24 小時自學 Java 2》。對於編寫乾淨的代碼,有一本由 Robert Martin 撰寫的優秀書籍“Clean Code”。看完之後,

10.代碼!代碼!代碼!

你不能僅僅通過背書來成為一名優秀的程序員。談理論概念很容易。但是您只能在編寫代碼時了解語言的局限性或找出最佳實踐。因此,要成為一名優秀的程序員,你需要編寫大量的代碼。如果您是初學者,請從為斐波那契數列、回文、帕斯卡三角等簡單任務編寫程序開始。然後轉向更大的任務,例如二叉搜索樹等。如果您正在尋找練習 Java 的在線平台程序,看看Coding Ground。按照你的方式完成編程課程,我保證你的技能會更好。另一種選擇是參加免費的哈佛 CS50 課程。

讓我們總結一下

不犯錯誤的人是什麼都不做的人。這就是為什麼我們要培養耐心,並像一隻勤勞的蚱蜢一樣磨練我們的編碼技能。為此,請不要忘記:
  • 閱讀別人的代碼
  • 提供並要求進行代碼審查
  • 編寫單元測試
  • 使用工具改進代碼
  • 編寫簡單易懂的代碼
  • 閱讀那些可以的人編寫的文檔
  • 關注有趣的程序員
  • 閱讀有關職業的書籍
  • 代碼!代碼!代碼!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION