分類
教程

開始編碼的終極初學者指南

作為一位具有編碼背景的 HubSpot 技術部落格作者,我個人發現編碼是你可以建立的最有價值的技能之一。

作為一位具有編碼背景的 HubSpot 技術部落格作者,我個人發現編碼是你可以建立的最有價值的技能之一。

如果你正在尋找“如何學習編碼”,這可能是因為你想要在職業生涯中取得進步或在電腦編程世界中發展其他技能。相信我,如果我能深入這個世界,你也可以。

事實上,任何人只要有時間、奉獻精神和網路訪問權限,都可以學會編碼。如果你正在閱讀這篇文章,那包括你在內。我的編碼之旅儘管充滿挑戰,卻是我職業生涯中最有價值的經驗之一,我很高興與你分享這些見解。

目錄

  • 什麼是編碼?
  • 為什麼要學習編碼?
  • 如何開始編碼
  • 編碼與程式設計
  • 程式語言
  • 初學者編碼技巧
  • 我們喜愛的編碼資源

什麼是編碼?

編碼是使用程式語言給電腦發送指令的過程。這些指令驅動著人們每天使用的網站、軟體和應用程式。

為什麼要學習編碼?

在開始你的第一課之前,我建議你想想為什麼你想要學習編碼。

在我看來,這將幫助你確定你首先學習哪種程式語言,你想完成什麼樣的項目,以及最終,你想如何運用你的技能。

編碼有助於建立專業技能。

在我的經歷中,我看到編碼為許多機會打開了大門,不僅僅在科技領域,在各個行業中也是如此。這是一種能讓你創造、創新並以新方式解決問題的技能。

隨著科技不斷融入我們的日常生活中,編碼技能將在求職者中變得更加受歡迎 — 根據求職網站 Indeed.com,一些最受歡迎的技能屬於計算機領域。

如果你希望轉向科技行業或在你的領域內轉向更多技術性角色,至少要了解一種相關的程式語言是必不可少的。

但這不僅適用於開發人員。網頁設計師應該了解HTML、CSS和JavaScript。專案經理應該了解他們幫助打造的工具的內部運作。

即使你只運行一個簡單的WordPress網站,熟悉前端語言和一些PHP也能幫助你很長的路。

即使你不追求嚴格的技術角色,編碼經驗也是一種資產。它展示了技術知識,理解抽象概念的能力,以及你可以解決複雜問題的能力。

最後,編碼知識使你能夠從事自由工作或全職職業。

編碼有助於增加收入。

2022年美國的平均入門級薪資為$40,153。但程序員的平均起薪則是這個數字的兩倍以上,為$85,293。

不可否認,編碼技能帶來了財務上的優勢。科技行業以其豐厚的薪資待遇而聞名,作為一位轉入這個領域的人,財務上的提升是一個重要的動力。

我們之前提到過編碼人員和程序員之間存在差異。隨著你繼續學習編碼,你可能開始專業化。許多最高薪酬的編碼工作來自於能夠提供特定類型編碼技能的能力。

例如,隨著你繼續編碼,你可能成為一名開發者。除了編寫代碼,開發者還會進行軟體調試並與源代碼一起工作。開發者通常專精於特定的程式語言。

開發者的薪水通常比程序員更高,且有著高預期的工作增長率。根據美國勞工統計局的數據,到2030年,開發者的工作機會預計將增長22%。

編碼讓你創造事物。

學習編碼最酷的好處之一是能夠將你的想法實現。有一個網站、應用程式或電腦遊戲的概念嗎?現在,你可以按照自己的想法構建它,然後與世界分享。我仍然記得我的第一個成功程式的激動 — 那是一個簡單的任務自動化,但感覺就像魔法。

無論你是想要將項目商品化、在像 GitHub 這樣的開源平台上發布,還是只是把事物當作一種愛好,你將擁有知識和工具來實現。

知道自己可以構建直到現在你從未完全理解的程式是令人滿足的。此外,項目對於學習和求職過程至關重要。

編碼可以幫助你更好地了解周圍世界。

即使只是學習計算機編程的基礎知識也將幫助你了解不斷增長的技術景觀的組成部分。

你將對生活中的技術產品有全新的視角,並對它如何組合在一起有更深的體會。

編碼是有趣的。

這聽起來很俗套但卻是真實的 — 對我來說,學習編碼是一個有益且愉快的經驗。一旦我掌握了基礎並開始進行自己的項目,這個過程感覺不再像是學習,而更像是休閒。畢竟,如果你不喜歡它,為什麼要將其視為職業呢?

如何開始編碼

  1. 弄清楚你想學習編碼的原因。
  2. 選擇你想首先學習的編碼語言。
  3. 參加在線課程。
  4. 觀看視頻教程。
  5. 閱讀書籍和電子書。
  6. 使用讓學習編碼更輕鬆的工具。
  7. 查看其他人的編碼方式。
  8. 完成編碼項目。
  9. 找一個導師和社群。
  10. 考慮參加編碼營。

多虧了互聯網,現在是學習編碼的最佳時機。但是選擇太多有時會使一些新手編碼者在開始前就陷入停滯。

1. 找出你想學編碼的原因。

開始編碼時很容易一頭跳進去。但如果沒有明確的終點目標,您可能會感到挫敗,甚至在開始好玩的部分之前停止學習。

所以,在您開始學習之前,我希望您考慮一下為什麼要學習編碼。想一想您想要完成的項目,為什麼這個技能讓您興奮,以及您可用的資源。

例如,假設您想成為開發人員以為家人賺取更多收入。您知道想在哪裡工作以及他們需要開發人員參與的項目嗎?您準備花時間學習編碼,學習正確的編程語言,並建立能證明您具備所需能力的項目嗎?

設定這樣的廣泛目標很重要,但可能會讓人感到不知所措。相反,我建議您從更小、更具體的目標開始。例如,假設您想為您的朋友建立一個一年後參加半程馬拉松的手機應用程式。

這個目標將:

  • 幫助您建立所需的技能。
  • 讓您知道應該從哪種編程語言入手。
  • 設定一個截止日期,讓您在學習的同時管理時間。

2. 選擇您想先學習的編碼語言。

如果您正在努力決定從哪種編程語言入手,我希望您考慮您的長期目標。您是編碼只是為了好玩還是為了在工作上取得進步?您有靈活的時間表嗎,還是需要趕緊完成一個項目?

當我剛開始時,我選擇了一種不使用數據結構或算法的語言。對我來說,HTML 或 CSS 是很好的入門點。但像 Java 和 Python 這樣的語言對初學者也很適合,並且具有廣泛的應用。

有時學習一種編程語言可能需要幾個月的時間,所以花點時間做這個決定,以確保您的時間得到很好的利用。

3. 參加在線課程。

現在學習編碼不再需要在教室裡。今天,有成千上萬個在線編程課程,涵蓋從基本的 HTML 到數據結構和複雜算法的一切。

您的第一門課應該介紹一種語言的基礎知識,並包含互動模組和作業,以引導您的學習。

對我來說,課程為學習提供了結構,這一點至關重要,因為計算機科學中的概念是建立在彼此之上的。有組織的課程使一切變得易於理解,並確保您按照正確的順序學習東西。

受歡迎的免費課程提供者包括:

這些選項很適合早期確定您是否準備投入時間學習某種特定語言。有很多付費課程可供選擇,價格只是親自上課的一小部分。

這些選擇涵蓋了廣泛的初級、中級和高級計算機科學主題:

一些付費服務提供免費課程或試用,如果您想在承諾之前先了解他們的教學方式。

4. 觀看視頻教程。

您可能已經觀看了一兩個YouTube教程,那為什麼不為編碼也做同樣的事呢?

雖然在線課程是您獲得實踐經驗的最佳途徑,但在線視頻可以補充您的學習,滿足您的好奇心。我的個人喜愛包括:

兩者都涵蓋了計算機領域中更廣泛的主題。

5. 閱讀書籍和電子書。

喜歡傳統方法嗎?選一本關於您選擇的初級語言的書。書籍將向您介紹基本概念並豐富您的編碼知識。

使用這本免費電子書學習HTML和CSS

這裡有一些我推薦給每位初學者的建議性文章。

6. 使用使學習編碼更輕鬆的工具。

儘管知道寫程式碼不需要特殊工具是很棒的,但有些工具可以幫助你。

程式碼編輯器

文本編輯器包含讓編碼更輕鬆的功能,例如顏色編碼、自動完成、查找和替換以及深色模式。

根據我的經驗,大多數專業人士使用程式碼編輯器。這個工具可以幫助你更快地撰寫乾淨的程式碼。程式碼編輯器類似於文本編輯器,但它們具有額外的功能,可幫助你管理和編輯程式碼,例如:

  • 語法突出顯示
  • 程式碼查找
  • 內建終端環境

Notepad++Sublime TextEmacs 是初學者常用的編輯器。 VS Code 也是一個很好的選擇。

控制台

你也應該更加了解自己的電腦。當你開始編碼時,應該學習如何操作控制台(也稱為終端)。這是你作業系統的基於文本的界面。

控制台讓你比標準圖形用戶界面(GUI)更快地尋找文件並對其執行命令。熟悉如何使用它,包括 基本的UNIX命令,因為你將做一些在GUI中無法實現的事情。

專案管理

許多專案從簡單開始,但隨著專案的進展變得更加複雜。使用專案管理工具,你可以分享文件、更新時間軸並拆分編碼專案的各個部分。這樣可以更輕鬆地跟踪側項目和額外文件,同時遵守時間表。

疑難排解

在開展編碼專案時,可能會遇到錯誤、障礙和其他挑戰。這可能非常令人沮喪。 橡皮鴨調試 可能聽起來有點蠢,但它可以幫助你簡化問題並找到有用的解決方案。

7. 查看他人的編碼方式。

對一些人來說,編輯他人的作品比從空白頁面創作更容易。如果你是這樣的人,學習編碼的一個好方法是查看別人的程式碼。

查看其他程序員的程式碼可以激勵你並提升你的編碼技能。這種方法將幫助你:

  • 更好地理解自己的程式碼。
  • 更快地理解新程式碼。
  • 為你提供高質量編碼的具體示例。

從你喜歡的程式或程式碼文件開始。如果不確定從哪個程式碼開始,GitHub 和 searchcode 是很好的起點。嘗試從經過同行審查的程式碼或開源專案開始。

如果你知道程式碼的作用,選擇一個小部分並向後工作。這將幫助你理解每行程式碼的功能。閱讀文檔也是一個好方法。你可以看到你正在審查的程式碼背後的思想。

8. 完成編碼專案。

通過實踐來學習程式設計 — 沒有其他辦法。你可以閱讀所有有關寫出功能性程式碼所需的概念和語法,但除非將所學應用於實踐,否則這些概念不會完全在你的腦海中具現化。這就是專案的用途。

專案是使用你選擇的語言構建的任何程式(或網站)。開始時,將專案設定為短期。

如果你參加課程,可能會被分配旨在鞏固概念的專案。還有許多初學者編程專案可以獨立嘗試。一些經典的專案包括:

  • 時間轉換器,用戶提交秒數,你的程式將提供相應的小時、分鐘、天等。
  • 隨機數生成器,產生用戶指定的兩個值之間的隨機數。
  • 計算器,用戶指定輸入和數學運算,你的程式將給出輸出。
  • 地址簿,用戶可以提交聯繫人姓名,然後在你的程式中搜索存儲的聯繫人。
  • 字母排序器,用戶提供一組單詞,你的程式將按字母順序對它們進行排序。
  • 絞刑遊戲,用戶試圖通過輸入字母猜測隱藏單詞,你的遊戲將提供正確或不正確猜測的反饋。當用戶猜測所有字母到你的單詞時,他們就贏了。

