?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

wellbet牛牛游戲官方網站:學編程的人不能不看的好文章

?

學編程的人不能不看的好文章

做為一名大年夜四的門生,我口試過不少的單位,有成功的也有掉敗的,然則對我來說所有的掉敗在某種意義上都是一種成功,分外是我下面寫的這些,寫這篇文章的時刻,我已經簽了南京的一家軟件公司,然則想起今年2月21日我口試姑蘇臺灣的IT公司的經歷遐想到我們現在進修編程的一些環境我真的深有感觸,此次口試使我深深的體會到了掉敗但也勞績了很多。我要說的將分成三部分,

1.是我口試的詳細顛末

2.是由口試想到的

3.現今我應該做的。

當然這些話很大年夜程度上是我小我的意見,弗成能完全獲得大年夜家的附和,以是在某些不雅點上假如哪位同伙感覺跟我的有很大年夜進出,請不要介意,也不要對我進擊,就當我沒有說過,迎接和我聯系合營探究這些問題!我的EMAIL:[email protected]

1.口試顛末大年夜約在年前我接到了臺灣瑞晟(Realtek)姑蘇公司的口試看護,看護我2月21日到姑蘇工業園區口試,接到口試后的幾天我把一些專業課溫習了一遍,分外是C++和數據布局,因為大年夜學幾年里,我不停專研這些方面,加上經由過程了高檔法度榜樣員的考試,對付一些常用的算法我差不多也達到了爛熟于胸的地步,當時的感到是假如問了我這些方面的問題我應該是沒有問題的!21日那天我被安排在4:30口試,由一位技巧職員零丁給我口試,在問了一些簡單的問題之后他給我出了一道編程題目,題目是這樣的:

(因為詳細口試的題目對照啰嗦,我將其核心思惟提掏出來分化成了兩個自力的簡單的問題,有可能問題分化的欠妥,請大年夜家見諒,實際口試了一個的問題但比其繁雜很多,而且涉及一些高等數學變換)

1) 寫一個函數謀略當參數為n(n很大年夜)時的值 1-2+3-4+5-6+7......+n

哼,我的心里冷笑一聲!沒想到這么簡單,我有點首要的心情立時放松起來!

于是很快我給出我的解法:

long fn(long n)

{

long temp=0;

int i,flag=1;

if(n 0);

exit(1);

}

for(i=1;i 0);

exit(1);

}

while(j0?i++:i--;

j++;

}

return temp;

}

雖然我不敢包管我這個算法是最優的,然則比起上一個法度榜樣,我將所有涉及到乘法指令的語句改為履行加法指令,既達到要題目的要求而且運算光陰上縮短了很多!而價值僅僅是增添了一個整型變量!然則我現在的信心已經受了一點襲擊,我將信將疑的看者口試官,他照樣微笑著跟我說:“不錯,這個法度榜樣確鑿在效率上有的很大年夜的前進!”我心里一陣暗喜!但他接著說這個法度榜樣仍舊不能達到他的要求,要我給出更優的規劃!天??!還有優化!我當時真的有點崩潰了,想了一會后,我哀求他給出他的規劃!然后他很爽快的給出了他的法度榜樣!

long fn(long n)

{

if(n 0);

exit(1);

}

if(0==n%2)

return (n/2)*(-1);

else

return (n/2)*(-1)+n;

}

搞笑,當時我理屈詞窮,沒想到他是這個意思,這么簡單的代碼我真的不會寫嗎,然則我為什么沒有往那方面上想呢!他說的沒有錯,在n很大年夜很大年夜的時刻這三個法度榜樣運行光陰的差另外確是天地之別!當我剛想開口說點什么的時刻,他卻先開口了:“不要覺得CPU運算速率快就把所有的問題都推給它去做,法度榜樣員應該將代碼優化再優化,我們自己能做的決不要讓CPU做,由于CPU是為用戶辦事的,不是為我們法度榜樣員辦事的!”多么精辟的說話,我已經不想再說什么了!接著是第二個問題:

2),他要求我用一種技術性的編程措施來用一個函數實現兩個函數的功能n為如:fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6!

fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9! 現在用一個函數fn(int n,int flag)實現,當flag為0時,實現fn1功能,假如flag為1時實現fn2功能!他的要求照樣效率,效率,效率!說其真話,假如我心情好的話我應該能給出一種對照好的算法,但我那時真的沒有什么心思再想了,我在紙上胡亂畫了一些諸如6!=6*5!的公式后刀切斧砍的跟他說要他給出他的謎底!口試官也沒有說什么,給出了他的思路:

定義一個二維數組 float t[2][5]存入[2!,3!,4!,5!,6!},{5!,6!,7!,8!,9!]然后給出一個輪回:

for(i=0;i<6;i++)

{

temp=temp+n/t[flag];

}

著末獲得謀略值!呵呵,范例的空間換光陰的算法!

這些統共花了50分鐘的光陰,還有十分鐘我就跟他很隨意的聊談天,聊了一些編程以及生活的問題,那時的我已經很放松了,

由于我知道此次口試結果只有一個:掉敗。5:30的時刻口試官要我等看護,于是我脫離了他們公司。這便是口試的全部顛末!

2.由口試想到的

真的是很掉敗??!我記得那世界好大年夜的雨,氣溫也很低,我邊走邊想,從5:30不停走到7:30,滿身都濕透了,又冷又餓,然則我只是不停走,腦筋里面充溢了疑心,我也想讓雨把自己淋醒!看到這里有些同伙可能感覺那些口試題目不算什么假如讓自己做的話肯定能整個答對,我肯定信托你,由于我從未狐疑過中公法度榜樣員的能力,我覺得中國有天下上最好的法度榜樣員,我也從未覺得自己是高手,以是我做不出來不代表中公法度榜樣員比臺灣或者其余地方的法度榜樣員差,以是我就從我的角度,我的所見所想來談一些感想:

不錯全天下都有優秀的法度榜樣員,中國也不例外,然則我疑心的是:到底中國和臺灣或者國外的優秀的法度榜樣員的比例到底是若干?臺灣我不知道,中國100個法度榜樣員里有幾個是優秀的呢?我根本算不上,從上面的體現就足以闡明統統了!是1個?5個?10個?50個?這個數字我不敢亂猜,恐遭網友一頓大罵,那么我們海內有若干人進修謀略機呢?拿我們黌舍來說,謀略機97級4個班,98級5個班,99級10個班,2000級17個班,人多了,師長教師怎么辦?我們黌舍的做法是讓鉆研生上課,然后呢?補考一抓一大年夜把,大年夜把大年夜把的補考費落入了黌舍的口袋,還說現在的門生本質低!真是可笑,我都不知道黌舍這么做是為了什么,為海內培養大年夜量的法度榜樣員嗎?門生們能真正學到謀略機常識嗎?好了,我敢講,在我們黌舍進修編程門生和優秀法度榜樣員(留意我指的是優秀,只會編幾個糟爛法度榜樣的人算不上)的比例應該是100:0.1在這種比例下雖然我們中國進修編程的人鋪天蓋地,然則想想有若干小我能真正為中國軟件業成長作出供獻,有若干人能真正寫出優秀的法度榜樣名揚外洋!

我從進修編程以來,不管是自學照樣師長教師指示,從來都是辦理問題就好,編出法度榜樣來就行,我的疑心是:我們有真正的強調過法度榜樣的效率,法度榜樣的質量嗎?我們有仔細闡發過我們寫的器械,看看有沒有可以改進的地方,看看有沒有簡單的措施來達到同樣的目的呢?我問心自問,我發明,我從來沒有對我寫出來的法度榜樣進行過優化,最多便是進行具體的測試,然后Debug,然則這就足夠了嗎?這些天我有時發明我曾經寫過的一個游戲,那是一年前我剛加http://www.vcroad.net/做為此中一員時刻,感到應該拿點器械出來,然后花了一個禮拜的光陰寫出來的!法度榜樣不算繁雜,然則用到了不少數據布局的器械,也用到了一些杰出的算法,加上windows的界面和游戲的可玩性,寫完后受到了不少好評,我當時真的很佩服自己!然則現在看呢:沒有一句wellbet牛牛游戲官方網站注釋,很多多少丑陋的函數名比如:void chushihua(),很多多少沒有需要的變量,可以用簡單語句完成事情的我應用富麗的算法,大年夜量應用全局變量.....,說不好聽的話,六百多行的法度榜樣除了能運行之外便是一陀屎!假如一年前我能聽到一些不和意見的話,大年夜概我能早一點醒悟,然則自從原代碼在網站宣布以來聽到的都是謳歌之詞,沒有一小我向我提出法度榜樣改進的意見,這又闡清楚明了一個什么問題呢?很值得思慮??!

還有一個疑心是:我們說的和做的真的一樣嗎?我在黌舍的時刻曾經受學院指派承辦過一個謀略機大年夜賽,請了一個師長教師出決賽的題目,主如果一些算法題目,這個師長教師可能是我上大年夜學以來獨一敬重的師長教師了,從法度榜樣調試到打分,對付每個法度榜樣都仔細闡發當光陰效率和空間效率,然后綜合打分,四十小我的卷子,師長教師從下晝三點不停調試到晚上十點,在有些寫的杰出的語句后還加上批注。我真是很痛快碰到這樣的師長教師并且和他做深入的交流,但在事后,卻發生了一件不開心的事,在比賽中得到第二名的門生找到我,說他法度榜樣整個調試成功應該給他滿分,并且應該得第一,我說不過他,著末調出了他的原法度榜樣和第一名的原法度榜樣比較,不錯,兩個法度榜樣都運行的很好,這時,那個同硯開口了:“我的法度榜樣寫的十分簡捷清楚明了,僅僅數行就完成了題目要求,而他的卻寫了一大年夜堆,為什么給他的分多過給我的分。”我當時很是朝氣,假如不是師長教師不認真的話,那么現在第一名和第二名的位置真的要互調了,請托,不是法度榜樣的行數越少法度榜樣的質量就越高,我記得我跟他大年夜談這方面的事理,著末說服他了!哈哈,然則我,只能說說而已,我不知道還有若干人一樣,提及來條理分明,但心里卻壓根就從未注重過它!

3.我計算做的!

著實那天我想到的遠不止上面那么多,然則我不想再說了,由于我猜想看這篇文章的網友大年夜概都有一肚子的感想,一肚子的訴苦,借用這篇文章發泄可不是我想達到的目的,在上面我把自己罵的一文不值也不是妄自菲薄,然則在某些方面我真的做錯了,或者說是偏離了精確偏向,現在是糾正偏向和重整旗鼓的時刻了,就象我前面說過的,我信托中國有天下上最好的法度榜樣員,我也信托我的水平不會不停維持現狀,我現在就料理起牢騷真正的實干起來!

真的很巧,就寫到這里的時刻我在網上有時發清楚明了這篇手冊,我不知道這預示著什么,然則我想假如我照下面這個基濫觴基本則不停扎實做下去,我必然會實現我的抱負---一名優秀的軟件設計師!

(下面這些翰墨不是我的原創,是我有時在網上發明的,我真的很幸運能看到這些,這篇文章也跟著下面的翰墨而停止,我至心的盼望您能從這篇文章中獲得啟迪,這篇文章迎接大年夜家隨意轉載,您可以不寫作者是誰,然則請您寫http://www.vcroad.net/原創,感謝您的支持)

作者:金蝶中心件公司CTO袁紅崗wellbet牛牛游戲官方網站

不知不覺做軟件已經做了十年,有成功的喜悅,也有掉敗的苦楚,但總不敢稱自己是高手,由于和我心目中真正的高手們比起來,還差的太遠。天下上并沒有成為高手的捷徑,但一些基濫觴基本則是可以遵照的。

1. 踏實的根基。數據布局、離散數學、編譯道理,這些是所有謀略機科學的根基,假如不掌握他們,很難寫出高水平的法度榜樣。據我的察看,學謀略機專業的人比學其他專業的人更能寫出高質量的軟件。法度榜樣各人都邑寫,但當你發明寫到必然程度很難再前進的時刻,就應該想想是不是要回偏激來學學這些最基礎的理論。不要一開始就去學OOP,縱然你再精曉OOP,碰到一些基礎算法的時刻可能也會束手無策。

2. 富厚的想象力。不要拘泥于固定的思維要領,碰到問題的時刻要多想幾種辦理問題的規劃,試試別人從沒想過的措施。富厚的想象力是建立在富厚的常識的根基上,除謀略機以外,多閱讀其他的學科,比如天文、物理、數學等等。別的,多看科幻片子也是一個很好的道路。

3. 最簡單的是最好的。這大概是所有科學都遵照的一條準則,如斯繁雜的質能交換道理在愛因斯坦眼里不過是一個簡單得不能再簡單的公式:E=mc2。簡單的措施更輕易被人理解,更輕易實現,也更輕易掩護。碰到問題時要優先斟酌最簡單的規劃,只有簡單規劃不能滿意要求時再斟酌繁雜的規劃。

4. 不鉆牛角尖。當你碰到障礙的時刻,不妨暫時闊別電腦,看看窗外的風景,聽聽輕音樂,和同伙聊談天。當我碰到難題的時刻會去玩游戲,而且是那種極暴力的斗毆類游戲,當認真游戲的那部分大年夜腦細胞極端亢奮的時刻,認真編程的那部分大年夜腦細胞就獲得了充分的蘇息。當從新開始事情的時刻,我會發明那些難題現在竟然可以水到渠成。

5. 對謎底的渴求。人類自然科學的成長史便是一個渴求獲得謎底的歷程,縱然只能知道謎底的一小部分也值得我們去付出。只要你堅決信念,必然要找到問題的謎底,你才會付出精力去探索,縱然著末沒有獲得謎底,在歷程中你也會學到很多器械。

6. 多與別人交流。三人行必有我師,大概在一次和別人不經意的發言中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的見地,會給你很大年夜的啟迪。

7. 優越的編程風格。留意養成優越的習氣,代碼的縮進編排,變量的命名規則要始終維持同等。大年夜家都知道若何掃除代碼中差錯,卻每每漠視了對注釋的排錯。注釋是法度榜樣的一個緊張組成部分,它可以使你的代碼更輕易理解,而假如代碼已經清楚地表達了你的思惟,就不必再加注釋了,假如注釋和代碼不同等,那就加倍糟糕。

8. 韌性和毅力。這大概是"高手"和一樣平常法度榜樣員最大年夜的差別。A good programming is 99 weat and 1?offee。高手們并不是天才,他們是在無數個日晝夜夜中檢驗出來的。成功能給我們帶來無比的喜悅,但歷程卻是無比的逝世板乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然后再反省三遍,假如能夠不間斷地完成這一事情,你就可以滿意這一條。

看到這篇文章,我才發明自己謀略機水平之低,低的無法想象。自以為學了一點器械,就志得意滿,自得失態了。

我也常常自滿的對別人說,我是謀略機喜歡者。然則本日,我發明,我的水溫和真正的法度榜樣員比起來,的確是天地之別。我也學過QB,期末考試成就也頗不錯;也自學了C說話,二級過了,成就也對照知足?,F在也看看數據結果的書,想報三級數據庫。書上有先容軟件開拓的章節,什么法度榜樣的光陰效率、空間效率、軟件生計周期……觀點,我也沒有很在意,只是將它看作是一項考試內容來看,而在這之前,我只是珍視一個法度榜樣的代碼是非,并沒有多斟酌它的運行效率問題。

看來我還有很多要進修的,不只是編程的措施,還有編程的思惟。如何讓一個法度榜樣在代碼簡潔的條件下,達到運行效率最高,wellbet牛牛游戲官方網站是我要深入思慮的問題。

大概現在仍有許多人在想,CPU速率的前進,可以完全粉飾效率的低下。然則有沒有想過,恰是這種動機,實現在的法度榜樣體積越來越大年夜,而速率并沒有太多的前進。若干年前,謀略機前輩們在640k內存的限定下,充分發掘他們天才的聰明,作出了在當時被覺得是很優秀的軟件?,F在,在Pentium Ⅳ和512MB內存的前提下,卻仍舊可以看到必要一盞茶的光陰才可以運行的軟件。

不要覺得CPU運算速率快就把所有的問題都推給它去做,法度榜樣員應該將代碼優化再優化,我們自己能做的決不要讓CPU做,由于CPU是為用戶辦事的,不是為我們

文中又提到:

那么我們海內有若干人進修謀略機呢?拿我們黌舍來說,謀略機97級4個班,98級5個班,99級10個班,2000級17個班,人多了,師長教師怎么辦?我們黌舍的做法是讓鉆研生上課,然后呢?補考一抓一大年夜把,大年夜把大年夜把的補考費落入了黌舍的口袋,還說現在的門生本質低!真是可笑,我都不知道黌舍這么做是為了什么,為海內培養大年夜量的法度榜樣員嗎?門生們能真正學到謀略機常識嗎?好了,我敢講,在我們黌舍進修編程門生和優秀法度榜樣員(留意我指的是優秀,只會編幾個糟爛法度榜樣的人算不上)的比例應該是100:0.1,在這種比例下雖然我們中國進修編程的人鋪天蓋地,然則想想有若干小我能真正wellbet牛牛游戲官方網站為中國軟件業成長作出供獻,有若干人能真正寫出優秀的法度榜樣名揚外洋!

切實著實,看看油院有若干謀略機專業的門生?計科院有若干門生?電信也算上有若干?計科是要考專業二級的,相稱于什么水平我不知道,大概是國家四級以上吧。電信開的是C說話課是只要求考等考二級的,然則學電路專業的門生也應該有很高的謀略機水平。

其他專業進修的一樣平常是QB,可以說是只要掌握編程思惟就可以了。還有的文科是學數據庫的,Foxbase或者是VF,也不要求他們成為編程高手,只要他們在今后的事情中會應用此類軟件就可以了。

可是據我所知,電信的2001級第一學年第二學期期末考試經由過程率很低,某專業80多人只有不到40人過了。等考二級報名率低的嚇人,經由過程的人更是廖廖無幾。好象油院還沒有用鉆研生來代課吧?那么就只有門生自己的問題了。

不是我想說別人如何如何,也不是我吹我自己如何如何。我只是想說,作為一個謀略機喜歡者,想要成為一個真正的法度榜樣員或者是其他方面的專家,那么他要進修的不僅僅是他的專業常識,他還要進修并真正明白自己在做什么,如何才可以做到最好。

我想講這么一個真實的故事:

我的同硯對我說:“我到現在還不知道編法度榜樣有什么用?可以辦理什么實際問題嗎?給我舉個例子,要不我其實是沒有什么進修興趣。”我奉告他說:“最簡單的例子,我可以做一個法度榜wellbet牛牛游戲官方網站樣很方便的解出二次方程的根。”這著實真的是我能想到的可以聯系實際的最簡單的題目了。他說:“可是只要用高數師長教師讓我們買的那套m……(名字我記不得了)軟件就可以了,只要輸入各項系數;而且還可以謀略很多其他的器械。”我說:“可是這樣一套法度榜樣也要有人做出來你才可以買來用啊,這便是法度榜樣員要做的了,大年夜眾必要什么樣的軟件,我們就給他們做出來用。一個只會用利用軟件辦理問題的人是不能想象一個法度榜樣員所付出的勞動的,他辦理問題時的快樂也遠遠比不上法度榜樣員做出這個軟件時的愉快。”當我說這些話的時刻,我自己也忽然意識到法度榜樣員編法度榜樣時的逝世板和完成一件作品時的欣慰。我接著說:“學好編程還可以作游戲呀,作一個屬于自己的游戲,看著那么多人都在玩你的游戲,是什么樣的心情?你不是愛好《傳奇》嗎?大概你可以做一個逾越傳奇的收集游戲,全天下都玩你的游戲,夠爽了吧?”他竟然說:“現在收集游戲那么多,我玩別人的游戲都玩不過來,根本不用我自己做游戲玩!”我只好說:“我們不是同一類型的人。你是享樂主義、拿來主義,我是為你們這種人辦事的人!”我們同時笑了。我知道不能盼望他什么。每小我都可以選擇自己的路,我不能將我自己的設法主見強加于他,所謂“己所不欲,勿施于人”。假如每小我都要自己編法度榜樣辦理問題,那么社會的成長必然要比現在慢上許多。同時也違抗了發現謀略機的初衷。

標 題: 進修編程的措施 不要被VC、BCB、BC、MC、TC等詞匯所迷惑??他們都是集成開拓情況,而我們要學的是一門說話;不要放過任何一個看上去很簡單的小編程問題??他們每每并不那么簡單,或者可以引伸出很多常識點;會用Visual C++,并不闡明你會C++;學class并不難,template、STL、generic programming也不過如斯??難的是經久堅持實踐和竭盡全力的博覽群書;假如不是天才的話,想學編程就不要想玩游戲??你以為你做到了,著實你的C++水平并沒有和你通關的能力一路變高??著實可以時候記著:學C++是為了編游戲的;看Visual C++的書,是學不了C++說話的;把時髦的技巧掛在嘴邊,還不如把逾期的技巧記在心里;看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;別指望看第一遍書就能記著和掌握什么??請看第二遍、第三遍;不要停頓在集成開拓情況的搖籃上,要學會節制集成開拓情況,還要學會用敕令行要領處置懲罰法度榜樣;和別人一路評論爭論故意義的C++常識點,而不是爭吵XX行不可或者YY與ZZ哪個好;請看《法度榜樣設計實踐》,并嚴格的按照其要求去做;不要由于C和C++中有一些語法和關鍵字看上去相同,就覺得它們的意義和感化完全一樣;進修編程的法門是:編程,編程,再編程;記著:面向工具技巧不光是C++專有的;請把書上的軌典范子親手輸入到電腦上實踐,縱然配套光盤中有源代碼;把在書中看到的故意義的例子擴充;請注重C++中的非常處置懲罰技巧,并將其切實的運用到自己的法度榜樣中;常?;厥鬃约宏傥魧戇^的法度榜樣,并考試測驗重寫,把自己學到的新常識運用進去;不要遺漏落書中任何一個演習題??請整個做完并記錄下解題思路; C++說話和C++的集成開拓情況要同時進修和掌握;就讓C++說話的各類平臺和開拓情況去猛烈的競爭吧,我們要以進修C++說話本身為主當你寫C++法度榜樣寫到一半卻發明自己用的措施很卑劣時,請不要頓時停手;請盡快將余下的部分粗略的完成以包管這個設計的完備性,然后闡發自己的差錯并從新設計和編寫別心急,設計C++的class確鑿不輕易;自己法度榜樣中的class和自己的class設計水平是在賡續的編程實踐中完善和成長的;每學到一個C++難點的時刻,考試測驗著對別人解說這個常識點并讓他理解??你能講清楚才闡明你真的理解了;請賡續的對自己寫的法度榜樣提出更高的要求,哪怕你的法度榜樣版本號會變成Version 100. XX;保存好你寫過的所有的法度榜樣??那是你最好的積累之一;多看design patterns,將他用到法度榜樣中去!留意測試用例及測試措施!多看經典牛人的書!浮躁的人輕易說:XX說話不可了,應該學YY;??是你自己不可了吧???浮躁的人輕易問:我到底該學什么;??別問,學就對了;浮躁的人輕易問:XX有錢途嗎;??建議你去搶銀行;浮躁的人輕易說:我要中文版!我英文不可!??不可?學呀!浮躁的人輕易問:XX和YY哪個好;??奉告你吧,都好??只要你學就行;浮躁的人分兩種:a)只不雅望而不學的人;b)只學而不堅持的人;請不要做浮躁的人;

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户