最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

程序人生:10年開發(fā)的“葵花寶典”!從低級程序員成為編程高手

2020-11-18 16:39 作者:C語言編程__Plus  | 我要投稿

????????大都喜歡用武俠小說來比較軟件開發(fā),但是在實(shí)戰(zhàn)武功中,只有葵花寶典才是最厲害的,也只有掌握了葵花寶典,才能稱為“不敗”?! 〉裁床攀擒浖_發(fā)的葵花寶典?


  讓我們先從一些現(xiàn)象出發(fā)。我們的前提是,軟件開發(fā)是一項(xiàng)智力密集型勞動(dòng)。對于智力密集型勞動(dòng),我們觀察到的現(xiàn)象是,個(gè)體的表現(xiàn)差異很大,團(tuán)隊(duì)的表現(xiàn)差異很大,組織的表現(xiàn)差異很大,國家的表現(xiàn)差異很大。這不象體力占主要的勞動(dòng),象百米王跑百米的速度也僅比我快50%。但在棋類運(yùn)動(dòng)中,一個(gè)高手可以車輪戰(zhàn)數(shù)位低手,而且毫無例外地將他們一一擊??!

  在軟件開發(fā)中,我們同樣注意到這樣一種高手,他們可以每天寫出一千行左右的高品質(zhì)代碼。他們可以運(yùn)用已有的一些軟件包,迅速完成一個(gè)新的產(chǎn)品。他們可以在很短的時(shí)間內(nèi),學(xué)會一項(xiàng)新的程序語言或是新技術(shù)。他們表現(xiàn)出一種神奇的速度。


  在武俠小說中,所有的高手都有一些凡人不能企及的表現(xiàn)。象張無忌學(xué)太極,用龍爪手擊敗龍爪手名家;喬峰用太祖長拳擊敗天下英雄;姑蘇慕容以其人之道還治其人之身,令狐沖一劍剌瞎十幾雙眼睛等等。我認(rèn)為,之所以他們能做到這樣,關(guān)鍵是在于他們快。

  快并不意味著不準(zhǔn)或品質(zhì)差。快與品質(zhì)并不矛盾。高手的快,其實(shí)包含著很高的品質(zhì)在其中。如果你因?yàn)楦呤值目?,就質(zhì)疑其品質(zhì),那就相當(dāng)于在問:東方不敗出手那么快,會不會刺不準(zhǔn)?東方不敗并不滿足于刺死對手,他會在對手身上刺朵花。他把殺人變成了藝術(shù)。準(zhǔn)確來說,他真正的興趣不在殺人,而在于藝術(shù)。退一步說,就算東方不敗第一擊有點(diǎn)偏差,他稍作修正后,馬上跟上的第二第三擊,也會擊中他想擊中的地方。在武功差的對手劍還沒撥出來的時(shí)候,他已殺死對方并刺上了一朵花。


  所以真正的軟件高手,他并不滿足于他的代碼能有效地工作了,他認(rèn)為編程是藝術(shù),并醉心于其中。在低手能寫出一個(gè)版本的時(shí)間里,他已經(jīng)寫出了第十版。其品質(zhì)當(dāng)然不可同日而語。就象一個(gè)九段棋手,在給定的時(shí)間里,他能計(jì)算十種可能,并將每種可能計(jì)算到100手之后,從中選擇一種最有利的下法。低手豈有茍全的機(jī)會?

  高手寫軟件總是不停地在重構(gòu)(refactoring)。高手喜歡迭代式開發(fā)。高手說,增量就是打補(bǔ)丁,迭代就是推倒重來。對于軟件這種東西,寫一遍它可能ok(做到這一點(diǎn)也不容易),寫十遍就是一個(gè)偉大的產(chǎn)品,再多寫一遍它就更偉大些。

  高手快的訣竅在于他很熟悉各種東西。高手看書很快,因?yàn)槊恳槐拘聲?,值得他好好看的新技術(shù)只有一兩章的內(nèi)容。他能迅速看完,并準(zhǔn)確領(lǐng)會這本書的中心思想和價(jià)值。而對于一個(gè)新手,每句話都是新的,他都需要去理解,每一段例子,他都需要去試。


  很少看到一種100%全新的技術(shù)或理論。就象java language specification里說的,java沒有使用任何新技術(shù),用的都是業(yè)界久經(jīng)考驗(yàn)的技術(shù)。對于高手來說,那些技術(shù)都是他所熟悉的。自然,很快他就從一個(gè)c 高手變成了java高手。如果一個(gè)編程新手學(xué)java,學(xué)兩年也不如一個(gè)高手學(xué)兩個(gè)月的。高手學(xué)新東西快。

  高手寫代碼速度快。統(tǒng)計(jì)結(jié)果說,人均每人月的有效代碼速度大概是300至400行。但那是業(yè)界平均生產(chǎn)效率。對于高手來說,這個(gè)數(shù)字太低了。每天寫300至400行是完全有可能的。因?yàn)樵趯懘a時(shí),所有知識都已具備,已經(jīng)沒有任何需要他多花時(shí)間的事情了。他甚至很少需要debug。

  高手重用代碼的能力很強(qiáng),熟悉新的api的速度很快。這也是因?yàn)?,他曾?jīng)使用過很多的api,重用過很多的代碼。他知道哪些是可用的,哪些有缺陷。他既過用qt,也用過gtk ,也用過windows api & mfc,也用過awt & swing。新的api對他來說,也是老熟人。


  高手喜歡用輕量級的工具,象vi,notepad,最多到ultraedit這樣復(fù)雜的。高手用這種工具寫出很多的東西。這些工具就象東方不敗的針。那根針已具有神奇的魔力,有時(shí)候它可以當(dāng)激光槍來用。

  對于一些重量級的工具,高手雖不常用,但一經(jīng)使出也威力大于常人。如果讓東方不敗用劍,最厲害的劍術(shù)名家也會敗得很難看。高手其實(shí)用過很多的重量級工具,而且深知其優(yōu)缺點(diǎn)。所以使出來,就會把威力發(fā)揮到最大,而把缺陷減少到最小。而低手則不然,總是把缺陷加以大大的發(fā)揚(yáng)而渾不知其精髓何在。就象很多人學(xué)用uml、rup、xp、design pattern那樣。

  高手所學(xué)博雜且融會貫通。高手做什么都快,當(dāng)?shù)褪诌€在一愁莫展的時(shí)候,高手已經(jīng)圓滿解決問題,去干別的事去了。

  相信你有一點(diǎn)點(diǎn)想成為高手了。但是有一個(gè)問題亟等解決,那就是“欲練神功,必先自宮”的問題。這一點(diǎn)其實(shí)是有比喻意義的。就是說,你必需拋棄一些世俗的人們很看重的東西。

  在你下定決心要做高手之后,也就是下定決心拋棄那些世俗的追求之后,也就是你下決心忍受那些來自于庸俗的人的白眼、攻擊和謾罵之后,你就具備了練成神功的必要條件。


  事實(shí)上其實(shí)你不必一開始就練神功,一開始大家可能是為了錢,房子,汽車,美女才編程序的,然而后來藝術(shù)就從中產(chǎn)生了。那時(shí)高手就不再關(guān)注那些東西了。卓別林曾說過,他開始進(jìn)入那個(gè)圈子也是為了錢,后來藝術(shù)就從中產(chǎn)生了。當(dāng)然,也有人一開始是為了藝術(shù),后來變成為了錢。

  所謂三十而立,就是說到了三十,你找到了你的真愛,值得用一生去追求的那種。比如說有的人到了三十認(rèn)為這一輩子應(yīng)該賺盡可能多的錢,這也沒什么不好,也可以把賺錢本身變成一種藝術(shù),所謂資本運(yùn)作是也。所以在三十以前,有些私心雜念沒什么。三十以后還這樣是可恥的。而我,想做一個(gè)程序員。

  每個(gè)人做自己最喜歡的事。這個(gè)世界需要程序員,也需要資本運(yùn)作。所有真正的程序員,他最喜歡的事是編程和他自已。如果他后來去做ceo去了,不再編程,只說明他本來不是一個(gè)真正的程序員。

  在成為高手的路上,要有熱情,要循序漸進(jìn),要持之以恒。


  要靠自己,書要快快地看。要試圖迅速理解其主旨。其實(shí)你快快看所接受的信息量,與慢慢看接受的差不多。能明白多少很大程度上取決于你的功底。以后用到再回過頭來看。一本對你來說新東西太多的書,不要指望看一次就全理解吸收。就象很多功力不夠的人看design patterns那本書一樣。慢慢看還不如找到多種 信息來源,都快快看一遍。對于一個(gè)完全陌生的領(lǐng)域,只看一本書很遠(yuǎn)遠(yuǎn)不夠的。

  要靠自已,事要快快做。有一個(gè)朋友,幾年前我介紹他去玩玩linux,他也表示想玩,但他現(xiàn)在還沒碰過。他失去了很多機(jī)會。平時(shí)要有意識提高自己寫代碼的速度,其實(shí)你一天寫15行有效代碼,與你寫50行有效代碼,其品質(zhì)是差不多的。你應(yīng)該把那些業(yè)界平均水平拋諸腦后,把超越自己做為唯一目標(biāo)。等到你寫了很多各式各樣的代碼,你的水平就不一般了。一個(gè)老師曾向我介紹他的學(xué)英語的決竅,他說你去啃原版小說,啃到50本,就和一般人有很大距離了。就是這個(gè)理。如果你寫得太慢,怎么能寫得多?水平怎么能提高?

  要靠自己,學(xué)很多別人怕學(xué)的東西。低手總會說:這么多東西怎么學(xué)得過來啊。于是就少學(xué)或不學(xué)。這樣就成不了高手了。高手有非常廣的知識面,有很豐富的經(jīng)驗(yàn)。知道很多低手不知道的事。玩過很多低手聽都沒聽過的東西。


  要靠自己,努力滿足客戶的各種需求。個(gè)人技能是在滿足客戶的各種需求的過程中提高的。比如你喜歡用delphi,客戶說一定要用vb,那你就答應(yīng)他,然后把自己培養(yǎng)成為vb的高手。用戶的需求看似**,但對你是一個(gè)機(jī)會。

