JavaRush /Java Blog /Random-TW /改進程式碼的 10 種方法,經過個人經驗測試
Roman Beekeeper
等級 35

改進程式碼的 10 種方法,經過個人經驗測試

在 Random-TW 群組發布
大家好,JavaRush 社群! 改進程式碼的 10 種方法,根據個人經驗進行測試 - 1 今天我們來談談程式碼品質。是的,是的,親愛的朋友們。沒有人是完美的。總有一天,每個人都會意識到程式碼可以做得更好……但是在這種情況下該怎麼辦呢?至少,開始研究這個問題。既然你來了,就表示你對這個話題有興趣,那我們走吧。今天我們將介紹如何讓程式碼變得更好、更簡潔。這樣將來你就不會為你目前的程式碼感到羞恥了!..)所有這些方法將幫助程式設計師成為一名優秀的程式設計師。

1.如果你想改進你的程式碼,請閱讀別人的程式碼

改進程式碼的 10 種方法,根據個人經驗進行測試 - 2如果你想顯著提高你的程式設計技能,你需要…閱讀其他程式設計師所寫的程式碼。你可以相信它,你也可以不相信它。但如果你願意冒險,我保證你的時間將會得到回報。例如,不要閱讀 Habré 上的 HashMap、ArrayList、LinkedList 等如何運作,而是閱讀它們的程式碼並自己弄清楚。以下是要閱讀的課程清單:
  1. HashMap是面試中最常被問到的問題。一石二鳥:理解程式碼並獲得必要的知識。

  2. ArrayList 與 HashMap 的情況相同。裡面沒有複雜的東西,但確實值得閱讀和理解。

  3. 字串就是一個很好的例子。理解為什麼它是不可變的。

  4. AtomicInteger 是一個很酷的類別:它描述瞭如何以原子方式對 Integer 物件執行操作的過程。

  5. 然後 - 至少連續所有課程......)

如果我們談論更嚴肅的事情,當然值得閱讀 Pivotal 的程式碼。這些人編寫了 Java 世界中最受歡迎的生態系統。他們的程式碼絕對值得一讀。因此,我建議你從Spring Core開始。閱讀不熟悉的原始程式碼是一項具有挑戰性但非常有益的工作。)

2.遵循Code Conventions-編寫程式碼的約定

改進程式碼的 10 種方法,根據個人經驗進行測試 - 3編碼約定是由開發團隊開發的一組指南,其中包括公司或特定專案中編寫的程式碼各個方面的程式設計風格和技術指南。這些約定通常特定於每種程式語言,涵蓋文件組織、縮排、註釋、聲明、運算子、空格、命名約定、程式設計技術和原則、程式設計規則、架構最佳實踐等。某些標準的主要好處是程式碼看起來相同並且以相同的風格編寫。這使其更具可讀性,並幫助程式設計師理解其他程式設計師編寫的程式碼。如果在整個開發過程中遵循並一致地應用編碼標準,那麼將來維護和擴展程式碼、重構程式碼以及解決整合衝突將變得更加容易。編碼約定對程式設計師很重要,原因有很多:
  • 軟體成本的40%-80%花費在其維護上;
  • 作者一生幾乎沒有維護過任何軟體;
  • 程式碼約定提高了軟體的可讀性,使程式設計師能夠更快地理解新程式碼。
老實說,我是編碼標準的忠實粉絲。對我來說,花時間討論和爭論它們是有意義的,因為這是一項有價值的活動,可以在未來節省您的時間和精力。應經常審查代碼約定。規則可以從“強制性”翻譯為“可選”,反之亦然。如果其中一些無法正常工作,則需要重新設計或從指南中刪除它們。

3.使用Code Review-由其他人進行程式碼審查

程式碼審查是改進程式碼最強大的工具之一。 改進程式碼的 10 種方法,根據個人經驗進行測試 - 4為什麼?因為程式碼會被那些沒有寫程式的專家查看。新鮮的外觀非常有用。通常,程式碼審查有助於防止編寫出非常糟糕的程式碼。我知道這並不總是可能的,因為你需要找到另一個願意這樣做的人。但這並不意味著這個工具不值得使用。恰恰相反:這是尋找志同道合的人的原因,對他們來說,提高程式碼品質也很重要。順便說一句,誰禁止您在 JavaRush 上找到它們?在一個人人都想成為程式設計師的地方。

4. 編寫單元測試-單元測試

改進程式碼的 10 種方法,根據個人經驗進行測試 - 5到目前為止,我最喜歡的改進程式碼的方法是編寫單元測試。而且,寫得越多越好。在電腦程式設計中,單元測試是一種軟體開發過程,其中原始程式碼的最小可測試部分(稱為單元)被單獨且獨立地測試,以檢查它們是否按預期工作。這將幫助您在發布程式碼之前識別演算法和/或邏輯中的故障。由於單元測試需要適當的程式碼結構,這意味著程式碼必須分為更小、更集中的功能。其中每個函數負責對一組資料進行單一操作,而不是執行許多不同操作的大型函數。(正如他們所說,來自單一職責原則的你好...)編寫經過良好測試的程式碼的第二個好處是您可以防止未來因對現有程式碼破解功能進行微小更改而出現故障。當發生故障時,單元測試會告訴您某些內容編寫不正確。乍一看,在開發過程中花時間編寫單元測試似乎是一項額外費用。不過,這會節省將來必須花在調試上的時間。這應該是一個循序漸進的過程。因此,繼續為所有方法和類別編寫測試:D

5. 使用工具提高程式碼品質

改進程式碼的 10 種方法,根據個人經驗進行測試 - 6沒有哪個開發人員永遠不會犯錯。通常,編譯器會捕獲語法和算術問題並輸出堆疊追蹤。但仍可能存在一些編譯器無法擷取的問題。例如,需求實現不當、演算法不正確、程式碼結構不正確,或社群根據經驗已知的一些潛在問題。捕獲此類錯誤的唯一方法是請一些高級開發人員檢查您的程式碼。這種方法並不是萬能的,而且變化不大。對於團隊中的每一位新開發人員,您都應該有一雙額外的眼睛來審視他/她的程式碼。但幸運的是,有許多工具可以幫助您控製程式碼品質。我在各種專案的工作中使用了 Checkstyle、PMD、FindBugs、SonarQube。還有其他人。所有這些通常用於品質分析和產生一些有用的報告。這些報告通常由 Jenkins 等持續整合伺服器發布。

6.編寫簡單清晰的程式碼

改進程式碼的 10 種方法,根據個人經驗進行測試 - 7始終編寫簡單、清晰且符合邏輯的程式碼。人們傾向於編寫複雜的程式碼來證明他們的能力。簡單但合乎邏輯的程式碼總是可以很好地工作,導致問題更少,並且更具可擴展性。好的程式碼意味著更好的文檔。如果您正在考慮添加註釋,請問問自己:「我如何改進程式碼以便不需要此註釋?“~史蒂夫·麥康奈爾。

7.閱讀文檔

改進程式碼的 10 種方法,根據個人經驗進行測試 - 8優秀程式設計師的重要習慣之一就是閱讀大量文件。讓它成為規格、JSR、API 文件、教學等。閱讀文件可以幫助您打下堅實的基礎,從而實現最佳程式設計。最後但並非最不重要的一點是,不要將自己與他人比較,與他人比較只會導致負面情緒和不良性競爭。每個人都有自己的優點和缺點。因此,了解他們並與他們合作非常重要。分析自己,列出自己的優勢並努力發揮它們。程式設計真的很有趣:享受它。

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

艾倫·玻璃市

8.關注有趣的部落客

改進程式碼的 10 種方法,根據個人經驗進行測試 - 9世界各地有成千上萬的愛好者正在研究和撰寫相同的技術。部落格通常是程式設計師自己撰寫的,其中大多數分享個人觀點和經驗。您可以在部落格上看到同一技術的不同觀點。您可以在部落格上看到好的和壞的技術。至少,閱讀Habré JavaRush :D 上的文章,包括我的文章。關注好的部落格並評論帖子,分享您的意見。

9.閱讀專業書籍

改進程式碼的 10 種方法,根據個人經驗進行測試 - 10沒有什麼可以取代一本好書。一本好書將以更簡單的方式教授基本概念並應用於現實世界的物件。他們的作者本身就是偉大的程式設計師。透過讀書,你可以學習別人的經驗。我建議閱讀《Java. 約書亞‧布洛赫(Joshua Bloch)的《有效程式設計》。本書提出了七十八條不可取代的程式設計師經驗法則:針對您每天面臨的程式設計問題的有效、最佳解決方案。它包含最實用、最權威的指南,可用於編寫有效、設計良好的程式。如果您剛開始接觸 Java,沒有任何程式設計經驗,您可以閱讀《Sams Teach Yourself Java 2 in 24 Hours》一書。對於編寫乾淨的程式碼,有一本很棒的書“Robert Martin 的《Clean Code》”。之後,就會出現與程式碼相關的「美感」。

10. 代碼!代碼!代碼!

僅靠背書並不能成為優秀的程式設計師。 改進程式碼的 10 種方法,根據個人經驗進行測試 - 11談論理論概念很容易。但只有在編寫程式碼時才能了解語言限製或開發最佳實踐。因此,要成為一名優秀的程式設計師,你需要寫大量的程式碼。如果您是初學者,請從編寫斐波那契數列、回文、帕斯卡三角形等簡單問題的程式開始,然後再轉向二叉搜尋樹等更大的問題。如果您正在尋找練習Java 程式的線上平台,看看編碼地。此外,您可以參加CS50課程,該課程的翻譯是由「you Know who」提供給我們的:D

讓我們總結一下

什麼都不做的人就不會犯錯。因此,我們必須要有耐心,像一個勤奮的日本人一樣,磨練我們的編碼技能。為此,不要忘記:
  • 閱讀別人的程式碼;
  • 執行並要求進行程式碼審查;
  • 編寫單元測試;
  • 使用工具改進程式碼;
  • 編寫簡單易懂的程式碼;
  • 閱讀那些有能力的人的文檔;
  • 關注有趣的程式設計師;
  • 閱讀專業書籍;
  • 代碼!代碼!代碼!
  • 在 GitHub訂閱Roman 。

有用的連結

更多我的文章

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION