- 編程原則:來自代碼大師Max Kanat-Alexander的建議
- (美)馬克斯·卡納特-亞歷山大
- 1183字
- 2021-07-09 20:27:42
第3章 成為明星程序員的獨特秘密
在繼續談論所有的軟件設計原則、開發軟件的目標和軟件設計本身的科學之前,有一個不得不提的決定軟件開發者是成功還是失敗的獨特秘密:
越是理解你正在做的事情,就越是能把它做好。
“明星”程序員比一般或者平庸的程序員更透徹地理解了他們正在做的事情。僅此而已。
那些能夠在一天之內掌握一門全新編程語言的高級工程師,和那些在這個行業掙扎了十年只為保住飯碗,一直按別人的設計方案編程,還因為自我提升不夠而始終無法得到晉升的初級開發者之間的區別就在于此。通過它也將糟糕的程序員同優秀的程序員、優秀的程序員同偉大的程序員、偉大的程序員同那些通過精湛技藝建立起幾十億商業帝國的“明星”程序員區分了開來。
正如你所看到的,這一點也不復雜,并不是什么難以掌握的技巧。也不是需要你擁有與生俱來的某種特殊天賦或者“把代碼寫好的神奇能力”才能辦到的事。成為杰出的程序員還是糟糕的程序員與個體的自然屬性無關:
想要成為一名杰出的程序員,你所要做的僅僅是完完全全地理解你正在做的事情。
或許有些人會告訴你他們已經掌握了所有的知識。你可以通過觀察他們能否將他所理解的內容應用到實際工作中,來檢測他們的說法正確與否。他們能否構建出一個易于維護并具有優雅架構的系統?他們是否能比大多數程序員更有效率地解決問題?在被尋求幫助時,他們是否能用淺顯易懂的概念清晰地解釋清楚?如果以上都能做到,那么他們確實是杰出的程序員,并且的確對領域內的知識了如指掌。
但是,與相信自己“對一切了如指掌”相距甚遠的是,許多程序員(包括我在內)常常感覺自己身處于浩瀚無垠的信息海洋里,受困在一場史詩級戰爭中。有太多東西需要知道,以至于哪怕窮極一生致力于學習研究,可能依然只了解了90%的計算機知識。
這場史詩級戰爭中的神秘武器,擊敗計算機知識的王者之劍,就是對你所學習到的知識的理解。
越是理解所處領域的底層知識,學習高級別的知識就越容易。越是理解當前級別的知識,學習下一個級別的知識就越容易,以此類推總是成立的。如果你自認為對某一門學科內從基礎到高深的知識要點都統統掌握了,那不妨選擇從頭開始溫習一遍,相信你會驚奇地發現在底層還有如此多的東西需要學習。
這聽上去簡單得難以置信,但事實就是如此。成為杰出程序員的必經之路就是保證對知識完全和完整的理解,從對基礎知識的深刻掌握,到對大多數先進概念的扎實了解都必不可少。
我不想騙你,有時候這條路走起來非常漫長。但它是值得的。在道路的盡頭,你或許會發現自己突然成長為了一位了不起的高級工程師,人人都會來向你征求意見。或者你會成為被所有同行欽羨的無往不利的神奇程序員。又或者你會造就一款價值數百萬美元,并且取得難以置信的成功的“明星”級產品,誰知道呢?
我無法告訴你應該做些什么或者應該成為什么樣的人。我只能將一些我發現的有效且有價值的信息分享給你。應該怎么做依然取決于你自己。
——Max
- Extending Jenkins
- Mobile Application Development:JavaScript Frameworks
- Building a RESTful Web Service with Spring
- 軟件測試項目實戰之性能測試篇
- MongoDB權威指南(第3版)
- Learning Concurrent Programming in Scala
- INSTANT Sinatra Starter
- 零基礎學C++(升級版)
- Unity 5 Game Optimization
- HTML5+CSS3+jQuery Mobile+Bootstrap開發APP從入門到精通(視頻教學版)
- jMonkeyEngine 3.0 Beginner’s Guide
- PHP從入門到精通(第7版)
- Elasticsearch實戰(第2版)
- 軟件測試實驗實訓指南
- Python編程從新手到高手