自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

雷軍的十年編程之路自述,給程序員提出幾點建議

新聞
雷軍:我并非天生喜歡寫程序,上高中時也沒有想過程序員的生活。我學電腦非常偶然,小時好友上大學時選擇了計算機系,為了和這個朋友有更多的共同語言,我也選擇了計算機系,可是當我學會一些后,發(fā)現(xiàn)自己特別喜歡寫程序。

雷軍自述:我并非天生喜歡寫程序,上高中時也沒有想過程序員的生活。我學電腦非常偶然,小時好友上大學時選擇了計算機系,為了和這個朋友有更多的共同語言,我也選擇了計算機系,可是當我學會一些后,發(fā)現(xiàn)自己特別喜歡寫程序。我是八七年上的武漢大學計算機系,大一下學期才有專業(yè)課。當我有資格上機的時候,發(fā)現(xiàn)電腦世界太美妙,就一頭扎進去。大學畢業(yè)后,分到研究所,不太適應那里的氣氛,就在1992年初加入金山軟件,開始了職業(yè)程序員的生涯。后來成了金山軟件研發(fā)部門的主管,但我一直都是一線的程序員。

 

[[274461]]

做自己最擅長、最喜歡的事

 

[[274462]]

我剛接觸電腦就發(fā)現(xiàn)電腦的妙處,電腦遠沒有人那么復雜。如果你的程序寫得好,你就可以和電腦處好關系,就可以指揮電腦干你想干的事。這個時候你是十足的主宰。每每你坐在電腦面前,你就是在你的王國里巡行,這樣的日子簡直就是天堂般的日子。電腦里的世界很大,編程人是活在自己想象的王國里。你可以想象到電腦里細微到每一個字節(jié)、每一個比特的東西。

開始的時候,我們覺得我們沒有什么不能做的(現(xiàn)在還能聽到這樣的豪言壯語),而且更要命的是好象我們特別聰明,特別適合開發(fā)軟件,比老外強得多。當我們真正接觸那些杰出的開發(fā)人員的時候,發(fā)現(xiàn)他們太厲害了,都有十多年的開發(fā)經(jīng)驗。雖然也有很多年輕人做了很多好東西,但決大多數(shù)的產(chǎn)品出自這些有豐富開發(fā)經(jīng)驗的程序員的手。剛畢業(yè)的時候,編程不僅僅是愛好,而且也成了一輩子的工作。整天不知道寫些什么東西,覺得特別沒勁,找不到感覺,特別灰心。后來,才明白,只有全身心地投入,程序才會有感覺。

寫程序的活特別費腦子,也特別累,但我喜歡,可以肯定我會干上一輩子,雖然我沒有打算一生只干這一件事。用一生來編程序是一件既容易又困難的事。如果碌碌無為,為交差寫點程序,這樣的日子太好混了。但如果想全身心地寫程序,寫十年就不是一件容易的事?,F(xiàn)在我不少朋友都洗手了,有時我也想“用什么電腦呀,Windows 外的世界不是也很大嗎?”。面對電腦的時候,立刻頓悟:寫程序還是自己最擅長的事,也是最喜歡的事。

建議一:不喜歡寫程序的人早點轉行,不要勉強自己,免得誤人誤己。

不要被追求的目標束縛自己的抱負

 

[[274463]]

有的人學習編程技術,是把高級程序員做為追求的目標,甚至是終身的奮斗目標。后來參與了真正的商品化軟件開發(fā)后,反而困惑了,茫然了。

一個人只要有韌性和靈性,有機會接觸并學習電腦的編程技術,就會成為一個不錯的程序員。剛開始寫程序,這時候學得多的人寫的好,到了后來,大家都上了一個層次,誰寫的好只取決于這個人是否細心、有韌性、有靈性。掌握多一點或少一點,很快就能補上。成為一個高級程序員并不是件困難的事。

當我上學的時候,高級程序員也曾是我的目標,我希望我的技術能得到別人的承認。后來發(fā)現(xiàn)無論多么高級的程序員都沒用,關鍵是你是否能夠出想法出產(chǎn)品,你的勞動是否能被社會承認,能為社會創(chuàng)造財富。成為高級程序員絕對不是追求的目標。

建議二:時刻保持好奇心,不要局限在技術本身,多花點精力關注用戶

計算機技術更新?lián)Q代非???,每年都有各種各樣的新技術出現(xiàn)。需要時刻保持好奇心,不斷學習各種新的東西,才能在未來的幾十年職業(yè)生涯中不落伍。人的精力有限,高手往往工作壓力也比較大,如何在有限的時間內掌握整個行業(yè)動態(tài),的確不是簡單的事情。我的經(jīng)驗是經(jīng)常看業(yè)內的各種技術雜志,參加各種聚會,可以節(jié)約很多時間。最重要的是,交幾個博學的技術高手,多和他們交流,一定受益匪淺!

