久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《程序員修煉之道》讀后感(5篇)

時(shí)間:2021-03-01 14:00:18下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《《程序員修煉之道》讀后感》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《《程序員修煉之道》讀后感》。

第一篇:《程序員修煉之道》讀后感

《程序員修煉之道》讀后感

編程技術(shù)就是程序員的手藝,你的程序就是你的藝術(shù)品。時(shí)刻關(guān)注自己的技藝,保持熱情、保持好奇,爭(zhēng)取做到富有專長(zhǎng)而又多才多藝。

看似樸素的道理,實(shí)際是若干經(jīng)驗(yàn)的總結(jié),就像這本書的自序所講的,這是一本包含有許多樸素的經(jīng)驗(yàn),寫給注重實(shí)效的程序員的一本“演員的自我修養(yǎng)”。

簡(jiǎn)單和朋友們分享幾點(diǎn):

怎樣提出你的問題

1:確切地知道你想要問什么,并盡量明確具體;

2:小心而得體地組織你的問題,記住你是在請(qǐng)求幫助;

3:發(fā)郵件時(shí)請(qǐng)使用有意義的主題;

4:坐回椅子上,耐心等候

破窗

團(tuán)隊(duì)不能容忍破窗(產(chǎn)品的不完善的地方),需要指定人修復(fù),不能一直放著不管。當(dāng)你看到糟糕的設(shè)計(jì)、錯(cuò)誤的決策和糟糕的代碼時(shí),修正它們。在工作中,很容易對(duì)源源不斷的bug不耐煩,或許被自己說服僥幸繞過,以后就會(huì)有更多的直至難以修復(fù)。破窗戶講的故事是一個(gè)小區(qū)的一扇窗戶沒有及時(shí)維修導(dǎo)致整個(gè)小區(qū)陷入被更多破壞的現(xiàn)實(shí),人們?cè)傧肫鹁S修時(shí),代價(jià)巨大,治安特別好的地區(qū)也對(duì)破窗嚴(yán)格治理。

不要恐慌

做一次深呼吸,思考什么可能是bug的原因。記得剛?cè)雸F(tuán)隊(duì)時(shí),我時(shí)常會(huì)對(duì)難以捉摸,尤其是不能復(fù)現(xiàn)的bug感到恐懼,但細(xì)細(xì)尋找,你還是能看到蛛絲馬跡。

溫水煮青蛙

個(gè)人和團(tuán)隊(duì)假如一直在一個(gè)假設(shè)的環(huán)境或者需求或者條件下繼續(xù)下去,就很可能像那只可憐的青蛙一樣,或者定時(shí)的檢測(cè)下環(huán)境或條件或需求是否變化,或者團(tuán)隊(duì)里面專門有人來檢測(cè)

重復(fù)的危害

不要在系統(tǒng)各處對(duì)知識(shí)進(jìn)行重復(fù)。作為程序員,我們收集、組織、維護(hù)和利用知識(shí)。我們?cè)谝?guī)范中記載知識(shí)、在運(yùn)行的代碼中使其活躍起來并將其用于提供測(cè)試過程中所需的檢查。遺憾的是,知識(shí)并不穩(wěn)定。所有這些不穩(wěn)定都意味著我們要把很大一部分時(shí)間花在維護(hù)上,重新組織和表達(dá)我們的系統(tǒng)中的知識(shí)。程序員須持續(xù)不斷地維護(hù)。我們的理解逐日變化,當(dāng)我們?cè)O(shè)計(jì)或編碼時(shí),出現(xiàn)了新的需求。環(huán)境或許變了。不管原因是什么,維護(hù)都不是時(shí)有時(shí)無的活動(dòng),而是整個(gè)開發(fā)過程中的例行事務(wù)??煽康亻_發(fā)軟件、并讓我們的開發(fā)更易于理解和維護(hù)的惟一途徑,是遵循我們稱之為DRY的原則:系統(tǒng)中的每一項(xiàng)知識(shí)都必須具有單一、無歧義、權(quán)威的表示。

正交性

不要把任何一項(xiàng)知識(shí)分散在多個(gè)系統(tǒng)組件中。在計(jì)算技術(shù)中,該術(shù)語用于表示某種不相依賴性或是解耦性。如果兩個(gè)或更多事物中的一個(gè)發(fā)生變化,不會(huì)影響其他事物,這些事物就是正交的。非正交的例子:直升機(jī)駕駛操作的各個(gè)控制器之間就是相互影響的,不是正交的。

正交的好處就是為了可以局部修正(local fix)。

何時(shí)使用異常

將異常用于異常的問題。例如:文件讀寫,例程返回值,各種狀態(tài)異常檢測(cè),服務(wù)器超時(shí)等異常情況,都需要使用異常,通常為異常分等級(jí),可以拋出異常,或者將異常寫入日志。

交流

我們不是活在真空世界,需要花大量時(shí)間與人交流。只有當(dāng)你是在傳達(dá)信息時(shí),你才是在交流。

有效交流的幾種方法:知道你想要說什么,了解你的聽眾,選擇時(shí)機(jī),選擇風(fēng)格,讓文檔美觀,讓聽眾參與,做傾聽者,回復(fù)他人。

定期為你的知識(shí)資產(chǎn)投資

讓學(xué)習(xí)成為習(xí)慣。編程語言、技術(shù)日新月異,小伙伴們都感受至深,幸運(yùn)的是我們的知識(shí)獲得比任何行業(yè)都更加容易和方便,大量的社區(qū),教程和熱心的作者。書中也給程序員提了幾點(diǎn)建議,每年學(xué)習(xí)一門新的語言,每個(gè)季度閱讀一本技術(shù)書籍等。

讓復(fù)用變得容易

如果復(fù)用很容易,人們就會(huì)去復(fù)用。創(chuàng)造一個(gè)支持復(fù)用的環(huán)境。將相同的功能抽離出來,可能會(huì)大量用到的方法使用靜態(tài)關(guān)鍵字。

在你的作品上簽名

過去時(shí)代的會(huì)陷入自我欣賞中,他其實(shí)還有一個(gè)作用,我對(duì)代碼負(fù)責(zé),我測(cè)試過并確保他的良手藝人為能在他們的作品上簽名而自豪。你也應(yīng)該如此。坦白的說,簽名之后再看這段代碼會(huì)非常愉悅,有時(shí)還好運(yùn)行,也是一種自我監(jiān)督吧。

“我的源碼讓貓吃了”,想想作為程序員的我們,是不是經(jīng)常會(huì)幫自己解脫,向領(lǐng)導(dǎo),測(cè)試,客戶推卸責(zé)任,其實(shí)對(duì)于他們仿佛也就好比聽“我的源碼讓貓吃了”這句話,是不是很諷刺?不管我們某個(gè)人基礎(chǔ)再扎實(shí),解決問題的能力再?gòu)?qiáng),如果缺失了對(duì)自己的軟件的責(zé)任,一定不會(huì)有好的工作成果。

很多很多,這些不是做過一次兩次就說明已經(jīng)掌握了,需要一個(gè)持續(xù)的過程去注意,實(shí)踐,直到他們成為你的習(xí)慣,這樣,你才能成為一個(gè)“專家程序員”。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。

第二篇:Java程序員修煉之道

從2002開始接觸Java學(xué)會(huì)HelloWorld這么經(jīng)典的程序到如今不知不覺已經(jīng)十年啦,十年中

親耳聽到過不少大牛的演講,見到過項(xiàng)目中的神人在鍵盤上運(yùn)指如飛的編程速度,當(dāng)時(shí)就

被震撼了。當(dāng)編程越來越成體力活,我們還能有自己的思想,還能修煉為Java系統(tǒng)級(jí)別的

程序員嘛?學(xué)習(xí)與修煉以下知識(shí)與技能,幫你早日達(dá)成愿望。

一:Java語言學(xué)習(xí)

對(duì)線程(thread),串行化,反射,網(wǎng)絡(luò)編程,JNI技術(shù),容器(Map,List, Iterator), 類加載器

(ClassLoader),輸入輸出流,垃圾回收機(jī)制,有比較深入的了解,最起碼做過項(xiàng)目應(yīng)用。有

過Java項(xiàng)目的性能優(yōu)化經(jīng)驗(yàn),最起碼掌握一種性能監(jiān)視工具的使用,熟悉JVM參數(shù),最起

碼知道可以在JVM啟動(dòng)時(shí)指定不同垃圾回收機(jī)制,以及不同垃圾回收機(jī)制之間的

差別,熟悉JVM參數(shù)優(yōu)化。

二:J2EE方面

最好知道JDBC規(guī)范是怎么回事情,面對(duì)Oracle數(shù)據(jù)庫(kù)如果告訴你JDBC驅(qū)動(dòng)不能用了,你

還知道有OCI驅(qū)動(dòng)可以。掌握常見的SQL語句,熟悉JMS,JNDI等組件,掌握一套web開

發(fā)模式,從前臺(tái)到后臺(tái),有能力整合好這樣的框架。理解并掌握MVC思想,像SSH已經(jīng)實(shí)

現(xiàn)了MVC的分層,幾乎不需要你自己再實(shí)現(xiàn),假設(shè)你開發(fā)一個(gè)簡(jiǎn)單的Swing程序,你能MVC

就說明你真的掌握了MVC的精髓。有能力在J2EE前端開發(fā)中構(gòu)建自己的MVC模式,知道

什么是WEB2.0,知道什么是SOA,SaaS,SaaP等含義

三:理解并能合理運(yùn)用設(shè)計(jì)模式,UML建模

知道并理解設(shè)計(jì)模式中蘊(yùn)含的幾種基本原則如:里氏替換原則,開閉原則,合成復(fù)用原則,依賴倒置原則有很好的理解,并能舉例說明。對(duì)常用的設(shè)計(jì)模式如工廠模式,單例模式,觀

察者模式,責(zé)任鏈模式,橋接模式等知道靈活運(yùn)用,明白什么是回調(diào)(Callback)。最后用一位

高人話來總結(jié)設(shè)計(jì)模式,它是為了讓軟件更容易被別人讀懂,更容易維護(hù)而產(chǎn)生,設(shè)計(jì)模

式本質(zhì)是程序員之間的交流,如果A用工廠模式設(shè)計(jì)一個(gè)模塊B來接替,A只要說該模塊是

工廠模式實(shí)現(xiàn),B維護(hù)起來應(yīng)該容易得多,所以設(shè)計(jì)模式是關(guān)于交流,不關(guān)于代碼。切忌濫

用設(shè)計(jì)模式。學(xué)會(huì)使用UML建模工具至少熟悉一種URL建模工具。

四:注重用戶體驗(yàn),掌握KISS原則,知道歐卡姆剃刀原則

顧客就是上帝這個(gè)口號(hào)我們已經(jīng)喊了N年了,程序員的勞動(dòng)成果最終也需要轉(zhuǎn)換為服務(wù)提

供給客戶,用戶體驗(yàn)至關(guān)重要,常??吹降膱?chǎng)景是功能實(shí)現(xiàn)了,軟件很難使用,程序員有個(gè)

很充足的理由我不是美工,其實(shí)注重用戶體驗(yàn)跟美工八桿子也打不到一起,F(xiàn)oxMail的成功

在很大程度是用戶體驗(yàn)的成功,友好,清晰的用戶提示,強(qiáng)的容錯(cuò)與糾錯(cuò)設(shè)計(jì)是獲得好的

用戶體驗(yàn)的不二法門。傻瓜相機(jī)顧名思義傻子都會(huì)使用,這個(gè)就著名的KISS原則(Keep it

simple and stupid)意思是UI設(shè)計(jì)要簡(jiǎn)單明了,傻子一看就知道怎么用,想想我們做出來的

東西,對(duì)照說明書都不知道怎么用。另外一個(gè)就是最著名的例子IPhone手機(jī)外觀設(shè)計(jì),是 典型的歐卡姆剃刀設(shè)計(jì)原則來完成人機(jī)交互。

五:自動(dòng)測(cè)試與軟件配置管理(SCM)實(shí)現(xiàn)

知道什么是軟件配置管理,知道Hudson微機(jī)原理鬧危機(jī),匯編語言不會(huì)變,實(shí)變函數(shù)學(xué)

十遍。計(jì)算機(jī)基礎(chǔ)知識(shí)被大家普遍忽視。從今天開始好好學(xué)習(xí)吧……

十一:Java代碼反編譯與代碼保護(hù)

Java編譯產(chǎn)生字節(jié)碼,因而可以被輕松的逆向工程(反編譯),微軟的C#生產(chǎn)的DLL也一樣可

以被輕松反編譯。正式由于這個(gè)原因產(chǎn)生了許多Java開源的代碼保護(hù)工具,而Proguard是

其中佼佼者,已經(jīng)被google集成在android之中用于Java代碼保護(hù),訪問這里了解更多:

http://proguard.sourceforge.net/

十二:努力成為某個(gè)行業(yè)或者領(lǐng)域骨干

面對(duì)漫長(zhǎng)的職業(yè)生涯,要想不被淘汰,必須具備一招鮮吃遍天下的能力,選擇自己感興趣的

方向,努力而深入的研究,計(jì)算機(jī)技術(shù)發(fā)展到今天已經(jīng)細(xì)分很細(xì),努力研究一種Java開源

框架或者開源HTTP服務(wù)器源碼或者研究過網(wǎng)絡(luò)爬蟲源碼或者WEBKIT內(nèi)核,不愁沒有人要

你。如果你是非常了解金融,企業(yè)ERP,證券,保險(xiǎn),移動(dòng)應(yīng)用行業(yè)的應(yīng)用開發(fā)業(yè)務(wù)的人,一樣不用愁工作。這些知識(shí)不隨語言而改變,努力做一個(gè)有核心競(jìng)爭(zhēng)力的Java程序員。

十三:提高語言與書面表達(dá)能力,掌握基礎(chǔ)的項(xiàng)目管理知識(shí)

文檔與語言表達(dá)能力是最好的向外界展現(xiàn)自己能力的方式,很多程序員編程能力很高,表達(dá)

能力一般,Linux能夠成功,除了歸功于網(wǎng)絡(luò)社區(qū)的力量之外,也得益于Linux作者本人給各

大基金會(huì)寫信,宣傳推廣,試想如果沒有良好的書面語言表達(dá)能力,即使Linux系統(tǒng)再優(yōu)秀,卻無法被準(zhǔn)確表達(dá),失去各大基金會(huì)的支持,Linux還會(huì)像今天這么好的局面嘛。所以重視

文檔,重視提升溝通與表達(dá)能力,才有可能成為Java系統(tǒng)程序員。掌握基本的2/8原則,學(xué)

會(huì)將模塊細(xì)化分配給不同的人,預(yù)見并控制項(xiàng)目風(fēng)險(xiǎn),把握項(xiàng)目進(jìn)度,優(yōu)化流程,合理的時(shí)

間管理,了解TDD,熟悉敏捷開發(fā)模式,常規(guī)軟件開發(fā)模式。

十四:掌握英語,良好的讀寫能力

英語是計(jì)算機(jī)的母語,掌握好英語對(duì)于閱讀英文資料學(xué)習(xí)新技術(shù)大有幫助,我的建議是盡量

讀英文原版書,如果是算法方面的可能會(huì)困難一點(diǎn),但是其它像設(shè)計(jì)模式,軟件工程,OO

編程思想等盡量讀原版,提高自己的英文水平,多多訪問開發(fā)者,code project,程序員天堂,Pc-magazine等英文IT網(wǎng)站。英語絕對(duì)是你必須修煉與提高的技能。此外英語好在外資企業(yè)

尤其重要,只有外語足夠好才可能在外資企業(yè)中突破職業(yè)瓶頸,向上發(fā)展。

第三篇:Java系統(tǒng)程序員修煉之道

Java系統(tǒng)程序員修煉之道

——?jiǎng)恿?jié)點(diǎn)java 一:Java語言學(xué)習(xí)

對(duì)線程(thread),串行化,反射,網(wǎng)絡(luò)編程,JNI技術(shù),容器(Map,List, Iterator), 類加載器(ClassLoader),輸入輸出流,垃圾回收機(jī)制,有比較深入的了解,最起碼做過項(xiàng)目應(yīng)用。有過Java項(xiàng)目的性能優(yōu)化經(jīng)驗(yàn),最起碼掌握一種性能監(jiān)視工具的使用,熟悉JVM參數(shù),最起碼知道可以在JVM啟動(dòng)時(shí)指定不同垃圾回收機(jī)制,以及不同垃圾回收機(jī)制之間的差別,熟悉JVM參數(shù)優(yōu)化。二:J2EE方面

最好知道JDBC規(guī)范是怎么回事情,面對(duì)Oracle數(shù)據(jù)庫(kù)如果告訴你JDBC驅(qū)動(dòng)不能用了,你還知道有OCI驅(qū)動(dòng)可以。掌握常見的SQL語句,熟悉JMS,JNDI等組件,掌握一套web開發(fā)模式,從前臺(tái)到后臺(tái),有能力整合好這樣的框架。理解并掌握MVC思想,像SSH已經(jīng)實(shí)現(xiàn)了MVC的分層,幾乎不需要你自己再實(shí)現(xiàn),假設(shè)你開發(fā)一個(gè)簡(jiǎn)單的Swing程序,你能MVC就說明你真的掌握了MVC的精髓。有能力在J2EE前端開發(fā)中構(gòu)建自己的MVC模式,知道什么是WEB2.0,知道什么是SOA,SaaS,SaaP等含義 三:理解并能合理運(yùn)用設(shè)計(jì)模式,UML建模

知道并理解設(shè)計(jì)模式中蘊(yùn)含的幾種基本原則如:里氏替換原則,開閉原則,合成復(fù)用原則,依賴倒置原則有很好的理解,并能舉例說明。對(duì)常用的設(shè)計(jì)模式如工廠模式,單例模式,觀察者模式,責(zé)任鏈模式,橋接模式等知道靈活運(yùn)用,明白什么是回調(diào)(Callback)。最后用一位高人話來總結(jié)設(shè)計(jì)模式,它是為了讓軟件更容易被別人讀懂,更容易維護(hù)而產(chǎn)生,設(shè)計(jì)模式本質(zhì)是程序員之間的交流,如果A用工廠模式設(shè)計(jì)一個(gè)模塊B來接替,A只要說該模塊是工廠模式實(shí)現(xiàn),B維護(hù)起來應(yīng)該容易得多,所以設(shè)計(jì)模式是關(guān)于交流,不關(guān)于代碼。切忌濫用設(shè)計(jì)模式。學(xué)會(huì)使用UML建模工具至少熟悉一種URL建模工具。四:注重用戶體驗(yàn),掌握KISS原則,知道歐卡姆剃刀原則

顧客就是上帝這個(gè)口號(hào)我們已經(jīng)喊了N年了,程序員的勞動(dòng)成果最終也需要轉(zhuǎn)換為服務(wù)提供給客戶,用戶體驗(yàn)至關(guān)重要,常常看到的場(chǎng)景是功能實(shí)現(xiàn)了,軟件很難使用,程序員有個(gè)很充足的理由我不是美工,其實(shí)注重用戶體驗(yàn)跟美工八桿子也打不到一起,F(xiàn)oxMail的成功在很大程度是用戶體驗(yàn)的成功,友好,清晰的用戶提示,強(qiáng)的容錯(cuò)與糾錯(cuò)設(shè)計(jì)是獲得好的用戶體驗(yàn)的不二法門。傻瓜相機(jī)顧名思義傻子都會(huì)使用,這個(gè)就著名的KISS原則(Keep itsimple and stupid)意思是UI設(shè)計(jì)要簡(jiǎn)單明了,傻子一看就知道怎么用,想想我們做出來的東西,對(duì)照說明書都不知道怎么用。另外一個(gè)就是最著名的例子IPhone手機(jī)外觀設(shè)計(jì),是典型的歐卡姆剃刀設(shè)計(jì)原則來完成人機(jī)交互。五:自動(dòng)測(cè)試與軟件配置管理(SCM)實(shí)現(xiàn)

知道什么是軟件配置管理,知道Hudson運(yùn)用該工具SCM,知道怎么獲取測(cè)試代碼覆蓋率,Java有效代碼行數(shù)(NCSS),完成firebug,JDepend等工具集成ant/maven。熟悉并注重在開發(fā)過程中使用JUnit單元測(cè)試,理解白盒測(cè)試規(guī)范。六:熟悉常見的網(wǎng)絡(luò)通信協(xié)議

對(duì)HTTP協(xié)議,知道POST, GET的區(qū)別是什么,閱讀過HTTP相關(guān)的RFC文檔。學(xué)會(huì)使用sniffer工具查看數(shù)據(jù)包,幫助查找與調(diào)試程序,知道TCP與UDP的區(qū)別,知道并理解E-Mail發(fā)送與接受的協(xié)議如SMTP,POP3,IMAP等協(xié)議,了解MIME與Base64編碼。知道組播是怎么回事情。

七:面向市場(chǎng),永遠(yuǎn)對(duì)新技術(shù)保持渴望

計(jì)算機(jī)技術(shù)的發(fā)展日新月異,做為IT行業(yè)的軟件開發(fā)人員要不斷的給自己充電,更新自己的技術(shù)與時(shí)代保持同步,同時(shí)還要面向市場(chǎng),華為總裁任正非說過-“華為的技術(shù)革新必須面向市場(chǎng)”,作為程序員同樣要有市場(chǎng)意識(shí),很多人都后悔沒有在android剛出來的時(shí)候加以關(guān)注學(xué)習(xí)。那些很早關(guān)注android開發(fā)技術(shù)的很多程序員因此獲得豐厚回報(bào)。如今HTML5得到越來越多的瀏覽器廠家支持,你是否已經(jīng)跟上腳步,開始學(xué)習(xí)。八:保持謙虛,三人行必有我?guī)?/p>

喬幫主說他要保持初心,努力學(xué)習(xí),我等更應(yīng)該保持謙虛,IT技術(shù)發(fā)展日新月異,在你眼中不可能實(shí)現(xiàn)的技術(shù),也許別人早已經(jīng)有思路。保持謙虛就有機(jī)會(huì)吸取別人身上的長(zhǎng)處,古人有云:滿招損,謙受益。一個(gè)得道的高人更是說出了”下下人,上上智”的禪語。永遠(yuǎn)不要拒絕幫助你周圍的人解決難題,解決難題是進(jìn)步最快途徑。不要放棄任何一次可以提升自己技術(shù)與能力的機(jī)會(huì)。

九:養(yǎng)成總結(jié)的習(xí)慣,不斷反思

上學(xué)的時(shí)候老師常讓寫小結(jié),也沒總結(jié)出來所以然,以至于工作以后再也不提這檔子事情,建議每個(gè)項(xiàng)目做完以后對(duì)自己都有個(gè)小結(jié),總結(jié)自己在項(xiàng)目里面學(xué)到了什么,反問自己能不能完成在不需要?jiǎng)e人幫助的情況下自己完成這樣的系統(tǒng)搭建,是否熟悉與掌握項(xiàng)目中所用到的技術(shù),即使有些東西不是你負(fù)責(zé)完成的但是什么也不能阻擋一顆求知的心,總結(jié)要盡量詳細(xì)記錄你遇到那些難題是怎么一個(gè)一個(gè)的解決的,下次再遇到你是否可以很快解決或者避免這樣的問題。有總結(jié)才有提高,孔子曰:學(xué)而不思則罔,如果我們只是coding到吐血,不思考,不總結(jié)提高,永遠(yuǎn)不可能有能有本質(zhì)提高,秦相李斯有云:“泰山不讓土壤,故能成其大,河海不擇細(xì)流,故能就其深”,點(diǎn)滴積累不斷總結(jié)方能量變導(dǎo)致質(zhì)變。十:數(shù)學(xué)功底與算法知識(shí) 用任何編程語言開發(fā)應(yīng)用,都離不開核心算法支持,很多國(guó)外的軟件單單從UI上看,恐怕寫幾年程序的人都可以模仿,但是UI之下的那些真實(shí)深淺不一,相信不是你想模仿就可以模仿的,為什么我們?cè)絹碓缴秸驗(yàn)槲覀儧]有核心競(jìng)爭(zhēng)力,對(duì)于程序員來說算法與數(shù)學(xué)顯然是他最重要的核心競(jìng)爭(zhēng)力之一。《算法導(dǎo)論》,《編程珠璣》等書絕對(duì)值得讀十遍。微軟亞洲研究院視覺計(jì)算組負(fù)責(zé)人在一次演講中說到他們招人的標(biāo)準(zhǔn)是“三好學(xué)生– 數(shù)學(xué)好,編程好,態(tài)度好”??墒乾F(xiàn)實(shí)的普遍情況卻是-微機(jī)原理鬧危機(jī),匯編語言不會(huì)變,實(shí)變函數(shù)學(xué)十遍。計(jì)算機(jī)基礎(chǔ)知識(shí)被大家普遍忽視。從今天開始好好學(xué)習(xí)吧…… 十一:Java代碼反編譯與代碼保護(hù)

Java編譯產(chǎn)生字節(jié)碼,因而可以被輕松的逆向工程(反編譯),微軟的C#生產(chǎn)的DLL也一樣可以被輕松反編譯。正式由于這個(gè)原因產(chǎn)生了許多Java開源的代碼保護(hù)工具,而Proguar是其中佼佼者,已經(jīng)被google集成在android之中用于Java代碼保護(hù) 十二:努力成為某個(gè)行業(yè)或者領(lǐng)域骨干

面對(duì)漫長(zhǎng)的職業(yè)生涯,要想不被淘汰,必須具備一招鮮吃遍天下的能力,選擇自己感興趣的方向,努力而深入的研究,計(jì)算機(jī)技術(shù)發(fā)展到今天已經(jīng)細(xì)分很細(xì),努力研究一種Java開源框架或者開源HTTP服務(wù)器源碼或者研究過網(wǎng)絡(luò)爬蟲源碼或者WEBKIT內(nèi)核,不愁沒有人要你。如果你是非常了解金融,企業(yè)ERP,證券,保險(xiǎn),移動(dòng)應(yīng)用行業(yè)的應(yīng)用開發(fā)業(yè)務(wù)的人,一樣不用愁工作。這些知識(shí)不隨語言而改變,努力做一個(gè)有核心競(jìng)爭(zhēng)力的Java程序員。十三:提高語言與書面表達(dá)能力,掌握基礎(chǔ)的項(xiàng)目管理知識(shí)

文檔與語言表達(dá)能力是最好的向外界展現(xiàn)自己能力的方式,很多程序員編程能力很高,表達(dá)能力一般,Linux能夠成功,除了歸功于網(wǎng)絡(luò)社區(qū)的力量之外,也得益于Linux作者本人給各大基金會(huì)寫信,宣傳推廣,試想如果沒有良好的書面語言表達(dá)能力,即使Linux系統(tǒng)再優(yōu)秀,卻無法被準(zhǔn)確表達(dá),失去各大基金會(huì)的支持,Linux還會(huì)像今天這么好的局面嘛。所以重視文檔,重視提升溝通與表達(dá)能力,才有可能成為Java系統(tǒng)程序員。掌握基本的2/8原則,學(xué)會(huì)將模塊細(xì)化分配給不同的人,預(yù)見并控制項(xiàng)目風(fēng)險(xiǎn),把握項(xiàng)目進(jìn)度,優(yōu)化流程,合理的時(shí)間管理,了解TDD,熟悉敏捷開發(fā)模式,常規(guī)軟件開發(fā)模式。

第四篇:《優(yōu)秀教師的修煉之道》讀后感

做一名有愛的教師

《優(yōu)秀教師的修煉之道》讀后感

楊士偉

教師,是用智慧啟迪智慧,用情感激發(fā)情感,以靈魂喚醒靈魂的工作。培育有德之人,需要有德之師。讀書可以凈化心靈,掃去靈魂上的灰塵,給心靈注入新鮮的活力。只有崇尚知識(shí)的教師,才是堪當(dāng)時(shí)代重任的教師。教師的職責(zé)是“教書育人”,決定了教師應(yīng)該是個(gè)讀書人。

因工作環(huán)境改變,尋求工作有所改變,求助與—書。翻閱從圖書室里借來的《優(yōu)秀教師的修煉之道》,心里不斷揣摩:什么樣的教師才是優(yōu)秀的教師呢?是那些被各級(jí)部門表彰的先進(jìn)教師?還是那些教育教學(xué)能力強(qiáng),教育教學(xué)質(zhì)量高,教育科研成果多的骨干教師、學(xué)科帶頭人?還是特級(jí)教師呢?讀了蔣宗堯老師的《優(yōu)秀教師的修煉之道》后,我明白了什么樣的教師成為一名優(yōu)秀教師的必經(jīng)之路.!書中有這樣一句話:“如果你認(rèn)為教師講、學(xué)生聽是天經(jīng)地義的,那么你就很難放手讓學(xué)生自主學(xué)習(xí),如果你認(rèn)為做課題研究和寫教學(xué)論文是教研人員的事,與教師無關(guān),那么你就只會(huì)停留在備課、上課等,不會(huì)有意識(shí)的去發(fā)現(xiàn)教學(xué)過程中的問題,就不會(huì)去分析、研究、解決它?!边@段文字告訴我,教育觀念是教師立教的根本,教師的教育觀念正確與否、先進(jìn)或落后、消極或積極都會(huì)影響教育實(shí)踐。那么怎樣才是正確的教育觀念呢?書中所闡述的課堂觀和學(xué)生觀是值得我借鑒的,他說課堂是學(xué)生的,還給他們吧,學(xué)生是需要相信和尊重的。其實(shí)不管是小學(xué)生中學(xué)生還是幼兒,這樣的教育觀念都是非常重

要的,把課堂還給孩子,讓他們?cè)谡n堂中自主的探索,研究,學(xué)習(xí),和同伴分享,合作,交流,而教師作為支持者、引導(dǎo)者,只要多一點(diǎn)微笑、多一點(diǎn)表?yè)P(yáng)、多一點(diǎn)鼓勵(lì),這樣課堂將是孩子體驗(yàn)成功的搖籃。而相信孩子、尊重孩子,是我們每一個(gè)教師都應(yīng)具有的兒童觀,和孩子做朋友,才能有“親其師信其道”的效果。

我們要努力去做一名有愛的教師。學(xué)生是人,是一個(gè)多樣化的人,他們的生活、學(xué)習(xí)、情感是多樣的,這就要求教師用真心去發(fā)現(xiàn)學(xué)生的需求,用愛心去化解學(xué)生的矛盾與痛苦,讓他們體會(huì)在自己最需要的時(shí)候去愛他們。拾起學(xué)生掉在地上的橡皮,耐心回答學(xué)生的提問,常與學(xué)生個(gè)別談心,甚至只是走道里的一聲問候,這些都是能讓學(xué)生摸得著的關(guān)注,會(huì)化為無窮的動(dòng)力。一個(gè)有愛心的教師,就要以學(xué)生為本,關(guān)注每個(gè)學(xué)生,關(guān)注每個(gè)學(xué)生的發(fā)展。一個(gè)真誠(chéng)的教育者同時(shí)必定又是一位真誠(chéng)的人道主義者。一個(gè)受孩子衷心愛戴的老師,一定是一位最富有人情味的人,離開了情感,一切教育都無從談起。

要做一名有愛的教師應(yīng)該做到以下兩點(diǎn):

一要用知識(shí)照亮學(xué)生。教師的責(zé)任是“傳道、授業(yè)、解惑”。淵博的知識(shí)是一個(gè)教師所必須具備的,正如“要想給學(xué)生一碗水,自己要先有一桶水?!蔽覀兝蠋熞哂休^強(qiáng)的知識(shí)素質(zhì),能深入鉆研教材,深刻領(lǐng)會(huì)、透徹、理解教材的重點(diǎn)和難點(diǎn),同時(shí)要有良好的口頭表達(dá)能力、一手漂亮的粉筆字。只有這樣,才能培養(yǎng)出優(yōu)秀的學(xué)生,才能贏得學(xué)生的喜愛。

二要用師愛溫暖學(xué)生。師愛是溝通師生心靈的橋梁,是開啟學(xué)生智力的鑰匙,是用以點(diǎn)燃人們心靈的火花。愛學(xué)生的關(guān)鍵不僅要嚴(yán)格要求學(xué)生,而且要信任學(xué)生和尊重學(xué)生人格。如果我們的老師在學(xué)生面前總是板著面孔,對(duì)有過錯(cuò)的學(xué)生,不是聲色俱厲地訓(xùn)斥,就是諷刺、挖苦、體罰,使很多學(xué)生產(chǎn)生了懼怕老師的心理。試問,學(xué)生們整天提心吊膽地怕老師訓(xùn)斥、諷刺、挖苦、懲罰,怎能喜歡老師,怎能有發(fā)展?jié)摿?。如果老師態(tài)度的和藹點(diǎn),給學(xué)生創(chuàng)造一種和諧的學(xué)習(xí)氛圍,那情況就大不相同了。教師熱愛學(xué)生,就會(huì)贏得學(xué)生的尊重。有了這種師生之間的情感溝通,就會(huì)給教育創(chuàng)造一個(gè)和諧的環(huán)境,對(duì)學(xué)生的身心健康也大有益處。

要做一名有愛的教師,教師自己也要提高自己的素質(zhì),時(shí)刻更新自己的觀念。我重點(diǎn)閱讀了“教育觀念”中的“課堂觀”這一章。在這一章中,蔣老師重點(diǎn)強(qiáng)調(diào)了“課堂是學(xué)生的,應(yīng)該把課堂還給學(xué)生”這個(gè)重要的理念。雖然,我平時(shí)也接觸了這個(gè)理念,也嘗試著這樣去做。然而,現(xiàn)在想來,我自己的目標(biāo)還是比較模糊,因此沒有一個(gè)清晰的方向,更沒有找到一個(gè)很好的著力點(diǎn)。此刻,我有了足夠的時(shí)間和心靈的空間,也有了亟待解決的困惑,所以,通篇讀下來,茅塞頓開。

令我感觸最深的是教師一定要把教育工作當(dāng)作事業(yè)來做。

要想把教育工作當(dāng)作事業(yè)來做,首先要學(xué)會(huì)愛,我們當(dāng)老師的每天都要面向課堂40分鐘,如果沒有愛,我們就不喜歡上,就會(huì)隨意應(yīng)付,學(xué)生就更會(huì)覺得沒有意思,久而久之就會(huì)產(chǎn)生厭煩心理,繼而發(fā)展為在課堂上打鬧,那樣我們就會(huì)覺得這40分鐘特別漫長(zhǎng),心里也總在盼,怎么還不打下課鈴呢?上課就成了一種煎熬。反之,如果

我們從心底里喜歡學(xué)生,喜歡我們的工作,把它當(dāng)成一種樂趣而不是負(fù)擔(dān)去經(jīng)營(yíng),相信我們每天都會(huì)過得輕松愉快,學(xué)生也會(huì)有興趣和樂趣,從而發(fā)展為“親其師、信其道”,只有這樣,我們才會(huì)把教育教學(xué)工作當(dāng)成事業(yè)來做。才會(huì)有正確的價(jià)值觀、課堂觀、評(píng)課觀、績(jī)效觀、學(xué)生觀、人才觀、質(zhì)量觀、教學(xué)觀。

有這樣一句名言:“教育沒有情感,沒有愛,如同池塘里沒有水一樣;沒有水,不能稱之為池塘,而沒有愛,也就不能成為教育。” 小學(xué)階段是人生發(fā)展的奠基階段,孩子是祖國(guó)的希望,民族的未來。我深刻意識(shí)到我所從事的職業(yè)掌握著孩子成長(zhǎng)的方向,從某種意義上說也就相當(dāng)于掌握著國(guó)家和民族未來發(fā)展的方向。朋友們,就讓我們?cè)诮逃聵I(yè)中盡最大力量,多獻(xiàn)一份愛,多發(fā)一份熱。共同為我們欣欣向榮的祖國(guó)添一份明媚的春光!添一片絢麗的春色!讓愛在教育事業(yè)中永遠(yuǎn)閃光吧!

第五篇:程序員修煉 收藏

程序員修煉 收藏

程序就是一系列按步驟進(jìn)行的操作序列,它有好多種級(jí)別,比如最低級(jí)的微程序、次低級(jí)的匯編程序、高級(jí)的各種編程語言程序、最高級(jí)的腳本語言程序,也許我列的不對(duì),但沒關(guān)系,我要說的是不管是那個(gè)級(jí)別的程序,其本質(zhì)都是操作的邏輯序列。大多數(shù)系統(tǒng)和應(yīng)用程序都是建立在高級(jí)編程語言上的,比如C、C++、C#、FORTRAN、BISIC、JAVA等等,就讓我們只關(guān)注這一級(jí)的編程能力吧。因此如果一個(gè)程序員的邏輯能力不高,他永遠(yuǎn)都不能成為一名具有合格職業(yè)水準(zhǔn)的程序員,我們?cè)谙旅娴挠懻撚嘘P(guān)編程能力的方方面面,最終都是為了最大程度地提高和實(shí)現(xiàn)一名程序員的邏輯能力。

一、掌握基礎(chǔ)知識(shí):十六年寒窗的持續(xù)積累

從7歲讀小學(xué)起,經(jīng)過16年的學(xué)習(xí),你從軟件專業(yè)本科畢業(yè)后,必須完成以下幾門專業(yè)課程的學(xué)習(xí):計(jì)算機(jī)組成、操作系統(tǒng)原理、匯編語言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫(kù)原理、軟件工程、結(jié)構(gòu)性設(shè)計(jì)語言(PASCAL、C)、面向?qū)ο笤O(shè)計(jì)語言(C++、C#)、計(jì)算機(jī)網(wǎng)絡(luò)等,你最好還懂一些算法分析、分布式系統(tǒng)、計(jì)算機(jī)圖形學(xué)、形式邏輯、人工智能原理、軟件設(shè)計(jì)模式、軟件構(gòu)架/框架等研究生的課程,16年來,你積累的除了知識(shí),更重要的是形成最適合自己的學(xué)習(xí)方法和工作方法。這些是你具備程序員職業(yè)水準(zhǔn)的基礎(chǔ)能力,不要受什么計(jì)算機(jī)軟件怪杰之類傳奇的影響,那不過是小概率事件,而且這些怪杰們就算沒有讀過軟件本科和研究生,也往往自學(xué)了大多數(shù)專業(yè)課程,很可能比在校學(xué)習(xí)的學(xué)生對(duì)這些課程的精髓部分理解的更好,還有他們的工作方法和思維方式是特別而高效的,但普遍性差,可以借鑒,不宜模仿。好,所以現(xiàn)在你只需要問問自己,那些課程和知識(shí)都學(xué)會(huì)并掌握了嗎?如果是,那就準(zhǔn)備好進(jìn)行實(shí)踐了。

二、在實(shí)踐中提高:成為一名高水平的Coder

好了,你畢業(yè)了,在校功課都不錯(cuò),也找了一個(gè)專業(yè)對(duì)口的工作,你想大展鴻圖了,可是別急,你的翅膀還不夠硬,不信我們說來看看。

通常,你在工作中都會(huì)用到某一種單位/公司固定的操作系統(tǒng)和編程語言開發(fā)環(huán)境,比如Windows、UNIX、LINUX等操作系統(tǒng),又比如用VC、VB、PB、Delph、JAVA、Motif/XWindow、QT、OpenGL、OpenInventor等編程語言和開發(fā)環(huán)境,我們?cè)诤竺姘阉鼈兒戏Q為開發(fā)環(huán)境。就在校學(xué)習(xí)的有關(guān)開發(fā)環(huán)境的知識(shí)而言,大概你距工作需要的差距是不小的,當(dāng)某個(gè)操作系統(tǒng)和編程語言環(huán)境成為你的飯碗時(shí),就不應(yīng)也不能用通過課程/認(rèn)證考試之類的眼光和要求來評(píng)價(jià)你的能力,即使你能考100分。你需要深入地學(xué)習(xí)該操作系統(tǒng)和編程語言環(huán)境的各類開發(fā)手冊(cè)的所有內(nèi)容,你會(huì)說大多數(shù)你都用不上,其實(shí)你既對(duì)又不對(duì),對(duì)的是單從使用的角度而言,你確實(shí)用不上開發(fā)手冊(cè)的大多數(shù)內(nèi)容,比如龐大的VC開發(fā)類庫(kù)和復(fù)雜的開發(fā)環(huán)境,你在實(shí)際工作中能用到的不到總數(shù)的1/10或1/5,不對(duì)的地方在于,你用到的部分不是孤立存在的,它們是整個(gè)體系中的一部分,只有對(duì)整個(gè)體系有了一個(gè)較完整的了解,才能得心應(yīng)手、隨心所欲地用好你用到的部分,你才算初步具備在這種開發(fā)環(huán)境下進(jìn)行Coding的職業(yè)水準(zhǔn)(還遠(yuǎn)不夠程序員的職業(yè)水準(zhǔn)呢),而這只是剛開始。如何才能真正掌握一種開發(fā)環(huán)境的全面的知識(shí)呢,最原始的辦法就是讀開發(fā)指南/教程、參考手冊(cè),一般來講,學(xué)習(xí)開發(fā)指南/教程時(shí),你如果是一個(gè)認(rèn)真的人,都會(huì)完成5/10~7/10左右內(nèi)容的學(xué)習(xí)和練習(xí),如果你想成為職業(yè)選手,就應(yīng)該完成9/10以上內(nèi)容的學(xué)習(xí)和練習(xí)。參考手冊(cè)不同,大多數(shù)所謂的“程序員”們只是用到了才翻翻,這差的太遠(yuǎn)了,你應(yīng)該象讀開發(fā)指南/教程一樣,每個(gè)環(huán)節(jié)都要讀,比如VC,參考手冊(cè)中的每個(gè)類,類的每個(gè)函數(shù),都要讀上幾遍,它們往往是一小伙一小伙地糾纏在一起使用的,開始時(shí)讀得你毫無頭緒、心煩意亂,不要緊,還有一手呢,如果你開發(fā)環(huán)境安裝的全面,它們往往都有開發(fā)商做的demo例子可看,你就進(jìn)入另一個(gè)境界了,開始時(shí)你關(guān)注demo中的具體技術(shù),后來你發(fā)現(xiàn)這些demo的程序?qū)懙亩歼€算不錯(cuò),結(jié)構(gòu)簡(jiǎn)單但合理,如果你真的用心,就一定能發(fā)現(xiàn)一些個(gè)別的demo是極品,它所展現(xiàn)的程序邏輯結(jié)構(gòu)是你設(shè)計(jì)不出來的,你現(xiàn)在有點(diǎn)更關(guān)心它的程序設(shè)計(jì)構(gòu)架,甚于對(duì)你原始目的(某種相關(guān)的技術(shù)/技巧)的關(guān)注,這時(shí)的你,開始了從一名Coder向一名Programmer的轉(zhuǎn)變,你會(huì)忍不住要看看開發(fā)商提供的源程序,比如.h和.cpp,通常你會(huì)找到include路徑下所有的.h程序,你才知道,哇!好多好多東東在參考手冊(cè)中都沒提到,你要學(xué)的太多了,沒時(shí)間顧及其它的業(yè)余愛好了,現(xiàn)在知道為什么程序員是年輕人的職業(yè)了吧,你要有足夠多的時(shí)間才行,即使你的智商有160。如果你走到這一步,在你工作的團(tuán)隊(duì)中,已經(jīng)是經(jīng)常有人向你請(qǐng)教技術(shù)問題,經(jīng)常有人請(qǐng)求你幫忙debug,你已是公認(rèn)的“高手”了,別得意,因?yàn)槟闳匀皇莻€(gè)Coder,為什么這么說呢,你想想,你已深入了解了這個(gè)開發(fā)環(huán)境中的各種技能,知道一名Coder如何用好這些東西,可是你能設(shè)計(jì)的出提供給Coder們用的東西嗎?唔??,你想了想,可能還不太行。對(duì)了,就是這樣,你還是一名小我境界的程序員呢,本質(zhì)是個(gè)Coder,當(dāng)然已是一名高水平的Coder了,然而你需要進(jìn)一步登堂入室才能成為一名真正的程序員。

讓我們繼續(xù)吧,通常你都是從精通一種編程環(huán)境開始的,假設(shè)你已經(jīng)較為精通在Windows下用VC開發(fā)軟件了,這時(shí)在技術(shù)和技巧方面你將面臨一小一大兩個(gè)挑戰(zhàn),第一個(gè)小挑戰(zhàn)是如果公司/單位改換了開發(fā)環(huán)境,比如用LINUX下的QT交互語言工具進(jìn)行開發(fā),你不過是把前面掌握VC的過程再來一遍,由于在主觀上經(jīng)歷了VC工具的學(xué)習(xí)過程,在客觀上各種開發(fā)環(huán)境都有太多相似的方面,這回你掌握的應(yīng)該較快。要小心,在這時(shí)第一次誘惑之門打開了,因?yàn)槟愀杏X良好,看!這回這么快,我就這么好地掌握了新的開發(fā)環(huán)境,你開始關(guān)注其它暫時(shí)還用不到的同類環(huán)境,比如VB、Delph、JAVA,如饑似渴地掌握各種開發(fā)工具,證明自己的學(xué)習(xí)能力和價(jià)值,但你忘了一點(diǎn),你仍然是個(gè)Coder,只不過是一個(gè)在好多開發(fā)環(huán)境下都能編程的Coder,就像你生活在中國(guó),因而精通了漢語,工作需要你又掌握了英語,然后你就來了勁,把俄語、日語、阿拉伯語、拉丁語,等等等等,都學(xué)習(xí)個(gè)遍,我只能說,有點(diǎn)BT。你忘了自己是個(gè)職業(yè)人,同一類的東西工作中用得到才需學(xué)習(xí),太多太多的Coder們喜歡在一起比較和炫耀自己會(huì)掌握了幾種開發(fā)工具,不信你看看招聘時(shí)的求職書就知道了,sigh!他們中絕大多數(shù)人永遠(yuǎn)都只能停留在這個(gè)層次上,心浮氣躁,一生都再也當(dāng)不成真正的程序員了??偨Y(jié)一下,其實(shí)你在這時(shí)需要的是對(duì)自己掌握新開發(fā)環(huán)境的能力的自信,而不是一遍遍地重復(fù)來證明自己。第二個(gè)大挑戰(zhàn)就是你明白了只掌握VC是不夠的,你發(fā)現(xiàn)自己有點(diǎn)淺薄,有很多東東你會(huì)用但你不太懂,很多方面支持VC編程的知識(shí)你都沒掌握,比如操作系統(tǒng)的源碼、網(wǎng)絡(luò)協(xié)議知識(shí)、Windows 的注冊(cè)表、進(jìn)程和線程的基礎(chǔ)知識(shí)、硬件驅(qū)動(dòng)方面的知識(shí)、ActiveX、Windows 龐大的 API,又是一個(gè)等等等等,這些基礎(chǔ)知識(shí)的學(xué)習(xí)和掌握可是要花費(fèi)大量時(shí)間的,你再一次深切地感到時(shí)間太不夠用了,因?yàn)檫@時(shí)的你大概有許多俗務(wù)纏身了,所以有點(diǎn)沮喪,還不用提IT業(yè)每天不知有多少新東西在發(fā)布,KAO,永遠(yuǎn)都跟不上,越拉越遠(yuǎn)了。哎!別氣餒,振作一點(diǎn),你還是忘記了自己是個(gè)職業(yè)人,既然好多東東在工作中你永遠(yuǎn)都沒機(jī)會(huì)用,那么干嘛要學(xué)呢?用什么才學(xué)什么,最多預(yù)測(cè)到馬上要用什么,先一步學(xué)什么好了,要知道沒有人是真正的、無所不精的全科大夫,除非你是神,但如果你還在耐著性子看這篇文章,你肯定是個(gè)人嘛。

OK,一般工作后三五年,你經(jīng)歷了上述過程,經(jīng)受了誘惑和考驗(yàn),終于明白了一個(gè)道理:你要的是強(qiáng)勁的學(xué)習(xí)知識(shí)的能力,是對(duì)某種軟件知識(shí)/技能的有深度的精通,一種摸到它的根的深度,而不是已掌握的技能的種類和數(shù)量。這時(shí)無論誰用他掌握了多少種你不會(huì)的技能來嚇唬你都沒用,你對(duì)他的層次只有蔑視。通過幾年的學(xué)習(xí)和工作,要記住最重要的一點(diǎn),永遠(yuǎn)最重要:對(duì)自己學(xué)習(xí)IT知識(shí)能力的自信,一個(gè)程序員一生都要不停地進(jìn)行高強(qiáng)度的學(xué)習(xí),用心問問自己,有沒有這個(gè)自信?別用虛榮心來騙自己哦,如果沒有的話,那就不必花費(fèi)你寶貴的時(shí)間向下看了,作者在此感謝你有耐心看到這里,現(xiàn)在建議你關(guān)閉這篇文章,趁著年輕,當(dāng)機(jī)立斷轉(zhuǎn)行吧!

三、注重邏輯:成為一名職業(yè)程序員

好,再前進(jìn)一點(diǎn)點(diǎn),你就要成為一名職業(yè)程序員了,讓我們繼續(xù)來完成這個(gè)任務(wù)吧!我們?cè)谇耙还?jié)提到過,“你發(fā)現(xiàn)一些個(gè)別的demo是極品,它所展現(xiàn)的程序邏輯結(jié)構(gòu)是你設(shè)計(jì)不出來的,你現(xiàn)在有點(diǎn)更關(guān)心它的程序設(shè)計(jì)構(gòu)架,甚于對(duì)你原始目的(某種相關(guān)的技術(shù)/技巧)的關(guān)注”,其實(shí)你是在關(guān)注這個(gè)demo程序作者的思維邏輯,所有程序的本質(zhì)就是邏輯。技術(shù)你已經(jīng)較好地掌握了,但只有完成邏輯能力的提高,你才能成為一名職業(yè)程序員。打一個(gè)比方吧,你會(huì)十八般武藝,刀槍棍棒都很精通,但就是力氣不夠,所以永遠(yuǎn)都上不了戰(zhàn)場(chǎng),這個(gè)力氣對(duì)程序員而言就是邏輯能力(其本質(zhì)是一個(gè)人的數(shù)學(xué)修養(yǎng),注意,不是數(shù)學(xué)知識(shí))。邏輯能力也是逐步提高的,開始時(shí)你一定是用直觀的邏輯能力來編程的,怎么想就怎么編,不對(duì)就再改,在改進(jìn)中提高自己的邏輯能力,從直觀邏輯能力提高到抽象邏輯能力,這是很正常的。提前說一句吧,到達(dá)邏輯能力的至高境界,其表現(xiàn)是用數(shù)學(xué)語言來描述問題和問題的解決辦法,高度抽象!好,說回來吧,你要提高邏輯能力,最快的辦法就是讀別人寫的結(jié)構(gòu)優(yōu)秀的程序。優(yōu)秀的代碼是百讀不厭的(這句話是我抄來的),暫時(shí)放放對(duì)其中某種技術(shù)和技巧的關(guān)注吧,你要推導(dǎo)和學(xué)習(xí)的是這些好程序的邏輯結(jié)構(gòu),它們是被精心設(shè)計(jì)出來的。你可以先捂住這個(gè)demo程序,自己設(shè)計(jì)一個(gè)功能相同的程序結(jié)構(gòu),然后比較一下demo的程序結(jié)構(gòu),如果差距較大,那你就不應(yīng)簡(jiǎn)單地改進(jìn)一下,而是要把demo作者設(shè)計(jì)的過程在心里復(fù)原一遍,做到這一點(diǎn)也許有點(diǎn)困難,但這種事干的多了,你就會(huì)越干越快,越來越得心應(yīng)手,你的邏輯能力飛速提升,你能看得上的邏輯結(jié)構(gòu)優(yōu)秀的程序開始不多了,下一步就是練習(xí)。從工作中開始吧,如果你有空閑,你需要做至少兩類練習(xí),一類是算法練習(xí),所有的經(jīng)典算法都是經(jīng)典的邏輯,題目有的是,像個(gè)好學(xué)生一樣吧,每年的國(guó)內(nèi)國(guó)際編程競(jìng)賽都有邏輯要求非常高的題,你可以只選一兩道難題來做做。當(dāng)你可以把復(fù)雜的單遞歸程序(只有A調(diào)A)變成非遞歸程序時(shí),已經(jīng)不錯(cuò)了,如果你能看得懂雙遞歸程序(A調(diào)A、A調(diào)B、B調(diào)A、B調(diào)B都有),我為你鼓掌!你不必往下看了,我有點(diǎn)不好意思啦――班門弄斧,你快滾蛋吧!另一類是把以前和當(dāng)前你工作中你不滿意的程序推倒重新設(shè)計(jì)一遍,這非常重要,省時(shí)省力,因?yàn)槟闶煜ば枨螅夹g(shù)上也沒問題,目的就是改進(jìn)程序的邏輯結(jié)構(gòu),很劃算哦,唯一要克服的就是:你對(duì)推翻以前工作中那點(diǎn)小小成就的心理障礙,如果你真想優(yōu)秀,說句粗話:這點(diǎn)心理障礙算個(gè)屁,一遍遍反復(fù)地推倒已有的成果只能使自己快速進(jìn)步,放手干吧,沒什么好可惜的,馬恩早就在《共.產(chǎn).黨宣言》里說過了:在這個(gè)過程中,你失去的只有鎖鏈(禁錮你思想的鎖鏈)。

讓我們來總結(jié)一下,經(jīng)過自我否定后,再生的你盡管對(duì)過去的“業(yè)績(jī)”還有一些眷戀,但已是一個(gè)初步具備職業(yè)水準(zhǔn)的程序員了,掌握了相應(yīng)的技術(shù)和技巧,具備了較高的抽象邏輯思維能力,最主要的特征是:能自覺地自我否定,不斷地追求更高水平的邏輯能力。

在這個(gè)過程中,如果你能注意以下一些小的方面,你前進(jìn)的步伐也許會(huì)快一些。

l 從編譯原理的角度來理解你工作中使用的高級(jí)語言,如果你做到這一點(diǎn),至少有兩個(gè)好處,第一個(gè)好處是避免一大堆低水平重復(fù)出現(xiàn)的編譯錯(cuò)誤。一名優(yōu)秀的Coder平均在一個(gè)工作日中應(yīng)該完成200行以上的源碼,其編譯錯(cuò)誤應(yīng)該控制在5個(gè)以下,要知道這200行源碼不是一次完成的,所以大多數(shù)情況下你都要追求一次編譯通過,而一名職業(yè)水準(zhǔn)的程序員,應(yīng)該進(jìn)一步做到即使用purify這類的工具來檢查源碼,也不會(huì)存在嚴(yán)重的內(nèi)存泄露。第二個(gè)好處是可以提高源碼的可讀性和效率。規(guī)范地編寫你的代碼使你自己的邏輯清晰,因?yàn)槟忝靼锥嗉訋讉€(gè)括號(hào)和空行、多換行對(duì)齊、多注釋,編譯器是會(huì)自動(dòng)識(shí)別的,不影響程序執(zhí)行的效率,反過來,控制好遞歸調(diào)用和循環(huán)內(nèi)的if語句才是提高程序效率的關(guān)鍵,要全力避免遞歸,但要深刻理解遞歸,能通過自己建立堆棧來把遞歸程序轉(zhuǎn)換成非遞歸程序,要求還是較高的哦!

l 避免思維陷阱,只要你是人就一定有自己的思維慣性,這一定又會(huì)表現(xiàn)在你的程序邏輯中,有時(shí)你就是從這個(gè)慣性中跳不出來(誰都有這個(gè)時(shí)候),但要心里有數(shù)才行,所以你需要幫助,如果你有幾個(gè)水平相若或更高的職業(yè)伙伴,太好了,當(dāng)遇到花30分鐘還打不下的bug時(shí),就別浪費(fèi)時(shí)間了,找他們吧,最要緊的是能思路清晰明確地表述你的問題,通常你自己在這個(gè)過程中或者伙伴中就有人把問題解決了,又快又好。另外,有幾個(gè)可以良性競(jìng)爭(zhēng)的職業(yè)伙伴是人生的一件幸事,1+1>2,大家各有所長(zhǎng),你最好做到及時(shí)公開你的成果,技不壓身嘛,IT發(fā)展的這么快,你再優(yōu)秀,那點(diǎn)東東也沒有什么值得隱藏的,所以你可以技術(shù)或水平不夠高,但千萬不可以讓真正具有職業(yè)水準(zhǔn)的選手鄙視你的職業(yè)品質(zhì)和行為。

l 有自己debug的特點(diǎn),下面的說法作者不敢太肯定,只是經(jīng)驗(yàn)之談。即使在VC這種高度完善的開放環(huán)境下,你仍然應(yīng)該要求自己僅憑打印語句就能debug。這也有兩點(diǎn)好處,第一個(gè)好處是,遇到bug你會(huì)認(rèn)真想問題所在,而不是用debug工具一步步簡(jiǎn)單地追蹤卡在哪兒了,你定位bug范圍的方式是從大到小、從粗到精,這是一種自頂向下的思維方式,而用工具追蹤,容易形成自底向上的思維方式,這不算好,你應(yīng)該先看到森林,再看到樹木。我反復(fù)提及:程序就是邏輯過程,大多數(shù)程序從main函數(shù)開始,是由數(shù)據(jù)結(jié)構(gòu)和功能子程序組成的一個(gè)樹形結(jié)構(gòu)的邏輯過程(要認(rèn)清即使是面向?qū)ο蟮某绦蛘Z言也是一樣的),它的執(zhí)行過程是深度優(yōu)先的,但你定位bug應(yīng)該是廣度優(yōu)先的,好好想想這一點(diǎn),嗯?第二個(gè)好處是強(qiáng)迫你思考并記住而不是用工具看到調(diào)用過程,你大腦的抽象邏輯思維能力和胳膊上肌肉的力量一樣,都是練出來的,如果你的bug是程序結(jié)構(gòu)上的邏輯錯(cuò)誤引起的,這一點(diǎn)就非常重要了,順便說一句,最難打的bug就是程序邏輯結(jié)構(gòu)錯(cuò)誤導(dǎo)致的bug。你要是真正明明白白地認(rèn)識(shí)到這兒了,那我就沒什么東西可以告訴你了??傊?,程序員的職業(yè)水準(zhǔn):生產(chǎn)效率和程序質(zhì)量,主要是取決于源碼中bug的數(shù)量和debug的速度,而不是取決于編寫源碼的速度。給你一個(gè)我自己定義的考查一個(gè)職業(yè)程序員的指標(biāo):一個(gè)合格水準(zhǔn)的職業(yè)程序員,編程的時(shí)間如果算一份的話,其累計(jì)debug的時(shí)間不能超過一份,真正職業(yè)高手累計(jì)debug的時(shí)間應(yīng)該控制在0.5份以下,如何?你關(guān)上門悄悄問問自己,你花費(fèi)在編程和debug上的時(shí)間比例是多少?如果你把程序員作為自己一生的職業(yè),那么就永遠(yuǎn)都要牢記一點(diǎn):追求做一個(gè)0 bug的優(yōu)秀程序員!這是任何一個(gè)想成為職業(yè)程序員的人的理想,請(qǐng)相信:堅(jiān)忍不拔地追求實(shí)現(xiàn)這個(gè)理想將讓你出類拔萃!

l 做好程序的單元測(cè)試,這是另一項(xiàng)考查你是否是一名具有合格職業(yè)水準(zhǔn)的程序員的一個(gè)必要指標(biāo)。其實(shí)在你拿到需求的時(shí)候就要準(zhǔn)備單元測(cè)試用例了,并且這些用例將直接影響你的詳細(xì)設(shè)計(jì)(有關(guān)軟件設(shè)計(jì)本來是該放在第四節(jié)講的)。我們還是打比方吧,當(dāng)你拿到一個(gè)需求時(shí),除了分析它靜態(tài)的功能外,還應(yīng)明確它動(dòng)態(tài)的操作/執(zhí)行過程,把這個(gè)動(dòng)態(tài)過程明確地用流程圖畫出來,比如分為A~Z的26步,其中A又可以進(jìn)一步分解為A1~A5的5步,直到不能再分解為止。又比如說A3步不可分解了,那么你應(yīng)該把A3步的正常操作和所有五花八門的異常操作都列出來,確保正常的操作肯定正確,異常的操作起碼程序不退出才行。這樣你就要寫好多好多的測(cè)試用例,說句老實(shí)話,我也從來不寫!但我一般會(huì)列一個(gè)提綱,比如A3步有正常的操作a、b、c、d、e共5項(xiàng),異常的操作有f、g、h、i、j、k、l、m、n共9項(xiàng),你在進(jìn)行單元測(cè)試時(shí)都應(yīng)該跑一遍,這樣的程序都還不敢說質(zhì)量如何好,但起碼可以說較穩(wěn)定吧!如果要想在進(jìn)行單元測(cè)試時(shí)干得快、效率高,那么在進(jìn)行詳細(xì)設(shè)計(jì)時(shí),你就應(yīng)該把A3步中對(duì)所有正常操作和異常操作的判斷都設(shè)計(jì)好,在編程實(shí)現(xiàn)A3步時(shí),使得程序的結(jié)構(gòu)合理高效,對(duì)不對(duì)?所以,如果你在工作中是割裂地看待軟件工程中從需求、分析、設(shè)計(jì)、編程、測(cè)試等各個(gè)環(huán)節(jié),恐怕水平很有限喔!但如果你在分析需求時(shí)就能看到測(cè)試的問題,并改進(jìn)設(shè)計(jì)和實(shí)現(xiàn),為此做好相應(yīng)的準(zhǔn)備工作,嘿嘿,整個(gè)軟件開發(fā)過程你的效率會(huì)高很多,通常你在一個(gè)開發(fā)團(tuán)隊(duì)中就會(huì)高度自信的,你已越過當(dāng)一名偏頗、露骨的高手的境界,成為一個(gè)平靜的高手,這可是The best in the best!,用周星星的話說:是高手之高高手,因?yàn)閯e人看不出你高在哪兒,沒見你有什么高招或特拚命干,但反正你就是干得又快又好、又省力。關(guān)于進(jìn)行單元測(cè)試還有很多復(fù)雜的方法,在此本文只提到了最基本的一點(diǎn),目的是讓你在工作上考慮周全、安排有序,其它的自己琢磨吧,沒有人能替你吃飽飯!

l 如果你是用C++編程,我再簡(jiǎn)單談?wù)動(dòng)嘘P(guān)內(nèi)層釋放的一個(gè)小技巧,就是對(duì)所有你編寫的類,在構(gòu)造和析構(gòu)函數(shù)中加打印語句,統(tǒng)計(jì)每個(gè)類在運(yùn)行程序時(shí)構(gòu)造和析構(gòu)的地方,如果是配對(duì)的,那么起碼沒有對(duì)象類一級(jí)的內(nèi)層在程序運(yùn)行結(jié)束時(shí)沒有釋放,然后你就可以把打印語句刪掉了,招數(shù)雖土,但管用!

l 還有其它一些好習(xí)慣,在這里我隨筆寫一些,你要是有不同看法也請(qǐng)一笑過之吧。編程時(shí)應(yīng)該對(duì)齊縮進(jìn),一個(gè)縮進(jìn)用一個(gè)tab鍵,一般是4個(gè)空格,嚴(yán)格遵守開發(fā)團(tuán)隊(duì)的編程規(guī)范也是非常重要的。一個(gè)子程序不應(yīng)超過30行(不算空行),其內(nèi)多重循環(huán)不應(yīng)超過3層,否則都應(yīng)該分裂成兩個(gè)子程序,個(gè)別算法程序可以長(zhǎng)一些,但也不宜超過200行。通常一個(gè)類的所有成員函數(shù)總和不宜超過1500行,多了就應(yīng)該考慮分解成兩個(gè)類(這個(gè)工作最好在設(shè)計(jì)時(shí)就完成)。每完成一小段程序,比如15~30行,就立即編譯運(yùn)行,不要假裝高手,先敲它一大堆程序,再編譯運(yùn)行,妄想一次成功,體驗(yàn)一種假爽的、虛榮的快感,或炫耀給別人看,這么做只能證明自己是一個(gè)不折不扣的傻瓜,裝酷而已。因?yàn)橹灰幸淮尾怀晒?,你就?huì)花費(fèi)大量的時(shí)間來調(diào)程序,別人的進(jìn)度在這時(shí)就遠(yuǎn)遠(yuǎn)地超過你了,平常心是道,還是修煉真功夫吧!孫子兵法里關(guān)于這一點(diǎn)有明確的闡述,我就不引用了,但建議你真的不要這么干,除非你確實(shí)就是這樣總是一次就成功的天才,那你還看這篇文章干什么呢?我又不是寫給你們這些天才們看的。再就是有學(xué)會(huì)買好書、讀好書,關(guān)于計(jì)算機(jī)和軟件方面的書太多了,時(shí)間有限,比如有一個(gè)叫侯捷的家伙,幾乎寫的每本書都不錯(cuò),張國(guó)峰的C++編程也不錯(cuò),這只是我的個(gè)人意見啊,好書多著呢,列出來比這篇文章長(zhǎng)好多倍,我就不多說了。還有一招,要是你運(yùn)氣好,能搞到一些著名軟件系統(tǒng)的源碼,好好讀讀吧,在此我只能告訴你,Linux操作系統(tǒng)的一些源碼不錯(cuò),是開放的,你可以合法地搞到,其它的不要說是我建議你侵犯知識(shí)版權(quán)啊!

四、天生神力:成為系統(tǒng)分析員

本來就論述如何成為一名職業(yè)程序員而言,本文已基本完成任務(wù)了,但《菜根譚》有言:竭世機(jī)樞,似一滴投于巨壑,窮諸玄辯,若一毫置于太虛。既已乘興到此,何妨多置一毫于太虛呢,作者不才,干脆盡興寫算了。

你要是運(yùn)氣好,直接進(jìn)入了一個(gè)嚴(yán)格規(guī)范生產(chǎn)的軟件企業(yè)就業(yè),剛開始就應(yīng)該是按別人做好的軟件設(shè)計(jì)來實(shí)現(xiàn)編程,你可以有機(jī)會(huì)直接學(xué)習(xí)軟件設(shè)計(jì),當(dāng)你積累的足夠多了,能夠?qū)ζ渲械囊恍┰O(shè)計(jì)提出好的改進(jìn)建議,而且干得又快又好,就會(huì)漸漸地展露頭角,我相信你終有一天成為一名軟件設(shè)計(jì)人員(注意,不是軟件產(chǎn)品設(shè)計(jì)人員),步入系統(tǒng)分析員的行列,但這還需其它的一些條件和自我修煉。如果你在一個(gè)不規(guī)范的軟件企業(yè)工作,那也不錯(cuò),你很可能直接就有機(jī)會(huì)進(jìn)行軟件設(shè)計(jì),然后開發(fā)、測(cè)試,甚至還不得不自己定義需求,把軟件開發(fā)過程的各個(gè)環(huán)節(jié)走一個(gè)遍,當(dāng)然這樣對(duì)你的要求更高,而且你也不容易得到及時(shí)有益的指點(diǎn),在正態(tài)分布的情況下,你應(yīng)該是成長(zhǎng)的很慢。但不管就業(yè)的單位如何,如果你決心要成為頂尖軟件職業(yè)選手,通常什么客觀困難都阻擋不了你,然而你個(gè)人的因素可能會(huì)阻止你的前進(jìn)。下面提出的觀點(diǎn)純屬一己之見,傷人自尊之處作者在此提前道歉,并建議你除非對(duì)本文有強(qiáng)烈的興趣,否則就請(qǐng)直接看第五節(jié)或放下別看了。丑話已說在前頭了,在各種軟件開發(fā)組織的發(fā)展過程中的事實(shí)也證明,只有少數(shù)程序員能成為系統(tǒng)分析員,我想這一點(diǎn)不是我杜撰的吧,因此你要是在看接下來的部分時(shí)感到氣憤難當(dāng),那也實(shí)在沒著,純屬活該,因?yàn)樽髡咧皇窃谡f明自己的觀點(diǎn)而已,你最多可以呲之以鼻,表示一下你的輕蔑好了,但沒有任何理由可以罵人!

作者自己沒有到微軟面試過,但身處軟件行業(yè),關(guān)于微軟的許多東東當(dāng)然還是有耳聞的,據(jù)說微軟招聘一名程序員要過五個(gè)已經(jīng)成為微軟程序員的面試關(guān),而且是一票否決制,又據(jù)說大多數(shù)面試題并非編程,而是一些有關(guān)邏輯和智力的題,作者私下也做過許多流傳的微軟面試題,并對(duì)此做法深以為然。程序的本質(zhì)就是邏輯,所以幾十年前就有人提出編程是一門藝術(shù),而藝術(shù)是要靠天份的,這一點(diǎn)少有人反對(duì)。一個(gè)人的邏輯能力可以不斷提高,但其能到達(dá)的終極邏輯能力的層次必定為其天生智力所限制,這一點(diǎn)就讓人不易接受了。好笑啊!人們可以公開承認(rèn)自己沒有某種或全部的藝術(shù)天份,但要說自己邏輯天份不夠,換句話說承認(rèn)自己笨、IQ不夠高,往往是要怒發(fā)沖冠的,其實(shí)這又有什么區(qū)別呢?話都說到這兒了,再次建議你如果不夠自信,就跳過這一節(jié)吧,直接看第五節(jié),好嗎?

好了,把話題說回來,你已經(jīng)成為一門合格的職業(yè)程序員了,如果要想成為從事軟件系統(tǒng)設(shè)計(jì)的職業(yè)系統(tǒng)分析員,第一件事就是悄悄找一個(gè)標(biāo)準(zhǔn)智商測(cè)試的網(wǎng)站或其它渠道,嚴(yán)格認(rèn)真的測(cè)一測(cè)自己的智商,如果IQ低于130(正常智商是110),就請(qǐng)別費(fèi)勁了,打消掉成為系統(tǒng)分析員的念頭吧!好!好!先請(qǐng)你冷靜一下,好好想想,其實(shí)微軟面試時(shí)就是在測(cè)你的智商和邏輯數(shù)學(xué)素質(zhì)呢,這就是本節(jié)的標(biāo)題為“天生神力”的原因,因?yàn)樵O(shè)計(jì)就是從無到有地進(jìn)行創(chuàng)造,無論是軟件還是其它行業(yè)都一樣,可以有借鑒的,沒有現(xiàn)成的,設(shè)計(jì)就是創(chuàng)造!如果你IQ在130以上,又決心要當(dāng)一名職業(yè)軟件系統(tǒng)分析員,其實(shí)你不過是要準(zhǔn)備好吃更大的苦而已,有什么好虛榮的呢?

修煉還是從基本功開始的,過程和成為一名職業(yè)程序員差不多。必須使用設(shè)計(jì)工具這一點(diǎn)是不用多說的。在工作中,你基本上遇到的是兩類方式的設(shè)計(jì),一個(gè)是結(jié)構(gòu)化設(shè)計(jì),另一個(gè)是面向?qū)ο笤O(shè)計(jì),就個(gè)人經(jīng)驗(yàn)而言,面向?qū)ο蟮脑O(shè)計(jì)更好。如果你工作中不得不采用結(jié)構(gòu)化的設(shè)計(jì),你必須熟練地掌握數(shù)據(jù)流圖和控制流圖的分析和設(shè)計(jì),一般來講,如果你把一個(gè)軟件中用到的數(shù)據(jù)模型設(shè)計(jì)好了,針對(duì)功能化的流程,不難設(shè)計(jì)出數(shù)據(jù)流圖,但下一步設(shè)計(jì)控制流圖才是挑戰(zhàn),如果你按照需求走不通設(shè)計(jì)好的控制流圖,那么你或別人在按照這個(gè)設(shè)計(jì)編程實(shí)現(xiàn)時(shí),必定也走不通,沒有奇跡會(huì)發(fā)生,還是在設(shè)計(jì)階段嚴(yán)格要求吧,又有一點(diǎn)需要牢記:返工是最慢的。當(dāng)你在進(jìn)行控制流圖的設(shè)計(jì)時(shí),也不要妄想得到需求人員提供給你明確的指點(diǎn),通常他們要是能夠把需求的功能和操作次序?qū)懲暾脑?,你?yīng)該就感恩戴德了,從需求中整理出功能、操作的拓?fù)浯涡蚝蜅l件是你作為系統(tǒng)分析員的職責(zé)??纯矗菦]有一點(diǎn)圖論的基礎(chǔ)和拓?fù)鋵W(xué)的入門知識(shí),你是當(dāng)不好一個(gè)職業(yè)系統(tǒng)分析員的,即使你天賦不錯(cuò),必要的數(shù)學(xué)和邏輯素質(zhì)仍然不可或缺。也不用氣餒,永遠(yuǎn)沒有最好的設(shè)計(jì),只有更好的設(shè)計(jì),反復(fù)地進(jìn)行設(shè)計(jì)迭代,勇于推翻舊的設(shè)計(jì),你將快速進(jìn)步。如果你在工作中是采用面向?qū)ο筮M(jìn)行設(shè)計(jì)的,那就更有利了,有關(guān)面向?qū)ο笤O(shè)計(jì)的書太多了,不用作者在此多費(fèi)口舌,建議精讀一本經(jīng)典的書,比如北大邵維忠等編譯的《面向?qū)ο蟮姆治觥?,有些方法和技巧可能過時(shí),但其邏輯的基本原理是非常正確的,其本質(zhì)是,你在邏輯上是如何認(rèn)識(shí)這個(gè)世界的,你就是如何設(shè)計(jì)軟件體系結(jié)構(gòu)的,然后讀讀其它書,觸類旁通,自己創(chuàng)造機(jī)會(huì)多實(shí)踐,成功自然會(huì)到來的,總之,不管是結(jié)構(gòu)化設(shè)計(jì)還是面向?qū)ο笤O(shè)計(jì),評(píng)價(jià)一下自己的軟件系統(tǒng)設(shè)計(jì)方案吧,有好多指標(biāo)呢,比如是否均勻和平衡?局部獨(dú)立性強(qiáng)不強(qiáng)?有沒有歧異的結(jié)構(gòu)?有沒有層次太多或太少?有沒有某個(gè)層次太大、太廣?是不是邏輯結(jié)構(gòu)先復(fù)雜了再化簡(jiǎn)的?還是只會(huì)設(shè)計(jì)簡(jiǎn)單的,復(fù)雜不起來(這一點(diǎn)是笨哦,如果出現(xiàn)多次,請(qǐng)你不要意氣用事,轉(zhuǎn)行吧)?最重要的一點(diǎn),是否容易理解、實(shí)現(xiàn)和改進(jìn)?你自己會(huì)得出評(píng)價(jià)的。如果有機(jī)會(huì)看到別人的設(shè)計(jì),一定不要錯(cuò)過學(xué)習(xí)的機(jī)會(huì),自己推導(dǎo)一遍,認(rèn)真比較比較,獲益會(huì)較多。

走到這一步,你就應(yīng)該關(guān)注設(shè)計(jì)模式了,首先還是學(xué)習(xí),這方面的好書有的是,但一般在工作中用到的設(shè)計(jì)模式較為單一,應(yīng)該多嘗試一下其它的設(shè)計(jì)模式。其次必須要明白設(shè)計(jì)模式不是設(shè)計(jì)思路,也不能代替設(shè)計(jì)思路,比方你要從A到B修一條路,設(shè)計(jì)模式只是讓你選擇,是修水泥的還是柏油的?是高架路還是普通的,但線路必須你自己定,而線路就是設(shè)計(jì)思路,模式對(duì)思路是有影響,但不能代替,所以如果你的智商高達(dá)250,我相信你直接用匯編語言也能寫出面向?qū)ο蟮某绦騺?。第三在此有一個(gè)陷阱,很多系統(tǒng)分析員生搬硬套設(shè)計(jì)模式,全然不懂如何融會(huì)貫通,在你的一項(xiàng)具體工作中,往往是以一種設(shè)計(jì)模式為主,其它模式為輔的,思維不拘泥于形式才是關(guān)鍵,而且也為你到達(dá)更高的軟件設(shè)計(jì)的境界做好準(zhǔn)備。

唉!都不知該怎么向下寫好了,因?yàn)橐堰_(dá)到作者水平的極限了,我胡亂說一點(diǎn),你湊合看吧。軟件設(shè)計(jì)最終的層次是:以無法為有法、以無限為有限,這句話是李小龍說的,不是我說的。再拾人牙慧一把,類比一個(gè)故事吧,金大俠在《倚天屠龍記》里講到張無忌初學(xué)太極,學(xué)會(huì)的標(biāo)志是把剛學(xué)的招數(shù)全忘了,記住的是太極的道理和精神,和李小龍有些相似喔,軟件設(shè)計(jì)也一樣,忘記所有的設(shè)計(jì)模式,隨心所欲進(jìn)行設(shè)計(jì)才是至高境界,所以你能到達(dá)多高的軟件設(shè)計(jì)的境界最終將取決于你的哲學(xué)素質(zhì),這一點(diǎn)實(shí)在是不好寫啊,你自己領(lǐng)悟吧!作者只有祝福了!

五、職業(yè)人的終極目標(biāo):全面修煉,成為L(zhǎng)eader

這一節(jié)更不好寫,涉及到太多其它非技術(shù)方面的因素,特別是個(gè)人人生觀和世界觀的修煉,如果本帖的點(diǎn)擊率超過作者私下期望的一個(gè)數(shù)值,那我就爭(zhēng)取盡力厚著臉皮再補(bǔ)上吧。我只說一句,雖然大家都知道軟件開發(fā)是一個(gè)團(tuán)隊(duì)性的工作,但追求參與一個(gè)大型軟件系統(tǒng)的成功開發(fā),是一名軟件人員的本能,就像拿破侖說的不想當(dāng)元帥的士兵不是好士兵,所以不追求實(shí)現(xiàn)大系統(tǒng)的軟件人員,也不是一個(gè)好的職業(yè)軟件人員,但你只有成為L(zhǎng)eader,領(lǐng)導(dǎo)一個(gè)優(yōu)秀的軟件開發(fā)團(tuán)隊(duì),才有機(jī)會(huì)實(shí)現(xiàn)這個(gè)終極職業(yè)目標(biāo),對(duì)不對(duì)? 好吧,不管你現(xiàn)在的感受如何,我都謝謝你能讀到這里!我不習(xí)慣假謙虛,就不說什么作者水平有限,本文拋磚引玉,歡迎大家批評(píng)斧正之類的客套話了,雖然作者水平確實(shí)有限。所以我認(rèn)為你盡管有權(quán)砸磚,但實(shí)在沒必要搞回帖、或回罵、或頂之類的玩意兒,我只是盡興寫一點(diǎn)多年從事軟件開發(fā)工作的體驗(yàn),因此接下來我就高掛免戰(zhàn)牌,不回復(fù)任何回帖了。再次謝謝你能有耐心讀到這里!希望本文對(duì)你有所裨益,祝你成功!再見!

本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/carefree31441/archive/2008/07/10/2635287.aspx

下載《程序員修煉之道》讀后感(5篇)word格式文檔
下載《程序員修煉之道》讀后感(5篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    優(yōu)秀教師的修煉之道讀后感(合集五篇)

    優(yōu)秀教師的修煉之道 ——有效教學(xué)之研究有感 牟劍金 新課程實(shí)施以來,中小學(xué)的課堂教學(xué)面貌發(fā)生了很大的變化,課程改革倡導(dǎo)的新理念、新方式、新方法逐漸深入人心,初步建立了以......

    程序員內(nèi)功修煉篇

    進(jìn)入專業(yè)的編程領(lǐng)域,算法、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)模型、計(jì)算機(jī)原理等這樣的計(jì)算機(jī)科學(xué)專業(yè)需要學(xué)習(xí)的理論知識(shí)是必須要學(xué)習(xí)的。下面我們先來講述數(shù)據(jù)結(jié)構(gòu)和算法。 數(shù)據(jù)結(jié)構(gòu)和算法 算......

    程序員修身之道筆錄

    程序員修身之道 第一章: 關(guān)于編程的各種話題:個(gè)人責(zé)任,曳光彈開發(fā),調(diào)式策略,源程序設(shè)計(jì),按合約設(shè)計(jì),重構(gòu),無情測(cè)試。 編程是一種技藝,一種需要用心學(xué)習(xí)的技藝。 在所有的弱點(diǎn)中,最大的......

    中國(guó)it程序員長(zhǎng)生不老之道

    才智尚招聘網(wǎng) 中國(guó)it程序員長(zhǎng)生不老之道 大學(xué)里學(xué)完計(jì)算機(jī)專業(yè)后,畢業(yè)后從事了近20年的IT。這期間每次大學(xué)同學(xué)聚會(huì)都會(huì)聽到這樣的詰問:“還在寫代碼哪?”似乎畢業(yè)后一直在寫......

    《優(yōu)秀教師的修煉之道》讀后感--劉孝梅

    《優(yōu)秀教師的修煉之道》讀后感臺(tái)頭鎮(zhèn)大坨小學(xué) 劉孝梅《優(yōu)秀教師的修煉之道》讀后感 翻閱從圖書館里借來的《優(yōu)秀教師的修煉之道》,心里想著:什么樣的教師才是優(yōu)秀的教師呢?是那......

    Java程序員修煉十大過程

    Java程序員修煉十大過程 學(xué)習(xí)java這么久,見到過項(xiàng)目中的神人在鍵盤上運(yùn)指如飛的編程速度,當(dāng)時(shí)就被震撼了。當(dāng)編程越來越成體力活,我們還能有自己的思想,還能修煉為Java系統(tǒng)級(jí)別......

    優(yōu)秀程序員修煉之路(5篇)

    優(yōu)秀程序員修煉之路 “為人寫程序”初級(jí)的程序員或經(jīng)驗(yàn)不足的程序員往往只意識(shí)到自己的程序是寫給計(jì)算機(jī)的,而不會(huì)在意程序其實(shí)也是寫給人的,或在意得不夠、不全面。寫給機(jī)器......

    程序員修身之道(5篇范文)

    ? 找其他開發(fā)人員合作開發(fā)。我們正處在科技?xì)v史上第一個(gè)絕好的時(shí)代,你幾乎不用在意在哪工作、 為誰工作。只要你有一個(gè)還過得去的網(wǎng)絡(luò),你就可以和另外一個(gè)在世界任何角落里的人......

主站蜘蛛池模板: 凹凸国产熟女精品视频| 国产在线精品99一卡2卡| 亚洲色精品三区二区一区| 亚洲午夜久久久久久久久久| 亚洲av综合av一区二区三区| 日本护士吞精囗交gif| 亚洲av无码专区青青草原| 久久国产精品2020免费| 亚洲熟女少妇一区二区| 亚洲午夜无码久久久久软件| 无码国产精品一区二区免费久久| 少妇把腿扒开让我添| 国产国产精品人在线观看| 国产亚洲欧美日韩在线三区| 国产精品久久久久久熟妇吹潮软件| 人妻丰满熟妇a无码区| 日产国产精品亚洲系列| 一本久久a久久免费精品不卡| 亚洲一区二区三区四区五区六| 少妇人妻系列无码专区视频| 亚洲免费网站观看视频| 精品久久久久久无码不卡| 一本之道高清无码视频| 欧美伦费免费全部午夜最新| 精品少妇爆乳无码av无码专区| 丰满女邻居的嫩苞张开视频| 亚洲成aⅴ人在线观看| 精品av国产一二三四区| 米奇影院888奇米色99在线| 日本午夜免费福利视频| 欧美和黑人xxxx猛交视频| 日本十八禁视频无遮挡| 国产suv精品一区二区62| 夜夜精品无码一区二区三区| av无码一区二区三区| 国产精品水嫩水嫩| 亚洲熟女乱综合一区二区在线| 最新国产毛2卡3卡4卡| 亲胸揉屁股膜下刺激视频免费网站| 亚洲人成日韩中文字幕无卡| 亚洲欧美日韩久久一区二区|