雷軍給程式設計師的五點建議
只有真正喜歡才能寫好程式
喜歡寫程式,做程式設計師就是上天堂;不喜歡寫程式,做程式設計師就是下地獄。
程式設計師需要整天趴在電腦前,經常沒日沒夜的,非常辛苦,而且工作來不得半點虛假,少寫一個標點符號都不行。喜歡的人,日子過得非常開心,每寫一行程式碼,都會有新的成就,尤其當自己的作品被廣泛應用的時候,那種自豪感油然而生。不喜歡的人,坐在電腦前極其無聊,被進度壓得喘不過氣來,天天為找Bug,改Bug生氣。
只有喜歡,只有熱愛,才能把程式寫好!
我建議不喜歡寫程式的人早點轉行,不要勉強自己,免得誤人誤己。
把程式當藝術品像寫詩一樣來寫程式碼
現在很少有公司做Codeview(對寫好的程式做程式碼級檢查),於是很多人在進度的壓力下潦草應付,只要測試通過就算搞定。表面上看,開發速度很快,進度有保障;但實際上,這樣的程式連開發者自己都很難讀懂,一旦有Bug,很難除錯,將來維護升級都非常困難。這樣的程式碼多半隻能重寫,浪費自然嚴重。
如果每個人寫程式的時候當藝術品來寫,寫每行都認認真真、乾乾淨淨的,雖然速度略微慢了一點,但綜合的開發成本會低很多。
如何寫像詩一樣美的程式碼呢?方法也很簡單。
1.買幾本經典的程式設計書,把書上所有例程全部重新寫一遍,逐個比較和書上範例的差距,一步一步改善自己程式設計的風格和技巧。時間長了,自然就能寫出像書上例程一樣的程式碼,甚至可以比書上寫得好。
2.基礎紮實後,多看看Linux等系統級的原始碼,看看高手是如何寫的,就有感覺了。
3.通讀一下MSDN中所有的資料,這樣就“讀書破萬卷,下筆如有神”。
還有,一定要牢記軟體工程的鐵律:可能出錯的地方一定會出錯。每個變數都做初始化,引用每個引數都要做有效性檢查,在可能出錯的每個地方都要做邊界條件檢查,這樣開發出來的程式一定會穩固很多,就是出錯也很容易修改。野路子出來的高手,一般開發速度很快,但做完後Bug會很多,經常需要很長時間修改。而真正的高手,追求的境界是Bugfree code(零缺陷程式碼)。
必須寫夠十萬行程式碼,不要心存僥倖
程式設計師像木工一樣,熟能生巧。程式設計師必須寫足夠程式碼量的程式,才會有感覺,這是一個苦力活,沒有任何捷徑可走。
計算機是一門實踐性的科學,沒有動手能力做支撐,很難做出好的科研成果。我的一個學長是美國卡內基梅隆大學的博士,卡內基梅隆大學計算機系在全世界都非常出名,他說每個博士生必須寫十萬行程式碼才能畢業,卡內基梅隆大學博士生進任何一個大企業基本不用面試。而國內培養的大部分研究生、博士生,動手能力都偏弱。
沒有寫過足夠程式碼量的程式設計師,想成為高手是不可能的,只能紙上談兵!
時刻保持好奇心
計算機技術更新換代非常快,每年都有各種各樣的新技術出現。在我過去的職業生涯中,僅程式語言,我就用過Basic、Masm、Pascal、C++、Vba、Delphi、Java等。需要時刻保持好奇心,不斷學習各種新的東西,才能在未來的幾十年職業生涯中不落伍。
人的精力有限,高手往往工作壓力也比較大,如何在有限的時間內掌握整個行業動態,的確不是簡單的事情。我的經驗是經常看業內的各種技術雜誌,參加各種聚會,可以節約很多時間。最重要的是,交幾個博學的技術高手,多和他們交流,一定受益匪淺!
不要侷限在技術本身,多花點精力關注使用者
做到前面幾條,就已經是千金難求的高手了。但一個真正的高手需要知道使用者需要什麼,如何做出讓使用者滿意的產品。
現在的軟體研發越來越強調團隊協作,不少團隊都配置了專門的需求分析工程師、使用者介面及使用者體驗的設計師,軟體研發的分工越來越細。很多程式設計師以為只要把技術搞好,不用管使用者需求和使用者體驗。實際上,需求方案及介面方案不可能寫得非常細,具體的實施還是程式設計師自己來實現的。這個時候,好壞的差距很快就體現出來了。
我們寫程式的最終目的是滿足使用者需求,不是簡單完成需求規劃方案中的功能。所以,程式設計師一定要認真揣摩使用者心理,能明白使用者的真實需求。
其次,怎樣設計互動介面,讓使用者覺得好用,用起來舒服,這裡面學問很大。我舉一個小例子,每個程式視窗右上角都有三個按鈕,如最小化、關閉等。賈伯斯覺得不好看,不易用,他提出改用紅綠藍的交通燈。這樣修改後,Mac OS果然漂亮和易用了很多。
目前網際網路和手機上的應用開發,都非常強調小團隊研發。這樣研發模式速度會快很多,但對程式設計師綜合素質的要求也就更高了。
我強烈建議程式設計師不要僅僅侷限在技術本身,還需要多點精力考慮和使用者相關的問題,學會洞察使用者的需求,並努力設計好用易用的產品。做到這點的程式高手,創業成算就很大了。
這樣的技術高手,如果捕捉到合適的產品方向,並且具備一定帶團隊的能力,創業成功機會很大!事實上,絕大部分創業的技術公司,創始人都是這樣的人!比如迅雷的鄒勝龍和程浩,UCWEB的何小鵬和樑捷等。
相關文章
- 給各位PHP程式設計師十點未來的建議PHP程式設計師
- 給程式設計師“菜鳥”的6條建議程式設計師
- 1024 寫給程式設計師的一些建議程式設計師
- #給java程式設計師的10條建議,吐血推薦!Java程式設計師
- 程式設計幾點建議程式設計
- 給中級程式設計師突破瓶頸的幾個建議,收藏~程式設計師
- 雷軍做程式設計師時寫的部落格,太牛了!程式設計師
- 雷軍做程式設計師時寫的部落格,太牛了。。程式設計師
- 程式設計師也要養生,給DBA和IT同行的一些建議程式設計師
- 戰神系列戰鬥設計師:給遊戲設計師的 50 條建議遊戲設計師
- Android程式設計師的Java後臺學習建議Android程式設計師Java
- 有哪些讓程式設計師受益終生的建議程式設計師
- ? 分享8點超級有用的Python程式設計建議Python程式設計
- 每個程式設計師必須掌握的常用英語詞彙分享給你(建議收藏)程式設計師
- 給程式設計師的幾點程式設計經驗----《編寫高質量程式碼》程式設計師
- 給迷茫的JAVA程式設計師一些中肯建議, 你還在虛度光陰嗎?Java程式設計師
- 聊聊程式設計師的職場“圍城”,給出作為過來人的一些建議程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 關於要不要轉行做程式設計師的建議程式設計師
- 給程式設計師的一頓午餐?程式設計師
- 學習Java程式設計的建議Java程式設計
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- 自學程式設計的朋友,我想給你們這 5 個建議程式設計
- 程式碼傳奇 | 身價10億的程式設計師 雷軍當年也為他打工——WPS之父 求伯君程式設計師
- 程式設計師必備基礎:改善Java程式的20個實用建議程式設計師Java
- 好程式設計師Java教程分享Java的五大特點程式設計師Java
- Midway 後端程式碼的設計建議後端
- 如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- 每週五程式設計師段子程式設計師
- 程式設計師修煉之道~五程式設計師
- 程式設計漫談(二十):如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- 中國最有名的8個程式設計師:不只雷軍、張小龍,其中3人都當過首富!程式設計師
- 程式設計師的瑞士軍刀DevToys推出vscode外掛程式設計師devVSCode
- 二進位制 (小白進軍程式設計師)程式設計師
- 程式設計師給女友最好的禮物是....程式設計師
- 給各位程式設計師的一些忠告程式設計師
- 寫給新入行的程式設計師小朋友程式設計師
- 寫給前端程式設計師的命令列入門前端程式設計師命令列
- 給部落格園的幾點現實建議