現(xiàn)在的軟件研發(fā)越來越強調團隊協(xié)作,不少團隊都配置了專門的需求分析工程師、用戶界面及用戶體驗的設計師,軟件研發(fā)的分工越來越細。很多程序員以為只要把技術搞好,不用管用戶需求和用戶體驗。實際上,需求方案及界面方案不可能寫得非常細,具體的實施還是程序員自己來實現(xiàn)的。這個時候,好壞的差距很快就體現(xiàn)出來了。我們寫程序的最終目的是滿足用戶需求,不是簡單完成需求規(guī)劃方案中的功能。所以,程序員一定要認真揣摩用戶心理,能明白用戶的真實需求。

我強烈建議程序員不要僅僅局限在技術本身,還需要多點精力考慮和用戶相關的問題,學會洞察用戶的需求,并努力設計好用易用的產(chǎn)品。做到這點的程序高手,就算創(chuàng)業(yè)也有很大的成算了。

編程是技術,更是藝術

 

[[274464]]

有人認為編程是一種熟練工種,也有人把編程說成是藝術創(chuàng)作。

我們換個工種來看,石匠應該是熟練工種,屬于工人,更和藝術似乎沾不上邊。但正是這些石匠,給我們留下多少文物古跡,如樂山大佛、莫高窟等等。應該說這些石匠給我們留下了無窮的文化財產(chǎn)?,F(xiàn)代軟件工業(yè)已具相當規(guī)模,很多軟件的完成需要的是大兵團作戰(zhàn)。一名普通程序員接受編寫某一模塊的任務后,往往只是寫代碼,發(fā)揮的余地很小。在大項目中,很多程序員只能了解到和自己所編模塊相關的很局部的細節(jié),另外還受到開發(fā)環(huán)境的限制,真的很難體會到自己在從事"藝術"創(chuàng)造,更多的時候是感到自己在從事重體力勞動。有的時候還擔心自己苦苦參與的這個項目究竟有沒有意義,是不是在同類產(chǎn)品中有競爭力,會不會開發(fā)出來以后就因為硬件的發(fā)展,操作系統(tǒng)的換代而過時……

編程應該說兩種屬性都有。編程不僅僅是技術,也還是藝術。編程是技術活,才有可能大規(guī)模進行,才會有軟件工程和軟件工廠。也正是編程是藝術,才會有如此多的好產(chǎn)品,讓大家如癡如醉。

建議三:必須像工匠一樣寫夠十萬行代碼,又須像寫詩一樣來寫代碼

程序員像木工一樣,熟能生巧。程序員必須寫足夠代碼量的程序,才會有感覺,這是一個苦力活,沒有任何捷徑可走。

計算機是一門實踐性的科學,沒有動手能力做支撐,很難做出好的科研成果。我的一個學長是美國卡內基梅隆大學的博士,卡內基梅隆大學計算機系在全世界都非常出名,他說每個博士生必須寫十萬行代碼才能畢業(yè),卡內基梅隆大學博士生進任何一個大企業(yè)基本不用面試。而國內培養(yǎng)的大部分研究生、博士生,動手能力都偏弱。沒有寫過足夠代碼量的程序員,想成為高手是不可能的,只能紙上談兵!

那么,怎樣像寫詩一樣寫代碼呢?很簡單,買幾本經(jīng)典的編程書,把書上所有例程全部重新寫一遍,逐個比較和書上范例的差距,一步一步改善自己編程的風格和技巧。時間長了,自然就能寫出像書上例程一樣的代碼,甚至可以比書上寫得好?;A扎實后,多看看Linux等系統(tǒng)級的源代碼,看看高手是如何寫的,就有感覺了。通讀一下MSDN中所有的資料,這樣就“讀書破萬卷,下筆如有神”。

還有,一定要牢記軟件工程的鐵律:可能出錯的地方一定會出錯。每個變量都做初始化,引用每個參數(shù)都要做有效性檢查,在可能出錯的每個地方都要做邊界條件檢查,這樣開發(fā)出來的程序一定會穩(wěn)固很多,就是出錯也很容易修改。野路子出來的高手,一般開發(fā)速度很快,但做完后Bug會很多,經(jīng)常需要很長時間修改。而真正的高手,追求的境界是Bugfree code(零缺陷代碼)。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2018-01-03 10:28:02

程序員生涯雷軍

2014-10-10 13:57:17

程序員

2011-08-02 08:59:02

程序員

2011-04-15 10:51:47

程序員

2015-08-17 09:10:13

程序員成長優(yōu)秀

2022-08-15 08:59:27

數(shù)據(jù)庫網(wǎng)絡操作系統(tǒng)

2018-05-06 23:20:33

雷軍程序員技術

2022-08-21 21:39:06

程序員建議

2013-04-15 10:55:09

程序員

2019-08-19 08:42:44

程序員技能開發(fā)者

2016-11-21 11:54:34

程序員代碼

2015-09-28 10:09:05

程序員新手

2018-05-29 22:24:22

程序員開發(fā)學習

2015-09-24 10:18:54

程序員身價

2017-11-24 13:33:07

程序員代碼開發(fā)

2019-07-29 07:41:56

程序員技能開發(fā)者

2014-08-28 13:40:33

編程算法程序高手

2012-02-07 09:58:27

2015-08-26 11:29:53

程序員

2018-11-16 09:29:59

點贊
收藏

51CTO技術棧公眾號