????????讓你的思維快起來,你就會區(qū)別于那些反應(yīng)遲鈍的人。如果你不能讓人生的道路變長,就讓它變寬。這世界變化快,需要你變得比它快才行。這樣加快并不會讓你短命,相反,你有更多的時(shí)間來享受生活和鍛煉身體。你的生活將更有品質(zhì),更豐富,更有意義。面對變化,你將立于不敗之地。我們都是和自己賽跑的人,需要跑得比昨天的自己更快。

如果你想更好的提升你的編程能力,好好學(xué)習(xí)C/C++編程知識的話!那么你很幸運(yùn)~

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~

編程學(xué)習(xí)書籍:

編程學(xué)習(xí)視頻:


程序人生:10年開發(fā)的“葵花寶典”!從低級程序員成為編程高手的評論 (共 條)

分享到微博請遵守國家法律
长顺县| 泾阳县| 南开区| 涟源市| 天台县| 丰顺县| 渭源县| 崇文区| 牙克石市| 邮箱| 车致| 房产| 台江县| 大悟县| 沧州市| 卓资县| 浠水县| 西充县| 云南省| 平邑县| 合山市| 惠来县| 定陶县| 界首市| 康平县| 岱山县| 临夏县| 平利县| 通江县| 将乐县| 凤庆县| 剑阁县| 乐山市| 普格县| 宜黄县| 盘锦市| 榆中县| 上林县| 志丹县| 七台河市| 驻马店市|