快速的谷歌搜索將揭示更多需要將你的技能應用於現實問題中的微型挑戰。

編碼項目的好處

除了練習概念外,項目還為你的學習提供了兩個額外的好處。

首先,它們會保持你的動力。項目有助於鞏固編碼背後的“為什麼”,並為你的進步設定清晰、具體的標竿。每個完成的項目意味著你又掌握了一項技能。在我的學習過程中,這是非常鼓舞人心的。

其次,編碼項目,特別是長期的項目,為你的工作提供了具體成果。在履歷中寫上“Python”是一回事,展示你從頭開始建立一個完整的網站或應用程序是另一回事。

對於初級編程工作來說,項目是必不可少的,因為它們證明了在某種語言中的能力。

在編碼時保持動力的方法

當著手進行長期項目時,考慮你願意投入時間的事物。無論是個人網站、手機應用程序還是桌面工具,你在途中會遇到阻礙。選擇一個你真正關心的項目確保你能堅持下去。

保持參與編碼項目的另一個好方法是自由職業。你不需要成為專家程序員就能為他人建立有用的工具。與需要工具或網站的朋友、家人或當地企業取得聯繫,這是一個雙贏的局面。

9. 尋找導師和社區。

有一個朋友或在線社區指導你的學習對你是非常寶貴的。

首先,我建議尋找一位導師。隨著你的進步,你可能會遇到問題,無論你如何努力,都無法解決。這就是導師可以幫助你的地方。

導師不需要是一位真正的老師 — 他們可以是任何熟悉你所學語言的人。他們應該能夠解釋困難的概念並指引你找到解決方案。一位經驗豐富的導師可以幫助你遵循教程中未涵蓋的編碼實踐,並提供建議以應對科技行業的職業生涯。

你也可以加入一個社區。尋找當地的團體、網絡活動和在你區域舉辦的見面會,以及黑客馬拉松,你可以與其他程序員進行面對面的交流。

在線開發者社區對初學者來說也是一個豐富的資源。

別忘了查看:

  • Stack Overflow,一個用於編程問題和討論的論壇網站。
  • GitHub,一個用於開源項目的代碼庫,擁有活躍的開發者社區。
  • Women Who Code,一個為追求科技職業的女性組織活動、社區和工作機會的非營利機構。
  • r/learnprogramming,一個供初學者編程者使用的子論壇(Reddit.com上的一個微網站)。

10. 考慮參加編碼訓練營。

編碼訓練營是一個將全面的編碼課程壓縮到幾個月中的短期培訓計劃。這些計劃節奏快、沉浸式,是發展職業生涯的跳板。

編碼訓練營是密集而昂貴的 — 沒有任何編碼經驗的人不應輕易參加。

這些計劃主要針對希望在開發領域展開職業生涯並準備投入時間、精力和金錢以快速獲得必要技能的初學者。

雖然畢業生往往能在科技行業找到工作,但請明白這不是一個保證的結果。你將為這樣的追求犧牲相當大的一部分年份和積蓄。然而,在一個由同儕和老師圍繞並且和你一樣積極的面對面學習環境中學習,難以超越。

編碼與編程

編碼和編程這兩個術語經常互換使用,但它們並不總是指同一回事。編碼和編程都意味著為計算機編寫指令。但是編程可能還包括算法和數據結構。通常,編程一詞描述更高級的項目。

雖然你可以僅憑一台計算機和一些時間進行編碼,但有些編程可能需要專門的軟件工具。編程項目通常更大更復雜。它們可能需要項目管理和更堅實的知識基礎。

編程語言

編碼需要掌握至少一種編碼語言,這是一組計算機可以理解的語法和規則。有數百種編碼語言,每種語言在用途和功能上都是獨特的。

當我第一次踏入編碼的世界時,編程語言的種類讓人感到不知所措。我從HTML和CSS開始,這是一次變革性的體驗。深入研究HTML讓我了解了網頁的基本結構,而CSS則揭示了設計和樣式的秘密。這些語言對於像我這樣的新手來說是完美的起點,提供了對網站開發世界的實踐導入。

編程語言為你所撰寫的指令提供了結構。這種語言看起來像英語,但並不完全相同。程序員將編程語言中的術語和語法稱為語法。

像組合語言或機器語言這樣的低級語言對機器來說比對人類更容易閱讀,因此它們可能難以學習。儘管如此,像C++這樣的中級語言是值得學習的,如果你想要編寫:

  • 操作系統
  • 數據庫系統
  • 圖像或視頻處理軟件

高級語言通常對初學者來說更容易。有些語言更注重結構,而其他語言更互動並能執行更複雜的功能。

以下是一些最適合初學者的語言。試著熟悉符合你目標的一種語言,然後如果你願意,再探索其他語言。

不要擔心選擇錯誤的語言。這些語言共享基本概念,因此你可以從其中一種語言開始,然後切換到另一種。

HTML

超文字標記語言,或 HTML,是網際網路的基礎 – 用於設置網頁內容。當您載入一個網頁時,您會看到您的瀏覽器呈現的 HTML 文件。

如果您不確定編程是否適合您,HTML 是最容易入門的語言。

這是因為 HTML 在技術上並不是一種編程語言 – 它不執行腳本,也不能使用它來構建功能性程序。但 HTML 在線上隨處可見,所以如果您想了解網際網路,首先需要了解 HTML。

最適合:渴望踏入網頁開發並了解網頁創建基礎的初學者。

CSS

您可能不太熟悉 HTML 的兄弟語言,CSS。HTML 處理網頁上顯示的內容,但不影響內容的外觀。

這就是層疊樣式表(CSS)的作用所在。CSS 語言處理 HTML 的樣式 – 它設置功能,如顏色、大小、字體,甚至整個頁面佈局。CSS 也不是一種編程語言。它是應用於 HTML 的一組規則。

HTML 和 CSS 幾乎總是一起使用,所以我建議同時學習兩者。否則,您的網頁將顯得相當單調。

如果您從零開始,著手學習 HTML 和 CSS。

學習 HTML 和 CSS 很容易,主要是因為它們不需要您思考編程語言的計算邏輯。

學習 HTML 和 CSS 感覺也比其他語言更不抽象,因為您可以快速看到代碼的結果 – 只需創建一個 .html 文件並在瀏覽器中打開它。或者,打開一個現有網站並使用您的檢查工具查看底層代碼。

但是,如果您希望您的網頁可以做一些事情,您將需要…

JavaScript

JavaScript 是一種將靜態網頁變為動態網頁的編程語言。它使頁面元素可以移動,對用戶操作(如點擊)做出反應,並處理超出僅存在於頁面上的操作。

如果您對網頁開發感興趣並且對 HTML 和 CSS 有所了解,JavaScript 就是下一步。

這三種語言一起組成了大部分網頁內容。此外,JavaScript 代碼可以很容易地在您的瀏覽器中進行測試。

專家提示:專注於掌握 JavaScript 中的 DOM 操作和異步編程,真正讓您的網頁生動起來。

Python

Python 是一種受歡迎的初學者編程語言,因為它具有用戶友好的語法和多功能性。

Python 代碼很多時候讀起來像英語,這有助於初學者學習基本概念,如函數。

Python 還具有許多代碼庫。這些是一組預先構建的功能,您可以將其插入代碼中,而不是自己編寫這些功能。使用 Python,您可以構建許多不同類型的程序。許多入門課程也基於這種語言進行項目。

我喜歡的地方:其豐富的庫和社區支持使 Python 成為初學者和經驗豐富的程序員的絕佳選擇。

C/C++

C 是另一種受歡迎的入門課程選擇。它比 Python 更冗長,通常需要初學者寫更多的代碼來實現相同的功能。這需要更多工作,但有助於理解抽象概念。通過 C,您將學習可以應用於其他更簡潔語言的技能。

C++ 是 C 的後繼者。C++ 語法類似於 C,但增加了對象,這是一種功能強大的變量類型,使編寫複雜應用程序變得更容易。

我建議從 C 開始,因為需要學習的概念較少,所有這些概念都可以映射到 C++。它還將教您函數導向編程的基礎知識。

最適合:對系統級編程、遊戲開發或性能至關重要的應用程序感興趣的人。

C#

C#,也被稱為 C-sharp,在開發視頻遊戲、手機和桌面應用程序以及企業軟件方面非常受歡迎。C#與C++有共同的源代碼,但是儘管C++和C有許多重疊之處,C#更像Java。

C#易於學習,並且有許多使用方式。如果您打算同時使用C++和C#,您可能希望先學習C++。這將使理解C#變得更容易,並有助於加快學習過程。

Java

Java(不要與JavaScript混淆)是一種通用的面向對象編程語言。像Python一樣,Java的語法易於人類程序員閱讀和理解 — 通常,一個命令就可以處理復雜的任務。

Java在Android手機應用程序中得到廣泛應用。這是另一種基礎語言,其原則可以直觀應用於學習其他語言。

專家提示:在學習Java時要特別注意理解面向對象編程,因為這是其功能核心。

超文本預處理器(PHP)

PHP是一種用於開發Web應用程序的服務器端、開源編程語言。它可以輕松地添加動態信息,如最新新聞故事,到網站中。

您還可以將此語言嵌入到HTML中,這使得在網站上添加功能而無需外部文件變得輕鬆。PHP還非常適合數據庫訪問,使得訪問和存儲數據變得簡單。

最適合:想要深入了解Web開發中的服務器端方面的初學者。

Ruby

Ruby是一種簡單的語言,適用於創建自動化工具、桌面應用程序和快速原型。Ruby還有一個流行的框架,通常稱為Ruby on Rails。

Ruby是另一種開源服務器端編程語言。其框架還為Web頁面、Web服務和數據庫提供了默認結構。這使其成為開發Web應用程序的有用工具。

盡管這種語言易於閱讀和編寫,但它可能不是您的第一種編程語言的最佳選擇。這是因為它也非常靈活,所以很容易接受變更。

靈活性在您首次學習如何使編碼項目運行時非常有用。但隨著時間的推移,在維護項目時它可能會影響對代碼的更改。

我喜歡的地方:Ruby由於其“約定優於配置”哲學,是快速應用程序開發的絕佳選擇。

SQL

SQL是另一種對初學者很有用的語言。您可以使用這種語言更新、存儲和檢索數據庫中的數據。根據美國國家標準協會的規定,它也是數據庫管理系統的標準語言。

與其他編程語言不同,它技術上是查詢語言,因此您不會使用它構建網頁。

如果您對編程沒有基本的了解,學習SQL可能需要一些時間。盡管如此,這種語言在科技界和數據專業人士中很受歡迎,因此在職場上具有很高的相關性。

我喜歡的地方:SQL在涉及數據存儲和檢索的項目中必不可少,這使其對Web開發人員來說是必學之選。

Swift

如果您想要為蘋果設備創建項目,Swift是一個很好的開始語言。蘋果的設計師們專為初學者創建了這種語言。如果您的主要目標是為iOS設備開發移動應用程序,這應該是您的首選語言。

自2014年以來,程序員們大多使用Swift創建了大多數產品,但您可能還想學習Objective-C。

開發人員在1980年代創建了這種語言。他們的團隊大多使用它來構建iOS工具。它使用了一些C語法,因此如果您已經學會了C或C++,您可能希望在開始學習時從Objective-C開始。

