tft每日頭條

 > 知識

 > 雷軍:想給程序員幾點建議!不喜歡的不要勉強自己

雷軍:想給程序員幾點建議!不喜歡的不要勉強自己

知識 更新时间:2025-01-23 10:45:27

  寫程序還是自己最擅長的事,也是最喜歡的事我剛接觸電腦就發現電腦的妙處,電腦遠沒有人那麼複雜。如果你的程序寫得好,你就可以和電腦處好關系,就可以指揮電腦幹你想幹的事。這個時候你是十足的主宰。每每你坐在電腦面前,你就是在你的王國裡巡行,這樣的日子簡直就是天堂般的日子。電腦裡的世界很大,編程人是活在自己想象的王國裡。你可以想象到電腦裡細微到每一個字節、每一個比特的東西。

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

  寫程序的活特别費腦子,也特别累,但我喜歡,可以肯定我會幹上一輩子,雖然我沒有打算一生隻幹這一件事。用一生來編程序是一件既容易又困難的事。如果碌碌無為,為交差寫點程序,這樣的日子太好混了。但如果想全身心地寫程序,寫十年就不是一件容易的事。現在我不少朋友都洗手了,有時我也想“用什麼電腦呀,Windows 外的世界不是也很大嗎?”。面對電腦的時候,立刻頓悟:寫程序還是自己最擅長的事,也是最喜歡的事。建議一:不喜歡寫程序的人早點轉行,不要勉強自己,免得誤人誤己。

  不要被追求的目标限制自己的抱負有的人學習編程技術,是把高級程序員做為追求的目标,甚至是終身的奮鬥目标。後來參與了真正的商品化軟件開發後,反而困惑了,茫然了。一個人隻要有韌性和靈性,有機會接觸并學習電腦的編程技術,就會成為一個不錯的程序員。剛開始寫程序,這時候學得多的人寫的好,到了後來,大家都上了一個層次,誰寫的好隻取決于這個人是否細心、有韌性、有靈性。掌握多一點或少一點,很快就能補上。成為一個高級程序員并不是件困難的事。當我上學的時候,高級程序員也曾是我的目标,我希望我的技術能得到别人的承認。後來發現無論多麼高級的程序員都沒用,關鍵是你是否能夠出想法出産品,你的勞動是否能被社會承認,能為社會創造财富。成為高級程序員絕對不是追求的目标。

  時刻保持好奇心,不要局限在技術本身,多花點精力關注用戶計算機技術更新換代非常快,每年都有各種各樣的新技術出現。需要時刻保持好奇心,不斷學習各種新的東西,才能在未來的幾十年職業生涯中不落伍。人的精力有限,高手往往工作壓力也比較大,如何在有限的時間内掌握整個行業動态,的确不是簡單的事情。我的經驗是經常看業内的各種技術雜志,參加各種聚會,可以節約很多時間。最重要的是,交幾個博學的技術高手,多和他們交流,一定受益匪淺!現在的軟件研發越來越強調團隊協作,不少團隊都配置了專門的需求分析工程師、用戶界面及用戶體驗的設計師,軟件研發的分工越來越細。很多程序員以為隻要把技術搞好,不用管用戶需求和用戶體驗。實際上,需求方案及界面方案不可能寫得非常細,具體的實施還是程序員自己來實現的。這個時候,好壞的差距很快就體現出來了。我們寫程序的最終目的是滿足用戶需求,不是簡單完成需求規劃方案中的功能。所以,程序員一定要認真揣摩用戶心理,能明白用戶的真實需求。我強烈建議程序員不要僅僅局限在技術本身,還需要多點精力考慮和用戶相關的問題,學會洞察用戶的需求,并努力設計好用易用的産品。做到這點的程序高手,就算創業也有很大的成算了。

  編程是技術,更是藝術有人認為編程是一種熟練工種,也有人把編程說成是藝術創作。我們換個工種來看,石匠應該是熟練工種,屬于工人,更和藝術似乎沾不上邊。但正是這些石匠,給我們留下多少文物古迹,如樂山大佛、莫高窟等等。應該說這些石匠給我們留下了無窮的文化财産。現代軟件工業已具相當規模,很多軟件的完成需要的是大兵團作戰。一名普通程序員接受編寫某一模塊的任務後,往往隻是寫代碼,發揮的餘地很小。在大項目中,很多程序員隻能了解到和自己所編模塊相關的很局部的細節,另外還受到開發環境的限制,真的很難體會到自己在從事"藝術"創造,更多的時候是感到自己在從事重體力勞動。有的時候還擔心自己苦苦參與的這個項目究竟有沒有意義,是不是在同類産品中有競争力,會不會開發出來以後就因為硬件的發展,操作系統的換代而過時……編程應該說兩種屬性都有。編程不僅僅是技術,也還是藝術。編程是技術活,才有可能大規模進行,才會有軟件工程和軟件工廠。也正是編程是藝術,才會有如此多的好産品,讓大家如癡如醉。

  必須像工匠一樣寫夠十萬行代碼,又須像寫詩一樣來寫代碼程序員像木工一樣,熟能生巧。程序員必須寫足夠代碼量的程序,才會有感覺,這是一個苦力活,沒有任何捷徑可走。計算機是一門實踐性的科學,沒有動手能力做支撐,很難做出好的科研成果。我的一個學長是美國卡内基梅隆大學的博士,卡内基梅隆大學計算機系在全世界都非常出名,他說每個博士生必須寫十萬行代碼才能畢業,卡内基梅隆大學博士生進任何一個大企業基本不用面試。而國内培養的大部分研究生、博士生,動手能力都偏弱。沒有寫過足夠代碼量的程序員,想成為高手是不可能的,隻能紙上談兵!

  那麼,怎樣像寫詩一樣寫代碼呢?很簡單,買幾本經典的編程書,把書上所有例程全部重新寫一遍,逐個比較和書上範例的差距,一步一步改善自己編程的風格和技巧。時間長了,自然就能寫出像書上例程一樣的代碼,甚至可以比書上寫得好。基礎紮實後,多看看Linux等系統級的源代碼,看看高手是如何寫的,就有感覺了。通讀一下MSDN中所有的資料,這樣就“讀書破萬卷,下筆如有神”。還有,一定要牢記軟件工程的鐵律:可能出錯的地方一定會出錯。每個變量都做初始化,引用每個參數都要做有效性檢查,在可能出錯的每個地方都要做邊界條件檢查,這樣開發出來的程序一定會穩固很多,就是出錯也很容易修改。野路子出來的高手,一般開發速度很快,但做完後Bug會很多,經常需要很長時間修改。而真正的高手,追求的境界是Bugfree code(零缺陷代碼)。

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关知識资讯推荐

热门知識资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved