程式設計
-
程式競賽可以做,只要它能激勵你。
-
程式設計就像寫作。程式設計是一種創造性活動。
-
進行自己的專案。寫你的技術部落格。為你會維護幾年的專案進行程式設計,就像維護一個長達10年的部落格。
-
通常,你不需要追求當前科技的熱門,因為許多趨勢幾年後會消失。
-
追隨你的好奇心,為了自己而進行程式設計。
-
尋試自己創建程式。它們不是工作任務。
-
如果你在程式設計時經常感到不開心,那麼你就做錯了。
-
iOS、Android、後端、前端、AI 都是很好的。至少嘗試用它們做一個小專案或學習幾個月。
-
調試是懷疑。不要相信你的每一行程式碼; 你可以想到更好的方法來完成它。
-
在程式設計中,就連一個字符或日誌的一行都很重要。它們告訴你一些東西。
-
使用程式設計製作產品供他人使用。有趣的是有用戶。
-
你不需要太苛刻。幾百個用戶真心喜愛你的產品,比起幾萬個用戶只是善意地喜歡你的產品好。
-
記住你為何開始程式設計,並永遠不忘。
-
把程式設計中的知識應用到生活的各個方面。它們是相同的。分批次或逐一完成事項。如何將工作分解為單元。每個應用程式背後的基礎科技。網路請求背後的細節。
-
抽象和邏輯思維。細節導向的思維。對每個解決方案的思考。
-
真理就是真理。通常,電腦不會錯。電路不會錯。編譯器不會錯。當遇到錯誤時,不要感到沮喪。
-
追求優雅和簡單的解決方案。簡單是最高的智慧。你需要努力思考,只留下最本質的部分,去掉多餘的部分。
-
關於程式語言,擁有達到目的的語言是好的。我個人推薦 Java 和 Python。
-
關注 王寅 的 https://www.yinwang.org。他是少數幾位程式設計天才之一,雖然他說天才並不存在。
-
程式設計的知識和原則可以輕鬆應用到語言學習、硬體修理、生活技巧和科學研究。
-
對於大多數程式設計任務,你不需要高於中學數學的數學知識。
-
反思你幾年後的舊代碼或長期維護一個程式碼專案。它會教你很多。
-
如果你失去了對程式設計的熱情,只需暫時做其他的事情。
-
測試的時機很重要。自然進行測試。你通常不需要為專案編寫測試。嘗試不編寫測試,編寫單元測試,編寫整合測試,編寫 API 測試。明智地比較它們。
-
試試 AI 代碼編輯器。頻繁使用 ChatGPT 或其他聊天機器人。由於 AI 工具現在很容易使用,你可以專注於更具創意或重要的部分。
-
當調試時,檢查你是否使用最新版本的庫。如果一個庫未維護,尋找積極維護的克隆或分叉。
-
當改善像網路速度或程式運行時間這樣的東西時,必須有一個量化的指標。否則,你無法確定是否有微不足道的改進或惡化。
-
對於個人專案,不寫測試代碼是可以的,但在改變大量代碼後進行本地測試會更好。考慮受影響的代碼、它在雲端管道中運行的時間以及它可能引起錯誤的頻率,然後相應地編寫測試代碼。使用允許輕鬆測試而不會對用戶體驗產生負面影響的方法。
-
寫簡單和優雅的程式碼。最小化重複,雖然有時重複會導致更簡單的解決方案。最小化特殊情況。使其易於測試。重構以使用通用函數或流程,使用遞歸或迴圈,並尋找模式。
-
正確處理錯誤。思考根本原因、責任以及我們是否可以改變它或它是否是外部錯誤。考慮救援方法、影響範圍、處理位置、是否應分類錯誤、發生的可能性以及最壞情況。
-
使用 replace 而不是使用 startWith 後跟 slice 的區別在於前者忽略了字符串的位置。將類似的思維應用到程式設計的每個細節。
-
最小化一項的可能值; 只為一種情況使用一個值。如果我們已經有 false,就不要使用 null。如果我們有已翻譯的 true 或 false 標誌,我們需要確保每次我們有已翻譯的標誌時,都不將未翻譯標誌的不存在視為 false。
-
使用 GitHub 或 Sourcree 頻繁審查變更的代碼塊。它們更適合閱讀代碼。
-
在程式設計中,通常沒有微不足道的事。每個字符、清單項的順序、每個字符串、每個數字和每個變數名都很重要。每個執行順序和每個日誌都很重要。
-
做最能激勵你的事情。沒必要擔心不跟隨主流。