程式設計 | 原創,AI翻譯
-
競程是可以的,只要它能激發你的動力。
-
編程就像寫作。編程是一種創造性活動。
-
自己做項目。寫技術博客。為一個你會維護多年的項目編程,就像維護一個十年長的博客。
-
通常,你不需要追求現在技術界的熱門,因為很多趨勢幾年後就會消失。
-
追求你的好奇心,為了自己而編程。
-
試著為自己創造程序。它們不是工作任務。
-
如果你經常在編程時感到不快樂,那麼你就做錯了。
-
iOS、Android、後端、前端、AI 都很好。你至少可以嘗試用它們做一個小項目,或者學習它們幾個月。
-
除錯是懷疑的過程。不要相信你的每一行代碼;你可以想出更好的方法來做。
-
在編程中,即使是一個字符或一行日誌也很重要。它們告訴你一些事情。
-
使用編程來為他人製作產品。擁有用戶是有趣的。
-
你不需要嚴厲。幾百個真正喜愛你產品的用戶比幾萬個只是善意喜歡你產品的用戶更好。
-
記住你為什麼開始編程,永遠不要忘記它。
-
將編程中的知識應用到生活的每個方面。它們是相同的。批量處理或一個一個地做。如何將工作分解成單元。每個應用程序背後的技術。網絡請求背後的細節。
-
抽象和邏輯思維。細節導向的思維。每個解決方案的思考。
-
真理就是真理。通常,電腦不會錯。電路不會錯。編譯器不會錯。當有錯誤時,不要感到沮喪。
-
追求優雅和簡單的解決方案。簡單是最高的智慧。你需要努力思考,留下本質的部分,去掉多餘的部分。
-
對於編程語言,能完成工作的語言就可以。我個人推薦 Java 和 Python。
-
關注 https://www.yinwang.org 的 Yin Wang。他是編程界少數幾個天才之一,雖然他說天才從來不存在。
-
編程的知識和原則可以輕鬆應用於語言學習、硬件修理、生活技巧和科學研究。
-
對於大多數編程任務,你不需要高於高中數學的數學。
-
多年後反思你的舊代碼,或者長期維護一個代碼項目。它會教你很多。
-
如果你失去了編程的熱情,就暫時做其他事情。
-
測試的時機很重要。自然地進行測試。你經常不需要為你的項目寫測試。嘗試不要寫測試,寫單元測試,寫集成測試,寫 API 測試。明智地比較它們。
-
試試 AI 代碼編輯器。經常使用 ChatGPT 或其他聊天機器人。由於 AI 工具現在很容易使用,你可以專注於更有創意或更重要的部分。
-
除錯時,檢查你是否使用了最新版本的庫。如果一個庫沒有維護,尋找活躍維護的克隆或分叉。
-
在改進像網絡速度或程序運行時間這樣的東西時,必須有一個量化指標。否則,你不會知道是否有微小的改進或退化。
-
對於個人項目,不寫測試代碼也可以,但改變大量代碼後最好進行本地測試。考慮受影響的代碼、它在雲端管道中運行的時間以及它可能導致錯誤的頻率,然後相應地寫測試代碼。使用允許輕鬆測試而不影響用戶體驗的方法。
-
寫簡單而優雅的代碼。最小化重複,雖然有時重複會導致更簡單的解決方案。最小化特殊情況。使其易於測試。重構以使用常見函數或過程,使用遞歸或循環,並尋找模式。
-
正確處理錯誤。考慮根本原因、責任以及我們是否可以改變它,或者它是否是外部錯誤。考慮救援方法、影響範圍、處理位置、是否應該分類錯誤、發生的可能性以及最壞的情況。
-
使用 replace 還是使用 startWith 後跟 slice 的區別在於前者忽略字符串的位置。將類似的思維應用於編程的每個細節。
-
最小化一個項目的可能值;對一個情況使用一個值。如果我們已經有 false,就不要使用 null。如果我們有一個翻譯的 true 或 false 標誌,我們需要確保每次我們有一個翻譯的標誌,我們不會將翻譯標誌的不存在視為 false。
-
經常使用 GitHub 或 Sourcetree 來查看更改的代碼塊。它們更方便閱讀代碼。
-
在編程中,經常沒有微不足道的事情。每個字符、列表項目的順序、每個字符串、每個數字和每個變量名都很重要。每個執行順序和每個日誌都很重要。
-
做讓你最興奮的事情。沒有必要擔心不跟隨主流。
-
經常使用命令,因為它們可以幫助自動化任務或協助 LLM。UI 操作更難自動化。
-
保存程序的日誌,包括本地、UAT、微服務和管道日誌,在一個目錄中。在編程中,這些日誌包含大量連接。搜索它們以識別關係,收集相關數據或上下文。
-
當你收集了日誌,遇到問題時,更容易確定你是否之前遇到過。從以前的日誌中,你可能知道如何修復它。日誌提供了更好的理解,了解一切是如何運作的以及電腦如何執行程序。與代碼不同,日誌是時間相關的,並提供更多有關運行狀態的信息。它們對於除錯也更輕量。
-
除錯顯示大量信息,包括周圍變量的值、線程名稱和函數堆疊。