CodeGym /Java Blog /Toto sisi /為什麼需要閱讀人們的代碼以及如何正確閱讀
John Squirrels
等級 41
San Francisco

為什麼需要閱讀人們的代碼以及如何正確閱讀

在 Toto sisi 群組發布
如果你想成為一名優秀的作家,光知道語法是不夠的。您還需要閱讀大量書籍,這些書籍將展示如何使用此語法來創建突出的文本。同樣,如果你想成為一名優秀的程序員,僅僅學習 Java 是不夠的。您還應該閱讀其他程序員編寫的大量優質代碼示例,最重要的是,理解並從中學習。實際上,接觸高質量的代碼示例是影響您學習新技能的速度和效率的關鍵因素之一。 為什麼需要閱讀人們的代碼以及如何正確閱讀 - 1

閱讀他人代碼的重要性

我討厭閱讀別人的代碼他們將使您了解項目的任何部分是如何工作的,並為您提供有關其完成方式的有用見解。反過來,這將幫助您顯著提高知識並最終形成自己的風格。

如何深入研究代碼

當您深入研究其他人的代碼時,您可能更像是一名考古學家兼調查員,而不是開發人員。這沒什麼不對,因為你有很多“鏟子”可供使用。如今,您可以訪問大量元數據,這將幫助您更輕鬆地理解代碼。例如,您可能會在閱讀、複製和粘貼代碼時使用Git來幫助自己。然而,一些關鍵點可以幫助您在一開始更好地理解代碼。首先,你應該問以下問題:
  • 代碼中是否有您不熟悉的地方?如果是這樣,請查看這些“空格”並確保您了解它們的用途。
  • 代碼中有沒有多餘的東西?死代碼也存在,尤其是當我們談論大型代碼庫時。
  • 代碼是否有任何依賴關係?有時最好通過複製/粘貼更多代碼來刪除該依賴項。
  • 粘貼後是否出現錯誤?
另一個建議是找出代碼的作用並向後追溯這些操作。例如,如果您知道您正在查看的代碼創建了一個包含電影片名列表的文件,請嘗試找出代碼在哪些特定行中生成該文件。接下來,向後退一步以了解代碼如何將信息放置在該文件中。然後,再向後退一步,了解數據的來源……您明白了。上述代碼片段可以稱為“動作鏈”。這可能會讓您深入了解以下內容:
  • 代碼主體是如何構建的;
  • 編碼風格;
  • 編寫代碼的程序員如何解決問題。
同樣,您可以嘗試以下 4 步過程來了解有關您正在處理的代碼的更多信息:
  • 運行代碼並瀏覽結果。運行代碼將為您提供更好地理解代碼所需的基本信息。

  • 找到它的主要功能和起點。

  • 使用調試器運行代碼(您可以在此處找到最高效的 Java 調試工具)以充分理解代碼的機制。通過這樣做,您將深入分析您正在閱讀的代碼的內部功能。

  • 構建代碼中不同元素之間連接的思維導圖。由於任何調試器都會向您展示元素之間的聯繫,因此您將能夠關聯不同的功能並了解它們如何相互作用。

通過以上述方式研究代碼,您最終將了解越來越多的特定代碼(以及它的各個部分是如何連接的)。自然地,您對代碼了解得越多,您對整個代碼庫的了解就越多。換句話說,如果您探索和使用高質量的代碼示例,那麼隨著時間的推移,您閱讀和理解所有其他代碼的難度就會越大。

有什麼收穫?

您可能仍然想知道閱讀和理解其他程序員的代碼有什麼意義?實際上,這是了解現成模塊如何“在引擎蓋下”工作並學習新知識的絕好機會。而且,如果您覺得您的大腦已準備好以其他方式處理信息,而不僅僅是閱讀理論和練習,那麼您可能是時候提高您的 Java 技能了,而無需付出太多額外的努力。

使用他人代碼的其他“副作用”:增強信心

即使您已經閱讀了一些 OSS(每個人都可以輕鬆獲得的開源軟件)的源代碼但什麼都不懂,也不用擔心。這完全沒問題,尤其是當您剛剛學習時。這可能只是意味著你還沒有準備好。但是,如果您設法理解了代碼,那麼您作為 Java 開發人員的信心肯定會得到提升。當您能夠準確地弄清楚一些真實世界的項目、軟件程序或應用程序是如何工作的時,您肯定已經對編程有了很多了解。因此,沒有辦法停止你的學習過程。話雖如此,在 CodeGym,我們不建議一開始就舉起太重的重量。不要深入研究大型應用程序或操作系統,因為這種體驗可能非常令人沮喪,而不是鼓舞人心。反而,“幫助”部分,您可以在其中訓練閱讀其他學生的代碼,給他們提示或從他們的經驗中學習。此外,您還可以發現您的同事如何解決相同的任務。另一個可能引起您興趣的資源是StackOverflow社區,在該社區中,其他程序員編寫的代碼通常具有相當的結構化、格式和註釋。漸漸地,閱讀來自同行的高質量(但不過分複雜)代碼的習慣將把你帶到一個全新的編程水平。

更重要的是?

定期閱讀代碼也會鼓勵您以後在項目中使用它們,並最終根據您的特定需求修改和使用它們。當然,如果我們談論的是許可證允許您修改它們的開源軟件代碼。這樣的代碼將為您節省大量從頭開始創建項目的時間,並將您帶到一個新的編程水平。如您所見,閱讀、複製和粘貼代碼有助於提高您的技能並節省大量時間。這些額外的時間將幫助您解決正確的問題並提高您的速度。實際上,有時復制和粘貼已經存在的代碼是最好的做法,但請始終記住許可條款和完全沉浸在您正在復制的代碼中。GitHub ,亞搏體育應用實驗室,FreeCodeCampSourceForge是最好的無過錯開放資源,可讓您瞥見其他開發人員的代碼。

結論

沒有程序員在編寫新代碼時不閱讀舊代碼是不行的。你編程的時間越長,你看到的不同代碼就越多,你就越容易理解它們。請記住,當代碼示例更容易閱讀時,編寫新代碼示例也會更容易。簡而言之,這是一個奇妙的自我延續循環,您可以在其中更快、更有效地理解他人的代碼。由此,您還將在自己的編碼中看到積極的收穫。因此,如果您希望減少停頓並取得更多進展,請不要忽視閱讀、理解和修改現有代碼!
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION