CodeGym /Java Blog /Toto sisi /Java 編碼約定。遵循哪些以及為什麼
John Squirrels
等級 41
San Francisco

Java 編碼約定。遵循哪些以及為什麼

在 Toto sisi 群組發布
了解並遵循行業標準和最佳實踐在任何領域都非常重要,尤其是在編程語言、工具、方法和技術的複雜且有時混亂的組合中。這就是為什麼一個專業的 Java 程序員應該非常熟悉 Java Coding Conventions,這就是我們今天要講的內容。 Java 編碼約定。 遵循哪些以及為什麼 - 1

什麼是編碼約定?

編碼約定是針對每種特定編程語言的一組指南,其中包含有關使用該語言進行軟件開發的不同方面的建議,包括編碼風格、最佳實踐和方法。編碼約定是用這種語言編碼的軟件程序員應遵循的質量指南,以確保他們的代碼可讀,並且可以由其他人正確維護軟件。編碼約定通常涵蓋使用該編程語言製作軟件的每個基本組成部分,包括文件組織、縮進、註釋、聲明、語句、空格、命名約定、編程實踐、編程原則、編程經驗法則、架構最佳實踐等.

編碼約定的目的是什麼?

編碼約定在軟件開發中發揮重要作用的原因有很多。

  • 保持統一的代碼風格

遵循編碼約定允許以單一統一的風格編寫軟件項目,這在以下幾種不同的方式中是有益的。

  • 最小化軟件維護成本

最重要的因素之一是使軟件產品的維護和支持變得更加容易,因為通常程序的原始作者並不是支持它的人。這一點很重要,因為一個軟件 80% 的生命週期成本都用於維護。

  • 提高軟件可讀性

軟件可讀性的提高是另一大好處,它還具有多重含義,例如簡化新開發人員引入項目和提高開發團隊成員協作的效率。

  • 加快工作

最後,正確編寫和結構化的代碼對於軟件開發過程盡可能快地進行是必要的。

Java 編碼約定

說到 Java,有兩種最常見和最知名的編碼約定:Oracle 的 Java 代碼約定Google 的 Java Style Guide 編碼約定

  • Oracle 的 Java 代碼約定

Oracle 的代碼約定被認為是最重要的約定,原因有很多:Oracle 的約定是官方約定,因為 Oracle 是 Java 的所有者,也是最古老的約定(本文檔的最後一次修訂於 4 月 20 日, 1999). Oracle 的 Java 代碼約定的一些重要部分是建議在定義類、方法或變量時使用駝峰式大小寫,以大寫字母開頭類並使用名詞命名它們,同時以命令形式使用動詞並開始來自方法的小寫字母,依此類推。

  • Google 的 Java 風格指南

Google 的 Java 編碼約定被認為很重要,因為 Google 是學習型互聯網和技術公司,在開發各種 Java 應用程序方面擁有豐富的經驗。另一個重要原因是谷歌的 Java 代碼約定於 2018 年 5 月 22 日更新,這使得它比 Oracle 的代碼約定更具相關性,尤其是在描述僅作為 Java 8 的一部分發布的 Java 相對較新的功能時2014 年,例如 lambda 和流。Google 的 Java 風格指南的作者是這樣描述這個編碼約定的內容的:“本文檔作為 Google 對 Java 源代碼編碼標準的完整定義。與其他編程風格指南一樣,所涵蓋的問題不僅涉及格式化的美學問題,但其他類型的約定或編碼標準也是如此。然而,這份文件主要關注我們普遍遵循的硬性規定,並避免給出無法明確執行的建議(無論是通過人為還是工具)。” “Google Java 風格指南在很大程度上是一個很好的參考,但它在某些主題上有點寬鬆。另一方面,作為一名 Java 程序員,你必須習慣使用 4 個空格來進行代碼縮進等等,”軟件架構師和經驗豐富的 Java 程序員 David Rios 在 LinkedIn 中說道。但它對某些主題有點寬容。另一方面,作為一名 Java 程序員,你必須習慣使用 4 個空格來進行代碼縮進等等,”軟件架構師和經驗豐富的 Java 程序員 David Rios 在 LinkedIn 中說道。但它對某些主題有點寬容。另一方面,作為一名 Java 程序員,你必須習慣使用 4 個空格來進行代碼縮進等等,”軟件架構師和經驗豐富的 Java 程序員 David Rios 在 LinkedIn 中說道。發布了對他自己的 Google Java 風格指南的一些建議改編。

最常用的 Java 編碼標準

以下是一些最常用的 Java 編碼標準,可以在上述來自 Oracle 和 Google 的編碼約定以及其他此類文檔中找到。
  • 遵循正確的命名約定;
  • 添加評論;
  • 標識符是指Java程序中類、包、方法和變量的名稱的符號名稱;
  • 變量名應與其用途相關;
  • 方法的名稱應與方法的功能相關;
  • 方法不應超過 50 行;
  • 在同一個類或其他類中不應有重複代碼;
  • 僅在需要在其他方法中使用時才聲明全局變量;
  • 仔細檢查類內靜態變量的創建;
  • 避免直接從其他類訪問變量,而是使用 getter 和 setter 方法;
  • 所有業務邏輯都應該只在服務類中處理;
  • 所有與數據庫相關的代碼都應該只在 DAO 類中;
  • 使用 getter 和 setter;
  • 將實例變量聲明為私有;
  • 保持變量的範圍最小;
  • 為變量分配有意義的名稱;
  • 查詢完成時通過釋放數據庫連接來避免內存洩漏;
  • 盡可能多地使用 Finally 塊;
  • 使用 Executor 框架進行多線程編程。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION