第一篇:如何成為優(yōu)秀的程序員
如何成為優(yōu)秀的程序員?
1)學(xué)習(xí)應(yīng)該從基礎(chǔ)打起,不要一開(kāi)始就嘗試最高深的技術(shù)。
2)每看一本書(shū),不要說(shuō)這章我以前學(xué)習(xí)過(guò)了,也掌握的很好,因此我可以跳過(guò)這一章看更重要的了。
3)對(duì)于作業(yè),遇到不會(huì)的盡量不要立刻向別人請(qǐng)教。如果實(shí)在解決不了的問(wèn)題,可以先 完成你會(huì)的,然后把一些特別的難點(diǎn)提煉出來(lái),向高手請(qǐng)教。
3)不要指望書(shū)本和行家能幫你解決一切問(wèn)題,因?yàn)椴⒉皇撬袉?wèn)題都能由別人教給你。
4)向別人請(qǐng)教問(wèn)題應(yīng)該把問(wèn)題說(shuō)明白。對(duì)于錯(cuò)誤提示信息應(yīng)該原樣提供出來(lái),不要按自
己理解的信息提供。因?yàn)榧热荒阕约鹤霾涣?,說(shuō)明你理解一般都有問(wèn)題。
5)問(wèn)問(wèn)題最好能帶代碼。
6)不要說(shuō)“編譯通過(guò),可是運(yùn)行時(shí)...“,因?yàn)榫幾g錯(cuò)誤和運(yùn)行錯(cuò)誤可能根本沒(méi)有關(guān)系。
一般來(lái)說(shuō),編譯是語(yǔ)法問(wèn)題,而運(yùn)行是邏輯問(wèn)題。
7)書(shū)看千遍不如做程序一遍,應(yīng)該盡量嘗試去寫(xiě)程序。
8)做程序千個(gè)不如做好程序一個(gè)。應(yīng)該盡量完善你現(xiàn)在做的程序,而不要不斷開(kāi)新的計(jì)
劃,而每個(gè)計(jì)劃都虎頭蛇尾。
9)要想到你不是一個(gè)人寫(xiě)程序,而是和大家一起寫(xiě)程序。
10)高深的技巧雖然顯示了高深的本領(lǐng),但是對(duì)于合作往往是有害的,應(yīng)該盡量寫(xiě)出簡(jiǎn)
單易讀的代碼。
11)編制程序應(yīng)該盡量做到自注釋?zhuān)创a本身一讀就懂,好象自己在說(shuō)明自己的邏輯
一樣。
12)復(fù)雜的代碼如果實(shí)在做不到自注釋?zhuān)瑧?yīng)該給出適量的注釋。
13)注釋在修改代碼的時(shí)候應(yīng)該相應(yīng)修改,不能用陳舊的注釋去誤導(dǎo)別人。
14)代碼應(yīng)該盡量可重用,相同功能的代碼應(yīng)該由相同的函數(shù)完成,重要函數(shù)應(yīng)
試信息,以便調(diào)試時(shí)及早發(fā)現(xiàn)問(wèn)題。
15)應(yīng)該盡量寫(xiě)小函數(shù),每個(gè)函數(shù)盡量不要超過(guò)40行或者更少。這樣不用滾動(dòng)屏幕也許
就可以讀完整個(gè)函數(shù)。
16)對(duì)于switch語(yǔ)句,盡量不要有過(guò)多的分支,如果分支太多,可以考慮用跳轉(zhuǎn)表。
17)盡量少使用一些有爭(zhēng)議的語(yǔ)句,如goto和三目運(yùn)算符,既然有爭(zhēng)議,它肯定有一定的缺點(diǎn)。
18)對(duì)于goto,許多工程師技術(shù)高到可以合理使用,而不至于導(dǎo)致問(wèn)題。但是你的程序
并不一定給你同水平的人看和修改,他們可不能保證合理的讀和修改這些相關(guān)代碼。
19)代碼編寫(xiě)時(shí)應(yīng)該有一定的格式,其基本要求是對(duì)理解代碼有一定幫助。
20)如果數(shù)據(jù)是多個(gè)模塊共有的,應(yīng)該提供一個(gè)封裝的類(lèi)來(lái)管理它,并提供一個(gè)合適的接口給各個(gè)模塊。這樣,如果數(shù)據(jù)內(nèi)容有重大修改,則只要接口不變,基本上可以保證
程序不要很復(fù)雜的修改。
21)應(yīng)該盡量考慮到數(shù)據(jù)的并發(fā)控制。
22)數(shù)據(jù)的并發(fā)控制應(yīng)該封裝在接口內(nèi),而不要暴露給其他模塊,這樣可以減少因?yàn)椴?/p>
發(fā)原因?qū)е碌某绦蛩梨i。
23)數(shù)據(jù)本身結(jié)構(gòu)不可以太復(fù)雜。應(yīng)該盡量把不相關(guān)的數(shù)據(jù)分割成為兩組數(shù)據(jù)。
24)對(duì)于數(shù)據(jù)量比較大的情況,應(yīng)該考慮數(shù)據(jù)庫(kù)。
25)數(shù)據(jù)庫(kù)接口應(yīng)該采用標(biāo)準(zhǔn)ODBC或者ADO接口,盡量不要根據(jù)實(shí)際數(shù)據(jù)庫(kù)DBMS提供的接
口來(lái)處理,因?yàn)槟憧赡茉趯?shí)際使用中更換DBMS。
26)小的數(shù)據(jù)可以考慮文件,文件路徑應(yīng)該必須設(shè)計(jì)成相對(duì)路徑。
27)在一個(gè)函數(shù)中,應(yīng)該盡量打開(kāi)文件后使用完后立刻關(guān)閉,這樣其他程序可
件。
28)不要嘗試把文件全部讀到內(nèi)存中,應(yīng)該分次處理大文件。
29)編寫(xiě)程序應(yīng)該提供相關(guān)的測(cè)試程序,以提供測(cè)試手段。
30)應(yīng)該考慮代碼、函數(shù)的使用情況,不要超越函數(shù)可以使用的范圍使用之。
1.扎實(shí)的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、編譯原理,這些是所有計(jì)算機(jī)科學(xué)的基礎(chǔ),如果不掌握他們,很難寫(xiě)出高水平的程序。據(jù)我的觀察,學(xué)計(jì)算機(jī)專(zhuān)業(yè)的人比學(xué)其他專(zhuān)
業(yè)的人更能寫(xiě)出高質(zhì)量的軟件。程序人人都會(huì)寫(xiě),但當(dāng)你發(fā)現(xiàn)寫(xiě)到一定程度很難再提高的時(shí)候,就應(yīng)該想想是不是要回過(guò)頭來(lái)學(xué)學(xué)這些最基本的理論。不要一開(kāi)始就去學(xué)OOP,即使你再精通OOP,遇到一些基本算法的時(shí)候可能也會(huì)束手無(wú)策。
2.豐富的想象力。不要拘泥于固定的思維方式,遇到問(wèn)題的時(shí)候要多想幾種解決問(wèn)
題的方案,試試別人從沒(méi)想過(guò)的方法。豐富的想象力是建立在豐富的知識(shí)的基礎(chǔ)上,除
計(jì)算機(jī)以外,多涉獵其他的學(xué)科,比如天文、物理、數(shù)學(xué)等等。另外,多看科幻電影也
是一個(gè)很好的途徑。
3.最簡(jiǎn)單的是最好的。這也許是所有科學(xué)都遵循的一條準(zhǔn)則,如此復(fù)雜的質(zhì)能互換
原理在愛(ài)因斯坦眼里不過(guò)是一個(gè)簡(jiǎn)單得不能再簡(jiǎn)單的公式:E=mc2。簡(jiǎn)單的方法更容易被
人理解,更容易實(shí)現(xiàn),也更容易維護(hù)。遇到問(wèn)題時(shí)要優(yōu)先考慮最簡(jiǎn)單的方案,只有簡(jiǎn)單
方案不能滿足要求時(shí)再考慮復(fù)雜的方案。
4.不鉆牛角尖。當(dāng)你遇到障礙的時(shí)候,不妨?xí)簳r(shí)遠(yuǎn)離電腦,看看窗外的風(fēng)景,聽(tīng)聽(tīng)
輕音樂(lè),和朋友聊聊天。當(dāng)我遇到難題的時(shí)候會(huì)去玩游戲,而且是那種極暴力的打斗類(lèi)
游戲,當(dāng)負(fù)責(zé)游戲的那部分大腦細(xì)胞極度亢奮的時(shí)候,負(fù)責(zé)編程的那部分大腦細(xì)胞就得
到了充分的休息。當(dāng)重新開(kāi)始工作的時(shí)候,我會(huì)發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。
5.對(duì)答案的渴求。人類(lèi)自然科學(xué)的發(fā)展史就是一個(gè)渴求得到答案的過(guò)程,知道答案的一小部分也值得我們?nèi)ジ冻觥V灰銏?jiān)定信念,一定要找到問(wèn)題的答案,你
才會(huì)付出精力去探索,即使最后沒(méi)有得到答案,在過(guò)程中你也會(huì)學(xué)到很多東西。
6.多與別人交流。三人行必有我?guī)?,也許在一次和別人不經(jīng)意的談話中,就可以迸
出靈感的火花。多上上網(wǎng),看看別人對(duì)同一問(wèn)題的看法,會(huì)給你很大的啟發(fā)。
7.良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進(jìn)編排,變量的命名規(guī)則要始
終保持一致。大家都知道如何排除代碼中錯(cuò)誤,卻往往忽視了對(duì)注釋的排錯(cuò)。注釋是程
序的一個(gè)重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經(jīng)清楚地表達(dá)了
你的思想,就不必再加注釋了,如果注釋和代碼不一致,那就更加糟糕。
8.韌性和毅力。這也許是”高手"和一般程序員最大的區(qū)別。A good programming
is 99 weat and 1ffee。高手們并不是天才,他們是在無(wú)數(shù)個(gè)日日夜夜中磨練出來(lái)的。成功能給我們帶來(lái)無(wú)比的喜悅,但過(guò)程卻是無(wú)比的枯燥乏味。你不妨做個(gè)測(cè)試,找個(gè)1
0000以內(nèi)的素?cái)?shù)表,把它們?nèi)汲聛?lái),然后再檢查三遍,如果能夠不間斷地完成這一
工作,你就可以滿足這一條。
比較寬的知識(shí)面,并且能夠時(shí)時(shí)補(bǔ)充自己的知識(shí)和完善自己的知識(shí)結(jié)構(gòu)
* 耐心好,特別是在調(diào)試和學(xué)習(xí)階段,世界上沒(méi)有聰明的人只有刻苦的人。做開(kāi)發(fā)其實(shí)
就兩件事情學(xué)習(xí)和改錯(cuò),在這兩件事情中間的開(kāi)發(fā)過(guò)程其實(shí)是比較簡(jiǎn)單的* 永遠(yuǎn)記?。捍a是給人看的而不是給機(jī)器運(yùn)行的,計(jì)算機(jī)在執(zhí)行程序時(shí)是不怕累的,而人在看代碼時(shí)是非常累的* 良好的編碼習(xí)慣,至少保證自己能夠隨時(shí)看懂幾個(gè)月前自己所寫(xiě)的代碼
* 盡量讓你的代碼能夠很容易的被別人理解,寫(xiě)代碼時(shí)想想你會(huì)不會(huì)在兩個(gè)月后被別人
罵
* 不要容忍自己犯重復(fù)的錯(cuò)誤和寫(xiě)重復(fù)的代碼
* 知道如何做比得到代碼更重要
* 盡量不要做已經(jīng)有很多人已經(jīng)做過(guò)的事情
* 學(xué)會(huì)尊重別人的開(kāi)發(fā)成果,除非不得已不要下決定全面替換以前的系統(tǒng)
* 珍惜自己的時(shí)間與工作成果,盡量讓別人分享自己的開(kāi)發(fā)成果
* 避免假設(shè),多思考極端情況與引起錯(cuò)誤的可能性,努力減少低級(jí)錯(cuò)誤
* 不要相信至少是不要輕信自己為自己所做的測(cè)試結(jié)果
* 懂得堅(jiān)持自己的開(kāi)發(fā)思路,并懂得理解與吸收別人的思想
* 學(xué)會(huì)與其他人保持一致,但不能放棄自己的開(kāi)發(fā)特色
* 懂得向你周?chē)娜藢W(xué)習(xí),不論是開(kāi)發(fā)能力上的還是開(kāi)發(fā)經(jīng)驗(yàn)上的* 懂得軟件結(jié)構(gòu)的的重要性,分析代碼前先分析代碼的結(jié)構(gòu)
* 學(xué)會(huì)總結(jié),定期總結(jié)自己所學(xué)會(huì)的知識(shí),看看自己前段時(shí)間因?yàn)楦鞣N原因所浪費(fèi)的時(shí)
間
* 學(xué)會(huì)計(jì)劃,盡量不要認(rèn)為通過(guò)延長(zhǎng)自己的工作時(shí)間來(lái)完成任務(wù)
* 學(xué)會(huì)正確估計(jì)自己的能力和工作時(shí)間
下面這些是我認(rèn)為一些比較適合我自己的方面,不一定對(duì)每個(gè)人都合適:
* 多看些雜志,沒(méi)事情的時(shí)候可以看看以前看過(guò)的參考書(shū),書(shū)中很可能有你以前沒(méi)有注
意到的一些細(xì)節(jié)
* 不要太早去做一些與開(kāi)發(fā)無(wú)關(guān)的事情,因?yàn)閷W(xué)習(xí)的黃金時(shí)期是很短暫的* 學(xué)會(huì)分析別人的系統(tǒng),多看看別人所開(kāi)發(fā)的系統(tǒng)的先進(jìn)的一面。這里包括別人的開(kāi)發(fā)
思路,實(shí)現(xiàn)時(shí)所采用的結(jié)構(gòu)
* 時(shí)常感到自己將被淘汰,經(jīng)常埋怨自己的不努力
* 知道自己缺少什么
* 強(qiáng)迫自己做一些自己不喜歡做的事情,比如說(shuō)寫(xiě)文檔
* 能夠有勇氣重寫(xiě)自己所開(kāi)發(fā)的系統(tǒng),但當(dāng)你重做時(shí)你應(yīng)該采取和前一次不同的工作方
式和方法,否則重做就沒(méi)有必要
* 將問(wèn)題簡(jiǎn)單化而不是復(fù)雜化
* 將維護(hù)時(shí)會(huì)產(chǎn)生的一部分問(wèn)題轉(zhuǎn)移到開(kāi)發(fā)時(shí)或是設(shè)計(jì)時(shí)來(lái)解決
* 有時(shí)候也不妨問(wèn)問(wèn)自己:我不做開(kāi)發(fā)時(shí)去做什么
* 堅(jiān)持為自己做每周的開(kāi)發(fā)計(jì)劃,在事情沒(méi)有做完以前不要輕易轉(zhuǎn)移自己的注意力
* 盡可能多的將你所做的教給別人,因?yàn)槟阌幸惶炜赡懿辉儇?fù)責(zé)這個(gè)系統(tǒng)
* 做事一定要有始有終,除非是有不得已的理由否則不要在工作完成前提前離開(kāi)
* 不要將你為公司做的東西帶走,你因該帶走的是開(kāi)發(fā)經(jīng)驗(yàn)和對(duì)開(kāi)發(fā)的認(rèn)識(shí)而不是代碼
和產(chǎn)品
* 感到累時(shí)就休息一下,給自己放個(gè)假也無(wú)妨,畢竟人不是機(jī)器
做程序員很累的,夠你受的,加油吧!
第二篇:如何成為優(yōu)秀的Java程序員
如何成為優(yōu)秀的Java程序員
每一個(gè)優(yōu)秀的人在做事的時(shí)候都有自己的做事風(fēng)格,那么那些優(yōu)秀的Java程序員的編程風(fēng)格如何呢?下面我們具體講講,希望對(duì)想學(xué)習(xí)或正在學(xué)習(xí)編程的同學(xué)有一些幫助。
優(yōu)秀JAVA程序員幾個(gè)原則如下: 1.保持原有風(fēng)格 2.堅(jiān)持最小驚奇原則 3.第一次就做對(duì) 4.記錄所有非規(guī)范行為 格式規(guī)范:
1.縮進(jìn)嵌套的代碼:在每個(gè)代碼塊和嵌套中加入縮進(jìn),縮進(jìn)代碼,加強(qiáng)可讀性。這些地方包括【類(lèi)定義,內(nèi)部類(lèi)定義,方法定義,靜態(tài)塊,for循環(huán)語(yǔ)句,if-else語(yǔ)句,try、catch和finally塊,匿名內(nèi)部類(lèi),while語(yǔ)句,do-while語(yǔ)句】
2.斷開(kāi)很長(zhǎng)的句子:第一,如果包含了逗號(hào),那么在每一個(gè)逗號(hào)后面都另起一行,把逗號(hào)后面的每一個(gè)表達(dá)式都和逗號(hào)前面的表達(dá)式的第一個(gè)字母對(duì)齊。第二,應(yīng)該在優(yōu)先級(jí)最低的運(yùn)算符之前斷行。
3.使用空白:關(guān)鍵字和左括號(hào)之間,右括號(hào)和緊隨其后的關(guān)鍵字,除了”.”之外的運(yùn)算符與其前后的表達(dá)式之間用空格隔開(kāi)。每個(gè)邏輯上獨(dú)立的方法和代碼段之間,定義類(lèi)或者接口的成員之間,每個(gè)類(lèi)和接口之間應(yīng)該加入空白行。
4.不要直接使用Tab控制符:不同環(huán)境對(duì)Tab控制符的解釋也是不同的。命名約定:
1.名稱應(yīng)該具有實(shí)際意義
2.使用人們熟悉的名稱
3.謹(jǐn)慎使用過(guò)長(zhǎng)的名字,可以使用簡(jiǎn)明通用的縮寫(xiě) 4.盡量保留元音字母 5.縮寫(xiě)詞的第一個(gè)字母大寫(xiě) 6.不要使用大小寫(xiě)來(lái)區(qū)分的名字 包命名:
1.用你所在組織的域名的倒序小寫(xiě)形式作為包的根限定詞 2.使用單獨(dú)的小寫(xiě)詞作為每個(gè)包的根名
3.僅當(dāng)新舊版本二進(jìn)制兼容的時(shí)候,其包可以使用相同的名字,否則,請(qǐng)使用新名字 類(lèi)型命名:
1.類(lèi)和接口名中的每個(gè)單詞的第一個(gè)字母大寫(xiě) 類(lèi)命名: 1.用名詞命名類(lèi)
2.具有成組相關(guān)屬性,靜態(tài)服務(wù)或者常量的類(lèi)名字使用復(fù)數(shù)形式 接口命名:
1.用名詞或者形容詞命名接口 方法命名:
1.方法名中的第一個(gè)單詞小寫(xiě),其后每個(gè)單詞的第一個(gè)字母大寫(xiě) 2.用動(dòng)詞命名方法
3.遵循JavaBean中命名屬性訪問(wèn)函數(shù)方法:set,get,is 變量命名:
1.變量命中的第一個(gè)單詞小寫(xiě),其后的每個(gè)單詞的第一個(gè)字母大寫(xiě)
2.用名詞命名變量 3.集合引用名要用復(fù)數(shù)形式
4.為不重要的臨時(shí)變量簡(jiǎn)歷并使用一套標(biāo)準(zhǔn)名字 字段命名:
1.使用this字段變量可以區(qū)分開(kāi)局部變量 參數(shù)命名:
1.構(gòu)造函數(shù)或者”set”方法給字段分配參數(shù)賦值,參數(shù)名應(yīng)該和字段名相同 常量命名:
1.常量的每個(gè)單詞均大寫(xiě),單詞之間使用下劃線連接 文檔約定:
1.為使用和維護(hù)你的代碼的人編寫(xiě)文檔 2.注釋和代碼要同步
3.使用積極的語(yǔ)氣,省略無(wú)用的詞語(yǔ) 注釋類(lèi)型:
1.用文檔注釋來(lái)描述編程接口
2.用標(biāo)準(zhǔn)注釋格式隱藏代碼而不必刪除它們 3.用單行注釋解釋實(shí)現(xiàn)細(xì)節(jié) 文檔注釋?zhuān)?/p>
1.在編寫(xiě)代碼前描述編程接口
2.為公用,受保護(hù),包,私有成員建立文檔 3.為每個(gè)包編寫(xiě)總結(jié)和概述 4.為包的每個(gè)應(yīng)用程序或組編寫(xiě)概述
注釋風(fēng)格:
1.對(duì)所有文檔注釋使用統(tǒng)一的格式和組織結(jié)構(gòu)
2.關(guān)鍵字,標(biāo)識(shí)符和常量應(yīng)放到…
標(biāo)簽中 3.將代碼放入
…標(biāo)簽中 4.在標(biāo)識(shí)符第一次出現(xiàn)的時(shí)候用{@link}標(biāo)簽 5.為Javadoc標(biāo)簽簡(jiǎn)歷并使用一套固定的順序 6.使用第三人稱敘述的形式 7.編寫(xiě)?yīng)毩⒌母攀?/p>
8.省略概述中動(dòng)作和服務(wù)的主語(yǔ) 9.省略事物概述中的對(duì)象和動(dòng)詞
10.使用this而不是the來(lái)指代當(dāng)前類(lèi)中的實(shí)例
11.方法名或者構(gòu)造函數(shù)名不需圓括號(hào),除非你想突出一個(gè)特殊的簽名 注釋內(nèi)容:
1.每個(gè)類(lèi)、接口、字段和方法都編寫(xiě)概述 2.完整描述每個(gè)方法的簽名 3.包含示例
4.為前置、后置、不變條件編寫(xiě)文檔 5.為已知的缺陷和不足編寫(xiě)文檔 6.為同步語(yǔ)法編寫(xiě)文檔 內(nèi)部注釋?zhuān)?/p>
1.僅添加有助于理解你的代碼的內(nèi)部注釋 2.描寫(xiě)代碼為什么這樣做,而不是在做什么
3.避免使用行尾注釋
4.用行尾注釋解釋局部變量聲明
5.建立并使用一套關(guān)鍵詞來(lái)標(biāo)識(shí)尚未解決的問(wèn)題 6.在嵌套程度高的控制結(jié)構(gòu)中標(biāo)記出嵌套結(jié)束位置
7.如果兩個(gè)case標(biāo)記之間沒(méi)有break語(yǔ)句,就在中間加入“fall-through”注釋 8.標(biāo)記空語(yǔ)句 編程約定:
1.將表示基礎(chǔ)數(shù)據(jù)類(lèi)型的類(lèi)聲明為final類(lèi)型 2.通過(guò)本地類(lèi)型和其他具體類(lèi)型建立具體類(lèi)型 3.定義小的類(lèi)和小的方法
4.定義子類(lèi),以便任何使用超類(lèi)的地方都可以使用子類(lèi) 5.使所有字段私有
6.使用多態(tài)來(lái)替代instanceof 類(lèi)型安全:
1.以java.lang.Object包裝通用類(lèi),提供靜態(tài)類(lèi)型檢查 2.以類(lèi)的形式封裝枚舉類(lèi)型 3.盡量使用泛型 語(yǔ)句和表達(dá)式:
1.用等價(jià)的方法替換重復(fù)的、復(fù)雜的表達(dá)式 2.使用塊語(yǔ)句代替控制流結(jié)構(gòu)的表達(dá)式 3.使用括號(hào)明確操作順序
4.在switch語(yǔ)句中的最后一個(gè)case體使用break語(yǔ)句
5.使用equals(),而不是==來(lái)檢測(cè)對(duì)象的對(duì)等關(guān)系 構(gòu)造:
1.構(gòu)造狀態(tài)有效的對(duì)象
2.不要從構(gòu)造函數(shù)中調(diào)用非final方法 3.用嵌套的構(gòu)造函數(shù)消除冗余代碼 異常處理:
1.使用不受檢查、運(yùn)行時(shí)的異常來(lái)報(bào)告可能在程序邏輯中出錯(cuò)的嚴(yán)重未查明錯(cuò)誤 2.使用檢查異常來(lái)報(bào)告可能發(fā)生,而在正常的程序運(yùn)行時(shí)極少發(fā)生的錯(cuò)誤 3.用返回代碼報(bào)告可預(yù)知的狀態(tài)改變 4.僅轉(zhuǎn)化異常來(lái)添加信息
5.不要私自處置運(yùn)行時(shí)或者錯(cuò)誤異常 6.用finally語(yǔ)句塊釋放資源 斷言: 1.按照約定編程
2.用無(wú)用代碼消除機(jī)制實(shí)現(xiàn)斷言 3.用斷言捕捉代碼中的邏輯錯(cuò)誤 4.用斷言檢測(cè)方法的前置條件和后置條件 并發(fā):
1.僅在適當(dāng)?shù)牡胤绞褂镁€程 同步: 1.避免同步
2.用同步的包裝器,提供同步接口
3.如果方法包含幾個(gè)不需要同步的重要操作,那么不要同步整個(gè)方法 4.讀寫(xiě)實(shí)例變量的時(shí)候避免不必要的同步 5.使用notify()而不是notifyAll()6.為同步初始化使用雙重檢查模式 效率:
1.使用懶惰初始化 2.避免創(chuàng)建不必要的對(duì)象
3.重新初始化并重新使用對(duì)象,盡量不要新建對(duì)象 4.把優(yōu)化工作留在日后 打包約定:
1.將經(jīng)常使用、更改、同時(shí)發(fā)布或者互相依存的類(lèi)型,放在同一個(gè)包里 2.共同封閉原則 3.重用/發(fā)布等價(jià)原則 4.無(wú)環(huán)依賴原則
5.將不穩(wěn)定的類(lèi)和接口隔離在單獨(dú)的包中 6.易于修改的包不要依賴于難以修改的包 7.最大化抽象最大化穩(wěn)定性
8.將高層設(shè)計(jì)和架構(gòu)作為穩(wěn)定的抽象,組織為穩(wěn)定的包
如果你想在IT技能上得到提升,那么北大青鳥(niǎo)就是不錯(cuò)的選擇。北大青鳥(niǎo)是中國(guó)電腦教育著名品牌,積累了雄厚的師資和豐碩的教學(xué)經(jīng)驗(yàn),學(xué)校的管理、就業(yè)、環(huán)境等都很優(yōu)越。學(xué)校擁有多個(gè)IT相關(guān)專(zhuān)業(yè),是西北地區(qū)比較齊全和綜合的大型電腦培訓(xùn)學(xué)校。
學(xué)以致用,所學(xué)即所用,是北大青鳥(niǎo)多年如一日的秉承的教育方針。不讓學(xué)生浪費(fèi)無(wú)謂的時(shí)間和精力在那些并不重要的技能學(xué)習(xí)上。為學(xué)生節(jié)約時(shí)間和精力去學(xué)習(xí)那些在工作中需要經(jīng)常用到的技能,那些重點(diǎn)技能,才是學(xué)校教授的重點(diǎn),也是學(xué)生需要學(xué)習(xí)的重點(diǎn)。
詳情點(diǎn)擊咨詢。
第三篇:如何成為一名程序員
苦逼中的戰(zhàn)斗雞:如何成為一名程序員
下面要說(shuō)的是我在成為一名程序員的道路上做的幾件事情。寫(xiě)在這里除了要讓自己銘記在心外,我還希望它能對(duì)別人有些用處。1.建立一個(gè)博客
這是我后來(lái)才認(rèn)識(shí)到的事,其實(shí)應(yīng)該很早就去做。如果你是跟我類(lèi)似的情況,你應(yīng)該盡早開(kāi)通一個(gè)博客——盡管還不知道該寫(xiě)什么。注冊(cè)一個(gè)域名,買(mǎi)一個(gè) 空間。你會(huì)驚奇的發(fā)現(xiàn)有很多可寫(xiě)的東西。你可以記錄下你成為一名程序員的過(guò)程,或?qū)懸幌履愀信d趣的技術(shù)方面的東西。我一直以為沒(méi)什么好寫(xiě)的,可當(dāng)真正思考 這些問(wèn)題時(shí),卻發(fā)現(xiàn)有很多值得寫(xiě)的。最重要的事情是開(kāi)始去做。2.開(kāi)發(fā)一些東西
開(kāi)發(fā)什么并不重要。選一種編程語(yǔ)言,任何一種都行,開(kāi)始干。你不必去花大量的時(shí)間來(lái)決定應(yīng)該使用什么語(yǔ)言。直接開(kāi)始學(xué)一種語(yǔ)言,事實(shí)上最重要的是學(xué)習(xí)編程語(yǔ)言的基礎(chǔ)知識(shí),而不是勞神費(fèi)力的去選擇一種“最好的編程語(yǔ)言”。我選擇的是PHP。因?yàn)樗且环N被廣泛使用的語(yǔ)言,在網(wǎng)上有大量的學(xué)習(xí)范例,我已經(jīng)通過(guò)搭建一個(gè)WordPress網(wǎng)站而熟練的掌握了它。沒(méi)有絲毫的遺憾。它使我學(xué)到了很多 基礎(chǔ)知識(shí)。我還學(xué)習(xí)了其它語(yǔ)言嗎?當(dāng)然,我后來(lái)涉獵了很多腳本語(yǔ)言,我要在下一個(gè)項(xiàng)目上試試Ruby。編程語(yǔ)言不斷的在變化,不要只盯著一個(gè)不放。3.注冊(cè)你的GitHub帳戶
我已經(jīng)在Bitbucket上有了一個(gè)代碼庫(kù)。我最初選擇注冊(cè)Bitbucket是因?yàn)樗芴峁?個(gè)免費(fèi)的私有庫(kù)。后來(lái)我決定在GitHub上注冊(cè)。事實(shí)上,我絲毫沒(méi)有拖延,看看我的成果吧。4.向開(kāi)源項(xiàng)目捐贈(zèng)代碼
我早該如此做了。我起初低估了做這種事情的重要性,說(shuō)老實(shí)話,我現(xiàn)在仍需要進(jìn)一步重視。向開(kāi)源項(xiàng)目捐贈(zèng)代碼,這是一種很好的學(xué)習(xí)別人如何編程的方法,并且能把自己的代碼公開(kāi)。我今晚的就要去列一個(gè)準(zhǔn)備去參與的開(kāi)源項(xiàng)目的清單。5.熱心參與
這也是我需要改進(jìn)的方面。我應(yīng)該到stackoverflow網(wǎng)站上去回答更多的問(wèn)題,在一些博客,科技網(wǎng)站上分享自己的東西。去那些網(wǎng)站,讓大家看到你。不在網(wǎng)上露面,就相當(dāng)于待在屋里不出門(mén)卻想找一份做巴黎導(dǎo)游的工作。重復(fù)做第2,4和5點(diǎn) 其它一些事情
很明顯,每一個(gè)有志向的程序員都應(yīng)該每天閱讀Hacker News和其它開(kāi)發(fā)/科技/編程類(lèi)的博客文章。
我打聽(tīng)到了不少的技術(shù)討論會(huì)。這周末我準(zhǔn)備去參加一個(gè)。我會(huì)把那里的情況寫(xiě)出來(lái)。我在這里并沒(méi)有提讀書(shū)。我喜歡閱讀,但我們沒(méi)有買(mǎi)任何的關(guān)于web開(kāi)發(fā)的書(shū)籍。這是我個(gè)人的做法。我相信很多人都會(huì)建議首先買(mǎi)一本書(shū)看看。
找一些能和你討論你的web開(kāi)發(fā)/技術(shù)/編程想法的人和群體。如果我做了更多的第5項(xiàng),我可能找到了更多的這樣的人。
好了,這就是我要說(shuō)的。這些就是在過(guò)去的一年里我成為一個(gè)程序員的成長(zhǎng)之路上做到事情。如果有人覺(jué)得在這個(gè)清單里我還應(yīng)該加入什么,請(qǐng)給我留言。我永遠(yuǎn)都希望聽(tīng)到新的觀點(diǎn)。
第四篇:如何成為優(yōu)秀的Java程序員成都Java培訓(xùn)
004km.cn
如何成為優(yōu)秀的Java程序員成都Java培訓(xùn)
成都國(guó)信安Java班由副教學(xué)總監(jiān),優(yōu)秀講師帶隊(duì)并親自授課,秉承成都國(guó)信安一貫的專(zhuān)業(yè)品質(zhì)態(tài)度,在課程質(zhì)量,學(xué)生素質(zhì),就業(yè)服務(wù)上相當(dāng)嚴(yán)格要求,并以學(xué)業(yè)滿意就業(yè)為目標(biāo),打造國(guó)內(nèi)優(yōu)秀Java培訓(xùn)班,感興趣的同學(xué)不妨關(guān)注國(guó)信安教育基地了解一下吧。
在求職旺季,面對(duì)新的工作,你磨刀霍霍,投了簡(jiǎn)歷,馬上要去面試的時(shí)候卻又慫了,面試官會(huì)問(wèn)我哪些問(wèn)題呢?萬(wàn)一他問(wèn)的我答不上來(lái)怎么辦?是不是很丟臉,是不是就錯(cuò)失了一次良機(jī),成都國(guó)信安職業(yè)規(guī)劃師來(lái)幫你,輕松搞定求職中,面試官的那些套路!
你有沒(méi)有發(fā)現(xiàn),只要是資深HR,也就是老司機(jī),貌似都會(huì)問(wèn)這些個(gè)問(wèn)題,往往讓你措手不及,又讓HR暗自叫爽。
請(qǐng)你簡(jiǎn)單介紹一下自己。
這是一個(gè)送分題,但是卻是一個(gè)大陷阱。HR一般上來(lái)喜歡甩手問(wèn)這個(gè),看似讓你簡(jiǎn)單介紹,請(qǐng)注意關(guān)鍵詞,是簡(jiǎn)單介紹。你說(shuō)多了,會(huì)嫌棄你啰嗦,你一句話概括,會(huì)覺(jué)得你敷衍,口才不行,或者就是個(gè)大傻缺。所以,真的是不好控制節(jié)(字)奏(數(shù))?。?/p>
HR內(nèi)心戲:如果將自己的名字、職業(yè)、上一份工作、出身等說(shuō)一通的人,肯定是個(gè)大傻缺,我難道不會(huì)自己看簡(jiǎn)歷嗎?然而,99.9%的人都會(huì)這么做。面了那么多次,都是“假”的面試。
004km.cn正確做法:將自己的主要成就和擅長(zhǎng)領(lǐng)域介紹一遍,不用浮夸,如實(shí)反饋并稍加包裝即可,言簡(jiǎn)意賅,直戳重點(diǎn),最好是和該行業(yè)相關(guān)的。如果實(shí)在沒(méi)啥成就,例如應(yīng)屆畢業(yè)生,可以將自己在校組織的活動(dòng)或者一次比較好的經(jīng)歷拿出來(lái)做自我介紹。請(qǐng)注意,HR就是想知道你在自我介紹中所透露的主要技能和獨(dú)特之處,并不是想聽(tīng)你流水賬式的將自己的簡(jiǎn)歷說(shuō)一遍,這樣很LOW!
小編點(diǎn)評(píng):這么多年了,希望你們可以學(xué)學(xué)乖,這一招學(xué)會(huì),記得下次去裝逼!絕對(duì)會(huì)有意想不到的收貨,祝愿我的小伙伴們都能輕松應(yīng)對(duì)求職,謀的好工作。
四川地處中國(guó)大西南,肥沃的土地,豐富的自然資源,悠久的歷史和絢爛多彩的少數(shù)民族文化,構(gòu)成了多樣性的自然和文化旅游資源。每到中考季,很多初中生總是為自己的未來(lái)前途擔(dān)心,尤其是一些學(xué)習(xí)成績(jī)不好的初中生,他們不知道中考沒(méi)考上怎么辦。同時(shí)許多家長(zhǎng)也擔(dān)心,自己的孩子年齡還小,進(jìn)入社會(huì)顯然不合適。這個(gè)時(shí)候職業(yè)培訓(xùn)學(xué)校更加適合,放眼眾多學(xué)院,四川國(guó)信安職業(yè)培訓(xùn)學(xué)校無(wú)疑是非常合適的。
一說(shuō)起IT培訓(xùn),很多人都表示苦不堪言,總有人被虛假信息坑過(guò)。很多人表示自己對(duì)其一竅不通,實(shí)在不知道怎么辦才好。別著急,讓小編為你奉上這些必備小技巧,帶你快速簡(jiǎn)單的上手。那么,實(shí)用的攻略有哪些?一般會(huì)選擇哪家呢?哪個(gè)是最實(shí)用呢?下面就隨小編來(lái)看一看吧~
004km.cn 很多剛剛從事Java編程職場(chǎng)的同學(xué)進(jìn)入企業(yè),沒(méi)有了授業(yè)解惑的老師,沒(méi)有了可以互相討論代碼的同學(xué),更不清楚在職場(chǎng)中應(yīng)該學(xué)習(xí)的方法,今天小編就分析下Java程序員的職場(chǎng)經(jīng)驗(yàn),希望對(duì)大家有所幫助。
首先要懂幾門(mén)語(yǔ)言。
可能你會(huì)想,不就是開(kāi)發(fā)語(yǔ)言麼,這有何難,懂一門(mén)就夠了,好吧,我不反駁你,就拿Javaweb程序員舉例吧。Java語(yǔ)言是基本的,各種Java框架你得會(huì),html、css、Java網(wǎng)頁(yè)前端語(yǔ)言也需要會(huì),不會(huì)前端語(yǔ)言不能說(shuō)自己是web程序員。這些在web應(yīng)用中都是非常重要的。photoshop基本的切圖也得會(huì)一點(diǎn),總不能每次切張小圖也去找美工吧,你要知道,很多公司是沒(méi)有美工的,遇到這樣的情況還得是我們程序員自己來(lái)做。
觀察總結(jié)項(xiàng)目或生活中想到的亮點(diǎn),每一個(gè)項(xiàng)目都有它獨(dú)特的亮點(diǎn)所在,甚至是一個(gè)小小的頁(yè)面功能,都會(huì)有它特有新穎的亮點(diǎn)設(shè)計(jì),我們看的不僅僅是它的展示效果,更重要的是我們能通過(guò)這個(gè)效果,聯(lián)想到什么,學(xué)習(xí)到了什么。
不要把手上的工作拖到明天,那樣會(huì)積攢的越來(lái)越多,也不要在工作期間老是打醬油,否則經(jīng)理一怒之下,臨下班的時(shí)候,給你發(fā)過(guò)來(lái)一個(gè)任務(wù),讓你務(wù)必今天完成,那你就悲劇了。
要做好吃苦的準(zhǔn)備
004km.cn所謂苦練七十二變,方能笑對(duì)八十一難。我剛開(kāi)始學(xué)編程的時(shí)候,有時(shí)候一個(gè)程序報(bào)錯(cuò)了,找了一天沒(méi)找出是哪的錯(cuò),此時(shí)叫天天不應(yīng),叫地地不靈,有種想砸電腦的感覺(jué),最終還得耐著性子把錯(cuò)誤找出來(lái),因?yàn)檫@個(gè)錯(cuò)誤如果不解決,你的程序沒(méi)法往下進(jìn)行,后面的工作就沒(méi)法展開(kāi)了,而且只有你遇到的錯(cuò)誤越多,你的水平才提高的越快,一個(gè)好的程序都是在不斷調(diào)錯(cuò)中完善的。
學(xué)好編程決不是一個(gè)簡(jiǎn)單的事情,它是一個(gè)長(zhǎng)期的過(guò)程,需要你不斷的嘗試,不斷的練習(xí),不斷的總結(jié),多做項(xiàng)目,在實(shí)際開(kāi)發(fā)中總結(jié)經(jīng)驗(yàn)。書(shū)本上的知識(shí)只是理論,最終還需要實(shí)際電腦操作,以實(shí)戰(zhàn)為主才行??赡苣銜?huì)說(shuō),我見(jiàn)過(guò)很多程序員,三個(gè)月就學(xué)會(huì)了一門(mén)編程語(yǔ)言,而且找到了一份工作。我想告訴你的是,你沒(méi)有看到他背后的付出,這樣的人往往是從學(xué)編程開(kāi)始起,每天只睡幾個(gè)小時(shí),其余時(shí)間全部在寫(xiě)代碼,三個(gè)月寫(xiě)的代碼量是別人一年的還多。而且即使找到工作,如果基礎(chǔ)沒(méi)有打好,到工作中壓力是很大的,所以建議大家學(xué)編程時(shí)不要著急,把底子打好,是金子在哪都發(fā)光。我身邊經(jīng)常有這樣的例子。有一個(gè)朋友,他沒(méi)有任何的編程基礎(chǔ),英語(yǔ)水平也很差,計(jì)算機(jī)打字都得現(xiàn)學(xué),但就是想學(xué)編程,每天凌晨四點(diǎn)起床背英語(yǔ)單詞,別人在休息,他在寫(xiě)代碼、練打字,奮斗程度不亞于高考,就這樣憑著頑強(qiáng)的毅力,最終成為了一個(gè)很出色的Java程序員。
想學(xué)好編程,成為一個(gè)優(yōu)秀的程序員,一定要多做項(xiàng)目,編程的很多知識(shí)書(shū)本上都沒(méi)有,只能在實(shí)際做項(xiàng)目中找到答案。所以大家不要放
004km.cn
過(guò)每一次做項(xiàng)目的機(jī)會(huì),在做項(xiàng)目中總結(jié)經(jīng)驗(yàn),與項(xiàng)目一起共同成長(zhǎng)。相信每一個(gè)人都可以成為出色的程序員。
成都國(guó)信針對(duì)上班族,在校生,自學(xué)者開(kāi)設(shè)了Java周末課堂學(xué)員在業(yè)余時(shí)間學(xué)習(xí),為沒(méi)有時(shí)間全日制面授的學(xué)員打開(kāi)通往Java工程師之路的大門(mén)。Java夜校班由副教學(xué)總監(jiān),優(yōu)秀講師帶隊(duì)并親自授課,秉承成都國(guó)信安一貫的專(zhuān)業(yè)品質(zhì)態(tài)度,在課程質(zhì)量,學(xué)生素質(zhì),就業(yè)服務(wù)上相當(dāng)嚴(yán)格要求,并以學(xué)業(yè)滿意就業(yè)為終極目標(biāo),打造國(guó)內(nèi)優(yōu)秀Java業(yè)余培訓(xùn)班,感興趣的同學(xué)不妨關(guān)注動(dòng)力節(jié)點(diǎn)了解一下吧。
國(guó)信安IT培訓(xùn)基地專(zhuān)注java培訓(xùn)、php培訓(xùn)、UI設(shè)計(jì)培訓(xùn)、軟件測(cè)試培訓(xùn)、大數(shù)據(jù)培訓(xùn)、web前端培訓(xùn)等培訓(xùn)課程。你們準(zhǔn)備好怎么學(xué)習(xí)IT技術(shù)了嗎?來(lái)參加國(guó)信安IT培訓(xùn)課程,你的選擇不會(huì)有錯(cuò)!
第五篇:如何成為一名優(yōu)秀的程序員
如何成為一名優(yōu)秀的程序員?
一位仁兄說(shuō)的“程序員寫(xiě)的程序不是算法+語(yǔ)法,而是要能夠滿足用戶需求的工具”我非常贊同,要想達(dá)到用戶需求就必須從各個(gè)方面來(lái)考慮如業(yè)務(wù)、人機(jī)交互、效率等方面,而不只是一個(gè)語(yǔ)言(語(yǔ)法)的問(wèn)題,語(yǔ)言(語(yǔ)法)只是工具,只知語(yǔ)法不知其他那就真是編程機(jī)器了!編程機(jī)器在印度高中生經(jīng)過(guò)幾個(gè)月培訓(xùn),按照嚴(yán)謹(jǐn)?shù)能浌し椒ǎ由陷^高的管理,就可以勝任了!大家相信嗎,我是相信的!談到這里我就不禁說(shuō)到了國(guó)內(nèi)教育界最近在探討的問(wèn)題“計(jì)算機(jī)科系的畢業(yè)生特別是本科大專(zhuān)生到底出來(lái)干啥、如何適應(yīng)社會(huì)要求,大家也看到了很多計(jì)科系大學(xué)生說(shuō)精通N種語(yǔ)言,熟悉N種工具,不知道學(xué)校里的其他知識(shí)到那里去了,甘愿做編程機(jī)器,浪費(fèi)了人民的納稅,干高中生能干的事,比較可惜吧!在國(guó)內(nèi)現(xiàn)在就是這樣了,看過(guò)一則帖子:清華的計(jì)科系畢業(yè)生在建筑院里搞開(kāi)發(fā)還不如建筑專(zhuān)業(yè)的畢業(yè)生。說(shuō)著說(shuō)著就岔道了,國(guó)內(nèi)的軟件開(kāi)發(fā)業(yè)到底是需要那些人:如果僅僅是編碼機(jī)器,那我估計(jì)中國(guó)硅谷還是做夢(mèng)去吧!
社會(huì)似乎也需要編碼機(jī)器,翻翻招聘廣告,做應(yīng)用開(kāi)發(fā)的都要求精通某某語(yǔ)言,熟悉某某工具,很少需要懂管理懂軟工的人。以我個(gè)人一點(diǎn)偏激的想法,民族軟件產(chǎn)業(yè)要騰飛,更需要的是能管理使用編碼機(jī)器的人,即管理人員、國(guó)內(nèi)軟件產(chǎn)業(yè)編碼機(jī)器已經(jīng)很多了。希望不要惹怒了那些編程高手!system develop與Application develop在國(guó)內(nèi)到底哪個(gè)能養(yǎng)活你,能賺錢(qián),諸位仁兄想必也知道,況且俺也沒(méi)發(fā)現(xiàn)幾家水平高的公司招這方面的人,畢竟OS,DB MS,COMPILER都被國(guó)外做了、另外也別跟我談LINUX,畢竟還是少數(shù)燒錢(qián)的人做的事情,我先喂飽肚皮再說(shuō)。我手下的很多搞4GL語(yǔ)言的程序員都想轉(zhuǎn)行學(xué)VC等所謂的更低級(jí)的語(yǔ)言,我總是說(shuō)在XX城市,先用4GL工具生存,以后再學(xué)習(xí)VC吧!,說(shuō)的簡(jiǎn)單一點(diǎn)先解決肚子問(wèn)題。如何判斷自己是否是編程機(jī)器?
1、面對(duì)需求不考慮用戶,只是考慮用那些程序技術(shù)展示自己的語(yǔ)言語(yǔ)法技巧.2、學(xué)習(xí)了N種語(yǔ)言.3、從來(lái)不學(xué)習(xí)或?qū)嵺`軟工.4、語(yǔ)法語(yǔ)言水平在眾人中遙遙領(lǐng)先、特別是一些稀奇古怪的語(yǔ)法 憑著興趣和創(chuàng)造力去干,卻重復(fù)繁瑣的勞動(dòng)。做著沒(méi)有意義-唯一意義是賺錢(qián),而且真是出了半斤力,拿不足八兩。終日勞累,卻不能學(xué)自己想學(xué)的。最終結(jié)果是跟不上社會(huì)科技的發(fā)展,人已衰老。悲哀??!
開(kāi)發(fā)軟件的關(guān)鍵是要有想法,一個(gè)好的想法比什么都重要。尤其是有關(guān) 網(wǎng)絡(luò)方面的就更是如此。入門(mén)還可以,但是要繼續(xù)深入了解可能要難點(diǎn)。未必吧 偶覺(jué)得大學(xué)里的高數(shù) 數(shù)理方法之類(lèi)的, 如果你不是做研究的話, 應(yīng)該是很少能 用到的 不過(guò)如果說(shuō)到離散之類(lèi)的, 倒還是時(shí)不時(shí)的能有點(diǎn)用現(xiàn)在的程序員比起十年前是不是要花更多的時(shí)間來(lái) 查幫助呢。系統(tǒng)越來(lái)越大,手冊(cè)越來(lái)越厚,軟件開(kāi)發(fā)的 周期是不是越來(lái)越多的淹沒(méi)在查幫助之中了呢。
實(shí)際上一個(gè)程序員最終的技術(shù)需要和實(shí)際相結(jié)合。真正在編寫(xiě)程序到達(dá)一定時(shí)候,語(yǔ)言的使用并不是最大的障礙,對(duì)整個(gè)項(xiàng)目的把握、軟件工程的把握、數(shù)據(jù)庫(kù)的設(shè)計(jì)以及執(zhí)行效果的分析等等才是需要進(jìn)一步考慮的東東!否則,為何大多數(shù)公司到要求有編程經(jīng)驗(yàn)了!這些不是程序員必須學(xué)的。但數(shù)據(jù)結(jié)構(gòu),編譯原理,操作系統(tǒng)原理等是必須要學(xué)好的,英文的多看,不懂計(jì)算機(jī)英語(yǔ)可不行。其實(shí)我不是什么中專(zhuān)生,而是我讀的中學(xué)和一個(gè)私人辦的電腦學(xué)校聯(lián)合開(kāi)的電腦專(zhuān)業(yè)(并不是我中考考的差,而是這個(gè)學(xué)校太貪錢(qián)了,才被錄取到這里,惱火,我們班里中考成績(jī)從兩百多到四百多的都有,我就是四百多分(重理輕文的結(jié)果,要不然...),當(dāng)時(shí)讀書(shū)的時(shí)候,我是班是的高手(其實(shí)只是比其它同學(xué)懂而已),大家叫我dos,因?yàn)楫?dāng)時(shí)學(xué)的都是dos的內(nèi)容, 畢業(yè)后還沒(méi)有對(duì)編程很感興趣,只想找一個(gè)電腦的工作就可以了,哪怕是打字的,可是看報(bào)紙,去人才中心,看到都是要大學(xué)的,為此感到很失望.也對(duì)電腦失去了興趣.后來(lái)學(xué)校打電話到我家,說(shuō)廈門(mén)
廈華公司要招工,要不要去,我很快就答應(yīng)了,因?yàn)楫?dāng)時(shí)沒(méi)工作,天天呆在家里.后來(lái)打工的時(shí)候,天天象一個(gè)機(jī)械人一樣,重復(fù)著同一道工序,因此經(jīng)常在深夜的時(shí)候,思索著自己的未來(lái),由此重新生起了對(duì)電腦的感情,因此經(jīng)常買(mǎi)電腦雜志和報(bào)紙看(可以堆成一座山了).由于離我住的地方不遠(yuǎn)處,有一個(gè)電腦培訓(xùn)的,所以經(jīng)常到那里上機(jī),而在學(xué)校里學(xué)過(guò)的軟件也只有FOXBASE和WPS,其它的不值一提,所以上機(jī)經(jīng)常用foxbase,直到這時(shí)候,才對(duì)編程產(chǎn)生了濃厚的興趣,一年后,自已買(mǎi)了一臺(tái)電腦,開(kāi)始認(rèn)真學(xué)習(xí)編程.由于我是屬于職業(yè)中專(zhuān)的,因此經(jīng)常想,就算學(xué)得再好也沒(méi)有用,所以想考程序員,而考程序員要懂得c語(yǔ)言,所以就學(xué)習(xí)turbo c,學(xué)完了,學(xué)數(shù)據(jù)結(jié)構(gòu),同時(shí)看'C高級(jí)實(shí)用程序設(shè)計(jì)',澳門(mén)回歸和2000年的兩個(gè)晚上,我都是在編程中度過(guò)的.由于我這個(gè)人對(duì)書(shū)很感興趣,經(jīng)常在星期六,星期七去書(shū)店,而在書(shū)店里,也是看編程方面的書(shū),而看到的編程書(shū)籍大部份都是windows方面的,為此也經(jīng)常思索著學(xué)dos編程到底有沒(méi)有用.后來(lái),春節(jié)放假(要2月13日上班)回老家,天天去新華書(shū)店(正月初一也去),看到也都是windows編程方面的書(shū)多得像狗屎一樣,所以就下決心學(xué)windows編程,因此正月初四(快餐店還沒(méi)有開(kāi)張)就去廈門(mén)了,很快買(mǎi)了delphi的書(shū)和d版delphi5,瘋狂地學(xué)習(xí)(到目前為止,買(mǎi)了8本delphi的書(shū),因?yàn)閲?guó)人的寫(xiě)的書(shū)實(shí)在太爛),而由于遇到不懂的又不知道怎么辦,為此想到了網(wǎng)絡(luò),但在外打工不可能上網(wǎng)(上網(wǎng)吧太貴),所以就辭職了(4月21日),現(xiàn)在,程序員考試快到了,是報(bào)還是不報(bào)一直猶豫不覺(jué),困此才有此問(wèn)題.打工的歲夜,我永遠(yuǎn)不會(huì)忘記,因?yàn)楦冻鎏嗔?也失去了太多(壞了兩個(gè)光驅(qū),瘦了幾斤),直到現(xiàn)在,腦海里還不時(shí)浮現(xiàn)起那幾個(gè)無(wú)眠的夜晚.忠心感謝大家.我不認(rèn)為編碼的人就是機(jī)器, 而系統(tǒng)分析就不是機(jī)器, 其實(shí)系統(tǒng)分析員就是銷(xiāo)售的機(jī)器, 所有職員有是老板的機(jī)器.它們之間這是不同工種吧了, 當(dāng)然對(duì)系統(tǒng)分析要求要高一些, 薪水也高一些, 但更讓人佩服的是銷(xiāo)售, 是他們驅(qū)動(dòng)了整個(gè)的運(yùn)作.我也是個(gè)中專(zhuān)生, 還是學(xué)機(jī)械的(后來(lái)自學(xué)了計(jì)算機(jī)), 我非常了解在傳統(tǒng)的制造業(yè)是如何的規(guī)范, 設(shè)計(jì)人員設(shè)計(jì)圖紙, 然后經(jīng)審核, 再到車(chē)間試樣, 再根據(jù)情況, 修改圖紙, 如此反復(fù)幾次后才能一個(gè)產(chǎn)品定型,而在軟件界, 就沒(méi)那么好了, 領(lǐng)導(dǎo)會(huì)說(shuō), 這個(gè)你做, 那個(gè)他做, 也沒(méi)有經(jīng)過(guò)很細(xì)的分析(國(guó)內(nèi)很多都是這樣), 在我們這里也沒(méi)有系統(tǒng)分析員, 每個(gè)人都是設(shè)計(jì)員, 也是編程員, 雖然這樣對(duì)個(gè)人來(lái)說(shuō), 能學(xué)到很多東西, 但不利于項(xiàng)目.我國(guó)的軟件過(guò)程水平,確實(shí)令人擔(dān)憂, 目前為止只是, 幾個(gè)人十幾個(gè)人的小軟件, 還沒(méi)有能拿得手的大型軟件.至于中專(zhuān)生編程問(wèn)題, 我認(rèn)為只要入了這個(gè)行, 就不會(huì)比本科生差, 因?yàn)閷?duì)他來(lái)說(shuō)沒(méi)有優(yōu)越的學(xué)歷條件, 那么只好埋頭苦學(xué), 但這正好適應(yīng)當(dāng)前計(jì)算機(jī)軟件迅速發(fā)展的今天, 學(xué)歷只能代表過(guò)去和基礎(chǔ), 更需要的是有能力的人, 解決問(wèn)題的人, 實(shí)干的人.對(duì)我來(lái)說(shuō)確實(shí)有時(shí)有點(diǎn)自卑, 沒(méi)有上過(guò)高中和大學(xué)(由于那個(gè)年代, 我只知道能為父母減少一點(diǎn)負(fù)擔(dān)就行了), 所有我一直在努力的學(xué)習(xí)(corba, uml, java, 軟件過(guò)程等), 目前為止我并沒(méi)有覺(jué)的我的構(gòu)架能力和編碼水平比他們差, 只是覺(jué)得E語(yǔ)言實(shí)在太差.過(guò)計(jì)算機(jī)本科又如何?我有幾個(gè)同學(xué)到銀行去搞業(yè)務(wù)了,有同學(xué)任教,有同學(xué)收稅去了......60多個(gè)人真正現(xiàn)在搞計(jì)算機(jī)的還就只有幾個(gè)人,再看看當(dāng)時(shí)這些計(jì)算機(jī)本科生的畢業(yè)設(shè)計(jì),//faint有的人到最后連vb都搞不定,但他們什么編譯原理啦什么組成原理啦什么軟件工程啦學(xué)的(應(yīng)該是考試的分?jǐn)?shù))真還不錯(cuò),至少我感覺(jué)有些概念比我清楚(上課沒(méi)聽(tīng)?)所以我覺(jué)的中專(zhuān)生并不比一般大學(xué)生差(當(dāng)然有些重點(diǎn)學(xué)校除外//hehe),有時(shí)中專(zhuān)生有更大的壓力逼迫自己去學(xué)習(xí),學(xué)歷不是重要的,關(guān)鍵是一個(gè)人的素質(zhì).我們不能將目標(biāo)定位在做程序員或編碼員(Coder)上光會(huì)寫(xiě)代碼有什么用?那叫“編碼員”,在國(guó)外是屬于體力勞動(dòng)的,不像國(guó)內(nèi),會(huì)寫(xiě)程序的就叫高科技。重要的是分析問(wèn)題、解決問(wèn)題和規(guī)劃的能力,系統(tǒng)分析,系統(tǒng)設(shè)計(jì)及項(xiàng)目規(guī)劃才是正途。這就需要學(xué)習(xí)所謂的基礎(chǔ)課程了,如:軟件工程、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)等等。
從vb到現(xiàn)在開(kāi)始學(xué)vc后,一個(gè)人搗鼓了幾天也沒(méi)有什么新發(fā)現(xiàn)。跟本不知道VC的編程思想是什么,請(qǐng)大蝦們告訴我,它和VB的差別真是太大了。VC的博大在于MFC的操縱,它是Win32API的封裝.思想在于怎樣了解MFC的內(nèi)幕,它的運(yùn)行機(jī)制.差別也大,差別也不大!這要看你對(duì)API的理解了,雖然VC++的可視化沒(méi)有VB的好,但是不是絕對(duì)沒(méi)有的,其對(duì)而且對(duì)話框的編輯是跟VB一樣的,不過(guò)不是像VB那樣放在第一個(gè)界面罷了,VC++的博大精深是VB難以望其項(xiàng)背的?。海┒襐C++是完全面向?qū)ο蟮木幊坦ぞ?,而VB是不夠完全的面向?qū)ο缶幊坦ぞ?,VC++是完全編譯語(yǔ)言,VB是本地編譯語(yǔ)言,不夠完全,VC++效率高,封裝性好,繼承性高,VB效率相對(duì)低了很多,但界面友好,二者只能取其一,或者使用VC++,VB輔助(因?yàn)閂B開(kāi)發(fā)快),當(dāng)然Delphi,BCB也是不錯(cuò)的選擇。
程序員不應(yīng)依賴開(kāi)發(fā)工具,程序員更應(yīng)該擁有的是一種思維、一種精神、一種觀念。就像
Richard.M.Stallman一樣,有自己的精神,為自由軟件而奮斗。就像求伯君,為民族軟件的振興而奮斗。這才是真正的程序員。
應(yīng)該說(shuō),他們更注重的不是技術(shù),而是軟件的思維,軟件的靈魂!我剛學(xué)VC的時(shí)候,還沒(méi)有上網(wǎng).身邊也沒(méi)有一個(gè)可以問(wèn)的朋友,所以大部份都是自己啃的.那種感覺(jué)真是很痛苦.現(xiàn)在在網(wǎng)上就不同了,可以得到太多的資料了,而且還可以得到在線幫助.但這些都不是學(xué)習(xí)的關(guān)鍵.相信各位也知道VC的難度,并不是那么容易上手的,所以要想學(xué)會(huì),學(xué)好VC,靠外力是不可能的.主要得靠自己.自己要有一份難得的毅力,對(duì)編程的狂熱也可以在一定程序上起到幫助.我就是這樣的.起初,沒(méi)有人幫我,我學(xué)習(xí)VC是三天打魚(yú)兩天曬網(wǎng),學(xué)習(xí)進(jìn)度很慢,幸好對(duì)編程的執(zhí)著,使得自己堅(jiān)持下來(lái)了.如果你從來(lái)就沒(méi)有接觸過(guò)編程,那你學(xué)習(xí)VC的速度可能會(huì)比學(xué)過(guò)面向過(guò)程編程的人要慢一些,因?yàn)槟阋ダ斫饷罴罢Z(yǔ)句的含義.但只要你努力,并且可以得到別人的幫助,我相信在半年內(nèi)會(huì)對(duì)VC有一定的認(rèn)識(shí).請(qǐng)學(xué)赤面向過(guò)程編程的朋友也不要笑,因?yàn)槊嫦蜻^(guò)程與面向?qū)ο髮?shí)在是區(qū)別太大了.就拿封裝一詞來(lái)說(shuō)吧.當(dāng)初我是左想右想才想通的.所以不要自己學(xué)過(guò)編程,就會(huì)在學(xué)習(xí)VC的通道上比別人輕松.現(xiàn)在有一種現(xiàn)狀應(yīng)該讓我們注意.我發(fā)現(xiàn)有很大一部份初學(xué)者覺(jué)得VC是一種語(yǔ)言,C++又是另一各語(yǔ)言.我在和一些初學(xué)者的交談當(dāng)中,查覺(jué)到了這一點(diǎn).有的初學(xué)者竟然還認(rèn)為我學(xué)VC為什么就一定要學(xué)C++?我想這個(gè)問(wèn)題是我們大家都沒(méi)有注意到的一個(gè)問(wèn)題.就是向初學(xué)者講述C++對(duì)VC學(xué)習(xí)的重要性.我這有個(gè)例子,跟大家講一下.我有個(gè)同學(xué),他接觸編程比我要早,在我還在為VC中“::”符號(hào)怎么標(biāo)記的時(shí)候,他已經(jīng)在學(xué)習(xí)C了.后來(lái),我對(duì)VC稍有理解的時(shí)候,他也發(fā)覺(jué)C的跟不上時(shí)代的腳步了.我便提議他從C++語(yǔ)言學(xué)起,可他認(rèn)為自己有C的學(xué)習(xí)功底,根本就用不著再去學(xué)習(xí)C++.可在學(xué)習(xí)VC的當(dāng)中,遇到的困難真是數(shù)不勝數(shù).最近,他還是去買(mǎi)了一本學(xué)習(xí)C++的書(shū).從頭再來(lái)學(xué)習(xí)C++.我希望通過(guò)這個(gè)例子,能讓廣大的初學(xué)者知道,C++對(duì)VC學(xué)習(xí)的重要性。
學(xué)習(xí)VC必須有狂熱的編程熱情,否則是很難堅(jiān)持下來(lái)的,我周?chē)陀袔讉€(gè)這樣的人,他們比我先學(xué)VC近半年,但現(xiàn)在仍然學(xué)不會(huì),而我現(xiàn)在雖說(shuō)不是很厲害,但基本的應(yīng)用程序是不在話下,我就是天天看書(shū),上機(jī)實(shí)踐,幾乎所有的時(shí)間都泡在里面,有時(shí)連吃飯都在想,為什么,因?yàn)槲掖_實(shí)想啃下這塊硬骨頭,我不想半途而廢,我覺(jué)得學(xué)習(xí)VC不僅僅是學(xué)到了更多的東西,最主要的是培養(yǎng)了我們自己一種堅(jiān)持克服困難的毅力。
對(duì)于VC,我有幾點(diǎn)經(jīng)驗(yàn):
1。技術(shù)為本,語(yǔ)言為次.2。MFC的單個(gè)類(lèi)有用,DOC/VIEW要小心。
3。OOP要小心,使用不當(dāng)反而造成大量的工作和糟糕的代碼。
4。如果可能,考慮選擇使用Delphi(CBuilder+VCL)。
5。到了一定程度,一定要學(xué)COM。
要學(xué)VC,必須有對(duì)C++深刻的理解,對(duì)WINDOWS運(yùn)行機(jī)制的深刻理解。尤其想成為VC高手。舉例,對(duì)于虛函數(shù),不僅要知道有這么一個(gè)東東,更要知道它的內(nèi)存鏡像。這樣才能對(duì)VC中很多的東西舉一反三,事半功倍。本人學(xué)習(xí)VC近2年,但自覺(jué)第一年由于心情浮躁,把VC的書(shū)翻了一遍又一遍,卻每次都只看了一點(diǎn)就無(wú)法再深入。直到畢業(yè)前夕,痛定思痛,克服浮躁,認(rèn)認(rèn)真真的從最基本的開(kāi)始學(xué),把每一點(diǎn)都搞的水落石出,經(jīng)過(guò)三個(gè)月的刻苦,終于大成。直到現(xiàn)在,半月搞定COM/DCOM,都托當(dāng)日刻苦之福,因此勸告想學(xué)VC的朋友,一定要頂住開(kāi)始的艱難歲月。成功屬于刻苦者。
每個(gè)人都有自己的學(xué)習(xí)方法,也許這種方法對(duì)我來(lái)說(shuō)有用,但不見(jiàn) 得就對(duì)所有的人有用.所以,請(qǐng)不要盲目的跟著別人的學(xué)習(xí)方法學(xué)習(xí),要思考屬于自己的學(xué)習(xí)方法.但我還是會(huì)向大家說(shuō)出我自己認(rèn)為比較好的一種方法.學(xué)習(xí)編程其實(shí)與學(xué)習(xí)其它東西一樣,要想掌握它,就要實(shí)踐,實(shí)踐,再實(shí)踐.當(dāng)你學(xué)到了一種新的技術(shù)或知識(shí)時(shí),多實(shí)踐是鞏固學(xué)習(xí)的一種最好最有效的方法.這個(gè)實(shí)踐不是照著書(shū)上的例子做一遍,而是根據(jù)自己的能力,給自己出題,然后去完成它.只有這樣,你才能發(fā)現(xiàn)自己的不足,同時(shí)又增加了自己的編程經(jīng)驗(yàn).但要成為合格的程序員,光會(huì)寫(xiě)代碼是遠(yuǎn)遠(yuǎn)不夠的,更重要的是思考.謀定而后動(dòng),是 不變的真理.在我的理解,VC只是一個(gè)編程工具,就如BC、BCB、Delphi 一樣,其實(shí)對(duì)于編程最根本的就是三個(gè)方面,語(yǔ)言、開(kāi)發(fā)包、操作系統(tǒng)API,他們?nèi)齻€(gè)方面應(yīng)該說(shuō)是相對(duì)比較獨(dú)立的。
VC是MS開(kāi)發(fā)的,所以針對(duì)的是windows api,你可以不會(huì)C++,也可以在VC下用C寫(xiě)出很優(yōu)秀的程序,當(dāng)然如果你比較熟練C++,并且熟悉開(kāi)發(fā)包MFC的話,工作可能要輕松不少。所以在我看來(lái),學(xué)習(xí)的過(guò)程可以是這樣的:
1、先學(xué)習(xí)C或C++,在windows的console環(huán)境下編寫(xiě)不太深入涉及API的程序;
2、在基本上掌握了語(yǔ)法之后,開(kāi)始接觸簡(jiǎn)單的系統(tǒng)API,學(xué)習(xí)Windows的編程原理和機(jī)制;
3、在可以編寫(xiě)簡(jiǎn)單的菜單程序,可以簡(jiǎn)單地在WM_PAINT下操作 GDI函數(shù)后,開(kāi)始學(xué)習(xí)MFC,可以從Step tourist學(xué)起,看MFC的源代碼,理解幾個(gè)關(guān)鍵的宏的定義與實(shí)現(xiàn),特別是MESSAGE MAP。在學(xué)習(xí)的過(guò)程中為了給自己增加點(diǎn)挑戰(zhàn),盡量不要使用resource edit,試著自己編碼實(shí)現(xiàn)控件的創(chuàng)建,消息的響應(yīng)。再就是看自己的造化了,動(dòng)手做一些小工具,特別是自己平常需要的,對(duì)自己的提高也應(yīng)該是很有幫助。究竟我們要的是結(jié)果!良好的分析問(wèn)題高效清晰地肢解問(wèn)題的能力才是我們真正要不斷學(xué)習(xí)的吧?和學(xué)習(xí)其他知識(shí)一樣,重要的是獲得提出問(wèn)題,分析問(wèn)題,解決問(wèn)題的能力,不是為編程而學(xué)習(xí),你具有什么樣的思想,就會(huì)寫(xiě)出什么樣的程序。學(xué)一門(mén)語(yǔ)言,不能僅僅是語(yǔ)言,要注重語(yǔ)言背后的思想方法,看他是如何來(lái)解決某一問(wèn)題的,為什么要這樣去做,他總是要符合客觀事實(shí)的,就像人說(shuō)的話一樣,存在某種邏輯,數(shù)據(jù)的組織,信息的傳遞,靠你自己的頭腦去建立,然后看C++中有什么可以幫你的,該怎么樣用他來(lái)表達(dá)自己的想法。只要你認(rèn)真實(shí)踐,努力去做,尋求樂(lè)趣,就會(huì)達(dá)到目標(biāo)。我雖然 真正認(rèn)真學(xué)習(xí)編程的時(shí)間不長(zhǎng),但現(xiàn)在我是認(rèn)真的,就有了以上的體會(huì)。
學(xué)習(xí)VC++有相當(dāng)?shù)膬?nèi)容要學(xué),而最后的深度則看個(gè)人的悟性與勤奮了。
1)掌握最新標(biāo)準(zhǔn)的C++。(2個(gè)月)
如果曾經(jīng)在大學(xué)里自以為學(xué)過(guò)C/C++,還對(duì)
dynamic_cast/static_cast/template/try/catch/throw/stl/...感到陌生,那你該Refresh一下新的ANSI C++標(biāo)準(zhǔn)了。----此與VC++無(wú)甚關(guān)聯(lián),g++/bcb均有所支持。
2)學(xué)習(xí)SDK編程;:-O(6個(gè)月)痛苦是暫時(shí)的,必要的,堅(jiān)持就是勝利!建議用Lccwin32/Masm32/Tasm
編寫(xiě)小而精的工具軟件; “Windows Programming Guide.”“Advanced Windows programming ”
3)研究MFC源代碼。(6個(gè)月)
不要被一大堆的宏所蒙蔽,just track and dig into it!在知道MFC如何擴(kuò)展,包裝SDK之后,自可功力漸進(jìn),不被其MFC系統(tǒng)框架所困繞?!癕FC Internals”
4)研究OLE/COM技術(shù)。
COM/ActiveX技術(shù)是MS的核心技術(shù),只有徹底洞察其理論精髓才可以體會(huì)現(xiàn)在的操作系統(tǒng)的技術(shù)趨勢(shì),以不變應(yīng)萬(wàn)變。
“Inside Ole 2”
***幾點(diǎn)建議***:
1)Delphi/BCB/VB可以很快構(gòu)筑界面,但對(duì)于想真正學(xué)習(xí)、理解系統(tǒng)不是一個(gè)好的平臺(tái),但如果有時(shí)間讀一讀VCL的源碼,看看Borland是如何封裝系統(tǒng)的,也可借鑒不少。
2)學(xué)習(xí)ASM對(duì)理解C++有很大益處。Soft-ICE也是和VC++結(jié)合在一起的好工具;
3)語(yǔ)言本身是皮毛,算法是筋骨;無(wú)論高級(jí)語(yǔ)言如何發(fā)展,在理解操作系統(tǒng)的基礎(chǔ)上不斷自我創(chuàng)新的能力是源源不斷的;如果精髓一旦了然于胸,選擇何種開(kāi)發(fā)工具都可以駕御,一見(jiàn)如故了。
每個(gè)人學(xué)習(xí)的過(guò)程都會(huì)不同吧,我在98從TC轉(zhuǎn)向VC時(shí),對(duì)Windows的消息機(jī)制一點(diǎn)概念也沒(méi)有,對(duì)著個(gè)MFC不知所措,幾個(gè)月下來(lái)一點(diǎn)進(jìn)展也沒(méi)有。我于是暫時(shí)轉(zhuǎn)向win32位編程。整整一年時(shí)間吧,我就是與API打交道,連編輯菜單條對(duì)話框等資源文件時(shí)也用Uedit32手工編寫(xiě),為的是希望能對(duì)編譯器的全過(guò)程有個(gè)感性的了解。之后我再轉(zhuǎn)向MFC時(shí),果然發(fā)現(xiàn)兩者是相通的,雖然有一定的區(qū)加,不過(guò)有了win32位編程的基礎(chǔ)再看MFC 時(shí)會(huì)發(fā)現(xiàn)它比win32位編程要方便了太多?,F(xiàn)在市面上的VC書(shū)很多,不過(guò)大多是入門(mén)書(shū)。我以為要精通VC(只是以為,本人自已距精通還遠(yuǎn)的很)應(yīng)該多看多寫(xiě)程序,看書(shū)只能是入門(mén),會(huì)用了而已。我不贊成濫用ActiveX,一來(lái)我以為它的性能很成問(wèn)題,真是又大又慢又不穩(wěn)定(可能是我有點(diǎn)偏激了吧),二來(lái)用了它您的程序今后就要被別人牽著鼻子走了。有次我用了個(gè)控件,程序都寫(xiě)了大半了,它給我來(lái)個(gè)繼續(xù)使用請(qǐng)支付333美元,我兩個(gè)多月的工錢(qián),煩不煩人?現(xiàn)在我盡可能用別人寫(xiě)的類(lèi)源代碼(我已收集各類(lèi)代碼3-400MB了),一樣用起來(lái)方便,還能邊用邊學(xué),必要時(shí)還能自已改造。
我以為在現(xiàn)代的網(wǎng)絡(luò)時(shí)代,資料到處都有,無(wú)論什么先進(jìn)的技術(shù),今天我不會(huì)我只要查到資料,快的學(xué)上幾天慢的一兩個(gè)月我也能學(xué)會(huì),現(xiàn)在已沒(méi)有寫(xiě)不出的程序了,寫(xiě)不出是因?yàn)槟銢](méi)有耐心寫(xiě)完它。我以為現(xiàn)在的程序員不一定要多么聰明,而更需要他有完成枯燥項(xiàng)目的耐心,找BUG的細(xì)心,對(duì)于金錢(qián)的平常心(不要為了早日拿到錢(qián)而趕進(jìn)度),最后最重要是有顧全大局,團(tuán)隊(duì)協(xié)作的精神。最后,王靖朋友的經(jīng)歷與我實(shí)在是有點(diǎn)相似,算是同病相伶吧,真心祝您早日實(shí)現(xiàn)自已的人生目標(biāo)!學(xué)習(xí)VC是一項(xiàng)費(fèi)時(shí)費(fèi)力的艱苦學(xué)習(xí)過(guò)程。為了真正用好VC,你 不得不先從OOP開(kāi)始學(xué)起,也許瀏覽一本純理論的書(shū)要更有意思。你將從另外的角度考察OO思想。接下來(lái)學(xué)習(xí)C++,學(xué)習(xí)WindowsAPI 學(xué)習(xí)MFC,剖析MFC,擴(kuò)充MFC,創(chuàng)造自己的類(lèi)庫(kù)(不要企圖寫(xiě)一個(gè) 和MFC同重量級(jí)的類(lèi)庫(kù))。如果能夠精通Microsoft C編譯器的各種 參數(shù),你就可以開(kāi)始研究微軟C/C++語(yǔ)言編譯器的進(jìn)化歷史(結(jié)合 各種背景知識(shí))。掌握了編程的思想,征服VC只是時(shí)間問(wèn)題。
學(xué)習(xí)VC是接受微軟技術(shù)體系的過(guò)程。所需要學(xué)習(xí)的不僅僅是C++,MFC。需要學(xué)習(xí)所有微軟的技術(shù),包括Windows編程,Win32系統(tǒng)(實(shí)際上 Win32系統(tǒng)實(shí)現(xiàn)了很多我們?cè)谄聊簧夏芸吹降臇|西,最起碼NT的內(nèi)核 并不大),COM(深入研究它,理解對(duì)象是如何跨越進(jìn)程邊界的,最終 能夠自如地在Exe中實(shí)現(xiàn)自己定義的接口才算到家了。不過(guò)這多少有些 不太必要。),DCOM,ctiveX,Windows DNA...如果你想成為
大拿,學(xué)吧,沒(méi)完沒(méi)了。最起碼,使用VC,你甚至于可以開(kāi)發(fā)自己的操作系統(tǒng)(當(dāng)然與MFC沒(méi)有一點(diǎn)關(guān)系)。