編程老手的哪些特色,值得新手學習。

 

有經驗的程序員會作到下面 29 項事情,這也是每一個新手程序員應該知道的事情。程序員

若是你想成爲更好的開發者,你應該尤爲注意第 15 點和第 29 點編程

1.積極大膽地谷歌。你得知道如何有效地組織搜索關鍵字,查閱別人寫的代碼,而後合理地用在代碼裏,從而解決問題。數組

2.擁抱變化,堅持不懈。老手程序員在接觸新技術時,能欣然接受像個初學者同樣到處受挫,並總能在完成工做的同時自學成才。框架

3.認可細節的重要性。例如變量和函數的命名、CSS 屬性的命名、該用哈希仍是用數組,以及其餘看起來微不足道,但可能對項目有深遠影響的事情。編輯器

4.認可大多數的「重要決定」其實並無那麼重要。通常的開發者常常在技術選型等「重大問題」上陷入脣槍舌戰,而程序員老鳥們會避免浪費時間在罵戰中。這一點上,他們就像禪宗大師同樣(zen-like)。函數

5.選擇合適的工具解決問題。網上有無數的開源庫、工具和框架,讓人眼花繚亂。而老手們清楚地知道針對怎樣的問題,應該用什麼樣的工具。工具

6.明白代碼「不值錢」(該刪就刪)。你必須習慣於刪掉幾百行代碼來重寫程序的某一部分,絕不留情。學習

7.在評估技術的時候要全面。例如,我一直在鼓吹Elixir。它語法優美,社區完善,有很大的潛力。但Elixir誕生的時間過短,因此若是要構建複雜的功能,可能會難以找到能幫你提升效率的開源工具。所以,在評估要不要選擇使用一項技術時,你得把全部這些因素都考慮在內。開發工具

8.學會說「我不知道」。沒有比拒絕認可本身不知道更能浪費一個開發者的時間了。優化

9. 仔細分析錯誤信息裏的線索。傳統教育告訴咱們:失敗是壞事。報錯信息這種東西也常常被跟失敗聯繫起來,然而優秀程序員明白,這些錯誤消息裏其實隱藏着能將你指向最終正確解決方案的線索。

10. 瞭解過早優化和必要的「炫技式」優化的區別。老手們清楚在何時須要寫一些看上去沒那麼好懂,但會讓程序運行更快的代碼。

11.每一個人都會犯錯,爲本身的過失負責。而尤爲在團隊裏,把責任推來推去沒有任何意義,由於錯誤的發生每每不僅是一方的因素形成的。

12. 成爲你所用的開發工具的重度用戶。若是長期在某個開發環境下有至關比例的開發工做,那你應該去掌握使用它的細節。

13. 學會用Vim(至少會一點)。 你至少應該在這個編輯器裏學會勉強地移動和翻頁。

14. 不要接陌生技術領域的私活。我的作自由職業項目,其中很大一部分挑戰就是評估項目時間。不要規劃本身未知領域的事情,那會讓你處於想當尷尬的境地。

15. 不要數你幹活花了幾個小時。技術大牛會把時間花在有深度的工做上,而且他們清楚花了多少時間徹底不重要。

16. 學會坦然接受批評。當你的代碼由於各類緣由四分五裂時,你須要培養用理性和邏輯的方式來應對(而不是情緒化處理)。

17. 同有更多經驗的人結對編程。沒有比這個更高效的編程學習方式了。

18. 必定要先本身作一遍代碼審查。當你在GitHub上發起一個pull request以前,先把代碼當成別人寫的,本身先審查一遍。

19. 認識到作自由職業的難點不是寫代碼,而是其他的全部事情。銷售、推廣、客戶支持,質量保證以及產品管理,全部這些都會花費大量時間。

20. 發現並解決更大的問題。優秀的程序員不拘泥於眼前的問題,而是清楚如何用更長遠的方式完全的解決這一類問題。

21. 深刻了解一些大型開源項目的核心能讓你開發時如虎添翼。若是你知道如何給你的項目打猴子補丁(Monkey Patch), 那麼你將無所不能。

22. 跳過多數的會議。你的公司僱你是來寫代碼的,而不是談代碼的。當會議多到失控的時候,不去參加也沒有任何問題。並且一旦你開始這樣作,別人會更珍惜你的時間。

23.知道何時開始回饋。 到了某個時候你須要將你的技能和經驗傳授給年輕的開發人員,就像你的導師當時教授你同樣。

24. 能寫爛代碼。有時候能夠當一當「膠帶式程序員」。關鍵是隨着時間推移,你須要弄清楚何時能夠走捷徑,何時必須走捷徑。這實際上是最難掌握的技能之一。

25. 禮貌地告訴別人你工做到很晚。若是你是辦公室裏最後一個,能夠發一封簡短的彙報郵件。別人通常會注意到郵件上的時間戳的。

26. 像一個領導者(Leader)同樣作事,而不是老闆(Boss)。老闆是讓別人爲他工做的人,領導者是人們追隨的人。作個領導者。

27. 去打打桌上足球。從長期來看,同其餘開發者(或不一樣崗位上的同事)創建聯繫會比在緊巴巴的期限裏交付一個功能更有價值。

28. 在壓力下學習。你須要知道如何應對像系統宕機而你要負責將它復原的狀況,即便一開始你徹底沒有頭緒。

29. 「Move fast and break things」 別讓完美主義阻止你作事。錯誤每每是最好的學習機會。因此別把犯錯看成失敗,而應該把它們看成值得學習的經歷,並意識到:正是不斷克服和突破這些錯誤,做爲一個程序員,你才能不斷成長起來。

像生活中的不少事情同樣,編程也是你作的越多,瞭解的就越多。因此若是你是一個新手程序員,仍是直接去編碼吧。記得將這些最佳實踐應用在平常工做中,來不斷提高你的編程技藝。

相關文章
相關標籤/搜索