程式界的法則-程式員都是自學成才

來源:互聯網
上載者:User

摘自:http://www.cnbeta.com/articles/168975.htm

在我十幾歲的時候就開始玩甲級級棒球。我水平很差,但當我決定要做好什麼事時,最終總能如我願。現在我是電腦專業3年紀的學生。在編程上,有些事情和體育是截然不同的:棒球教練可以教會你如何打棒球,但一個電腦教授卻不能教你如何編程。

我很吃驚,在整個大一期間,我的老師或教授從來不點評My Code,大二時更是如此。我們的作業很多,題目很難,但在完成了資料結構課上的2000行的代碼後,我從來沒有收到過老師的任何一條評論——只要程式能編譯通過,單元測試顯示沒有錯誤,這就行了。直到遇到了一個小組開發的項目,我才認識到My Code寫的多爛,我才開始詢問:好的程式應該如何寫。

但是,什麼樣的代碼才是好的代碼?我花了大量的時間來提高代碼的可讀性,添加註釋。我努力模仿UNIX的哲學觀,力求簡約,首先讓程式能跑起來,在此基礎之上,在需要的情況在進行最佳化。複雜的東西要逐步增加。除非必要,我不使用線程。但是,說實話,我不知道這是不是好的代碼(說實話,我覺得自己水平很差)。

我很幸運,能和一群優秀同學一起工作,他們都是出色的程式員,他們在微軟、Google、亞馬遜等公司實習。他們的觀點都很一致,認為自己的知識都是自己總結或從其他程式員那裡學到的。即使是非常資深的軟體工程師也有這樣的看法。所以,我的結論是:所有程式員都是自學成才的。

我受的教育給了我很好的基礎:資料結構,演算法,資料庫設計,並行計算,網路編程,敏捷開發以及各種編程模式。但所有的這些,即使是它們使得編程更高效和更精巧,你仍然可能用錯它們——我曾經看過一些學生在這些課程上學習成績非常好,但寫的代碼卻讓人想哭。

我並不認為學過電腦科學、軟體工程或得到一個大學文憑會有多大的用處,如果你想靠寫代碼為生,自學是你不可缺少的途徑。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.