如何節省更多的時間,犯更少的錯誤。
在這個總結中,我列出了一些對我的職業生涯有幫助的事情。它讀起來很快,但是用得好可能要花一輩子的時間。我寫代碼已經將近15年了,但有時候,我還是不得不停下來思考這個職業的關鍵部分。
- 把代碼分解為小函數。
- 如果你下班的時候還沒有解決問題。關掉電腦,留到第二天再解決。不要再想這個問題了。
- YAGNI principle:代碼的功能不要超越需求。不要預測未來,只要盡快創造出可行的東西就可以了。代碼只需要解決當前必須要解決的問題。
- 你不需要了解所有內容,也不需要了解所有現有框架。最重要的是要有一個良好的基礎。在開始使用框架之前,要深入了解這門語言,并學習一些基本的東西,比如SOLID原則或如何編寫干凈的代碼。
- KISS:“Keep it simple, stupid”或“Keep it stupid simple”是一個設計原則,它表明大多數系統在保持簡單而不是復雜的情況下工作得最好。雖然這是合乎邏輯的,但有時很難實現。
- 不要想得太多。
- 如果你遇到問題或bug的時間太長,那就走開,稍后再來解決它。通常,我在從辦公室到衛生間的路上就會想到這些問題的優秀解決方案。當你對客戶或同事生氣的時候,特別是如果你還想保住你的工作,走一走也是明智的。
- 學習編寫有用的測試并學習做TDD。TDD是一種依賴于重復非常短的開發周期的軟件開發過程:編寫測試、運行所有測試并查看新測試是否失敗、編寫一些代碼、運行測試、重構代碼、重復。
- 先解決問題,然后再寫代碼。不要在不知道怎么做的情況下開始編碼。
- 不要去記代碼,而是要理解其中的邏輯。
- 如果復制粘貼stack overflow解決方案,請確保可以理解它。學會使用 Stack Overflow的正確方法。
- 如果你想學習,那就去練習。舉個例子,讓它們發揮作用,因為僅僅閱讀是不夠的。
- 學習別人的代碼,也讓別人時不時地學習你的代碼。結對編程和代碼復查是一個好主意。
- 不要重復造輪子。
- 你的代碼就是很好的文檔。
- 知道如何google東西。為此,你需要有經驗和大量閱讀,知道應該找什么。
- 你的代碼將來可能需要自己或者別人來維護,所以寫代碼時要考慮到讀者,而不是試圖成為最聰明的人。讓它讀起來像你在讀故事。
- 利用google來解決錯誤的好方法是復制粘貼這個錯誤。
- 永不放棄,最終,以這樣或那樣的方式解決它。糟糕的日子總會過去的。
- 休息,休息,再休息。解決問題的好辦法是有一個冷靜的頭腦。
- 學習使用軟件設計模式。設計模式是軟件設計中常見問題的解決方案。每個模式都類似于一個藍圖,你可以自定義該藍圖以解決代碼中常見的設計問題。(不要重復造輪子)
- 盡可能使用集成工具和自動化。
- 做代碼練習。code kata是一種編程練習,幫助程序員通過練習和重復來提高他們的技能。這里:https://codingdojo.org/kata/
- 面對接口編程,而不是面對實現編程。依賴注入是必需的。參考SOLID原則。
- 重構-測試-重構,是一種重構現有代碼、修改和改進其內部結構而不改變其外部行為的技術。
- 需要幫助的時候就去問。不要浪費時間。
- 熟能生巧。
- 雖然有時注釋可以幫助你理解,但不要太在意它們。他們可能過時了。
- 熟悉你的開發環境,并購買于一個足夠強大的開發環境,比如IntelliJ。
- 重用組件。
- 在開發web應用程序時,請考慮mobile-first以及相關的功率和帶寬限制。
- 不要過早地優化或重構。更重要的是盡快有一個最小的可行產品。
- 永遠不要為了節省幾分鐘而選擇低效的捷徑。每次寫代碼的時候,盡你很大的努力!
- 遵循文檔的標準。
- 用戶不是技術人員。當你開發你的UI時,想想它。
- 一定要用Github或bitbucket之類的代碼管理系統,做小和頻繁的git提交。
- 使用日志比調試代碼更好。記錄所有關鍵信息。
- 編碼時要保持一致。如果你使用了一種風格,請始終使用同一種風格。如果你和更多的人一起工作,所有的團隊使用相同的風格。
- 不要停止學習,但要比學習新的語言或框架更關注軟件開發的基礎知識。
- 最后,耐心以及熱愛你所做的事情。