最適合:任何希望為蘋果平台開發應用程序的人。Swift的現代功能和安全性使其成為iOS應用程序開發的首選。

初學者編程技巧

作為不久前踏入編程世界的人,我理解學習編程時帶來的興奮和憂慮的雜項感受。有許多方法來練習編程,有些方法和語言對您比其他人更有效。

不管你是怎麼學習的,請記住這些初學者貼士:

1. 請耐心。

在這篇文章的開頭,我說任何人都可以學習編碼。但這並不意味著這很容易。

編碼需要你以前所未有的方式解決問題。某些主題對你來說可能看起來毫無意義,但對你正在學習的語言至關重要。一開始可能看似簡單的問題,實際上實現起來會比你預期的複雜得多。你可能會花上幾個小時努力完成一個任務,卻看不到結果。

此外,我們不能忘記除錯。你會很快發現,電腦很挑剔,只會按照你告訴它的方式執行。微小的錯誤,例如缺少分號或不正確的運算符號,將導致整個程式出錯,你必須找出問題所在。

即使對初學者來說,編碼也不容易。

所有這些可能會讓你感到不舒服和沮喪,這是正常的。給自己一個好處,慢慢穩步地進步,給自己時間讓所有知識深化。

最優秀的程序員曾經就像你現在的位置一樣,每個人都必須從同樣的地方開始學習。對自己寬容一點,堅持你設定的目標,休息一下,你會沒問題的。

2. 熟悉基礎知識。

學習程式語言的初期階段都是關於基本原理。你可能從學習二進制、數據類型和如何在控制台中輸出開始。接著,你將探索以下主題:

  • 變數。
  • 函數。
  • 條件邏輯。
  • 數組。
  • 物件。

在進一步之前,你必須充分掌握這些概念。這是因為你在計算機科學中學到的每一點都是建立在之前的主題之上。

如果某些事情不合理,請繼續複習直到理解。不要假設在未來的課程中它會變得合理。如果你是從教程中學習,請確保你了解每個活動的目的是什麼。

完成所有練習,親身體驗每個主題如何應用於編碼。保持耐心 — 直到掌握基礎知識,你才能著手進行一個雄心勃勃的項目。

3. 從一開始就寫乾淨的程式碼。

這是一個在線課程可能不會教你的事情:除了學習如何編寫代碼,你還應該練習如何寫好的代碼。

這是什麼意思?對於任何給定的運算,都會有不止一種編程方法。你應該始終努力以最簡潔且易讀的方式編寫它。

開發人員通常是團隊合作,因此其他人經常會閱讀你的代碼。如果難以理解,其他開發人員就不會期待與你合作。

即使你決定自由職業,寫乾淨的代碼可以確保你能理解自己的代碼。現在建立乾淨編碼的習慣會讓你在幾個月後重新查看工作時節省大量時間。

乾淨的代碼為什麼重要?

你可能想知道為什麼此時需要學習乾淨的代碼。你是初學者,所以寫出功能性的程式不應該是主要目標嗎?

嗯,是的。這是建立良好習慣的開始。如果你現在額外付出努力,日後你將節省自己(和其他人)一些理智。

一個良好的做法是保持你的代碼行和函數簡短。我建議將每行代碼限制在 80 個字符以內,每個函數不超過 15 行。

雖然一開始有所限制,但這些規則將訓練你偏好於高效的代碼,而不是第一個想法。

此外,要养成註釋的習慣。註釋是計算機不處理的代碼段,因此你可以在其中寫任何想要的內容。

程序員使用註釋來澄清代碼的目的。了解註釋在您的語言中如何工作,至少在您的函數頂部留下註釋,解釋每個功能的作用。

4. 搜索是你的好朋友。

使用 Google 找尋編碼問題的解決方案並不可恥。事實上,專業開發人員經常這樣做。

如果你遇到困難,可能有人遇過相同情況並在論壇上提出了問題。你將會驚訝地發現,透過非常具體的查詢,你會找到許多解決方案。

而且,當終於解決一個棘手的 bug 後,關閉 20 個 Stack Exchange 的選項卡是相當令人滿意的。

我們喜歡的編碼資源

Coursera

總的來說,Coursera 是一個很好的資源。他們有來自 Google、IBM 以及各個學院和大學的許多編程課程。你可以通過他們的月度訂閱獲得許多付費課程,但他們也提供免費課程。

Coursera 也提供按課程基礎的財務援助。如果獲准,你可以免費獲得付費內容的訪問權限。值得一提的是,通過這種方法獲得的訪問權限只有限定時間。如果幾個月沒有碰觸某門課,你很可能會失去訪問權限。

Coursera 的另一個好處是它被視為一個課堂環境。這意味著你每門課都有一位導師可以向他尋求幫助,還有其他正在上課的學生。你還可以獲得專業證書,有助於推動或改變你的職業生涯。

MDN Web Docs

如果你在進行網頁開發,MDN Web Docs 是文檔的黃金標準。所有有關 HTML、CSS 和 JavaScript 的東西都可以在這裡找到。這個網站屬於 Mozilla 基金會,你可能知道他們因其流行的瀏覽器 Firefox 而聞名。

MDN Web Docs 還有許多教程,從完全新手到高級水平不等。

Codecademy

Codecademy 非常適合立即開始編寫代碼。它給你一些小而易理解的任務,同時提供一個工作區。他們提供幾乎所有你能想到的語言課程。

他們的大部分內容都是免費的,雖然也有付費的導師項目和職業道路可供選擇,還有職業服務和專業證書。

The Odin Project

The Odin Project 是一個針對網頁開發的開源全棧課程。他們有兩條路線,一條使用 Ruby on Rails,另一條使用 JavaScript(帶有 React 框架)。

提供的信息量有點可怕,但 The Odin Project 最好的部分是,到最後你將擁有許多真實項目來磨練技能,展示給潛在雇主看。

W3Schools

W3schools 提供了許多教程,涵蓋從典型程式語言到框架和其他語言如 SQL 和 HTML。他們還有許多示例代碼供您在編碼過程中使用和參考。

最好的部分是所有內容都是免費的。他們也提供一些付費證書,但關於語言的所有實際信息都是隨時可得的。

Stack Overflow

Stack Overflow 對開發者來說是一個非常受歡迎且有用的網站。人們在這裡提問編碼問題並獲得反饋。然後,回答會被投票選出最佳解決方案。即使你不再是新手,你仍然可能會經常回來尋找各種問題或問題的答案。

社群非常活躍,這個公共平台是免費的。您只需創建一個帳戶便可與他人互動。

編碼不僅僅是代碼。

最後,我想分享自我第一門計算機科學課中得到的一條寶貴建議。從新手的角度來看,學習編碼似乎意味著學習如何編寫代碼。

這是有道理的:當我們想象一個電腦程序員時,我們會看到有人在電腦上編寫代碼 — 畢竟它叫做“編碼”。

然而,一旦開始,你會發現這不是全部內容。你會花費更多時間思考要寫什麼,而不是實際書寫代碼。

編碼是解決問題。

這是因為編碼更多地是關於解決問題,而不僅僅是了解語法。學習編碼就是學習像計算機一樣思考,將問題分解為組成部分,並使用給定的工具來解決它們。

所以,是的,你將學會寫一些令人印象深刻的代碼,最終創建令人驚歎的事物。但首先,你將培養思考技能,這將幫助你實現這一目標。

在我的編碼多年中,這種解決問題的方法改變了我面對技術挑戰和處理問題的方式。希望你也能有同樣的體驗。繼續前進。你可以的。

編輯備註:本文最初發表於 2020 年 12 月,已更新以提供全面性。

本文內容翻譯自原始文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *