欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

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

      時間:2019-05-12 19:17:40下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《程序員內(nèi)功修煉篇》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《程序員內(nèi)功修煉篇》。

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

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

      數(shù)據(jù)結(jié)構(gòu)和算法

      算法是比較難學(xué)習(xí)的,而且學(xué)習(xí)“ 算法 ” 是需要智商的。數(shù)組、鏈表、哈希表、二叉樹、排序算法等一些基礎(chǔ)知識,對大多數(shù)人來說是沒什么問題的。但是一旦進(jìn)入到路徑規(guī)劃、背包問題、字符串匹配、動態(tài)規(guī)劃、遞歸遍歷等一些比較復(fù)雜的問題上,就會讓很多人跟不上了,不但跟不上,而且還會非常痛苦。是的,解決算法問題的確是可以區(qū)分人類智商的一個比較好的方式,這也是為什么好些公司用算法題當(dāng)面試題來找到智商比較高的程序員。

      然而,在很多時候,我們在工作中卻發(fā)現(xiàn)根本用不到算法,或是一些基本的算法也沒有必要實現(xiàn),只需要使用一下第三方的庫就好了。于是,導(dǎo)致社會上出現(xiàn)很多 “ 算法無用論 ” 的聲音。

      對此,我想說,算法真的很重要。我這 20 年的經(jīng)歷告訴我,無論是做業(yè)務(wù)還是做底層系統(tǒng),經(jīng)常需要使用算法處理各種各樣的問題。比如,業(yè)務(wù)上我需要用算法比較兩個數(shù)組中差異的布隆過濾器,或是在做監(jiān)控系統(tǒng)時實時計算過去一分鐘的 P99 統(tǒng)計時的蓄水池算法,或是數(shù)據(jù)庫的 B+ 樹索引,還有 Linux 內(nèi)核中的 epoll 的紅黑樹,還有在做服務(wù)調(diào)度里的 “ 背包問題 ” 等都會用算法,真的是會本質(zhì)上幫助到你,也是會讓你非常有成就感的一件事。

      雖然算法很難,需要智商,但我還是想鼓勵你,這其中是有很多的套路是可以學(xué)習(xí)的,一旦學(xué)會這些套路,你會受益無窮的。這里有幾本書著重推薦一下。

      ?

      基礎(chǔ)知識?!端惴ā罚撬惴I(lǐng)域經(jīng)典的參考書,不但全面介紹了關(guān)于算法和數(shù)據(jù)結(jié)構(gòu)的必備知識,還給出了每位程序員應(yīng)知應(yīng)會的 50 個算法,并提供了實際代碼。最不錯的是,其深入淺出的算法介紹,讓一些比較難的算法也變得容易理解,尤其是書中對紅黑樹的講解非常精彩。其中,還有大量的圖解,詳盡的代碼和講解,也許是最好的數(shù)據(jù)結(jié)構(gòu)入門圖書。不好的是不深,缺乏進(jìn)一步的算法設(shè)計內(nèi)容,甚至連動態(tài)規(guī)劃都未提及。另外,如果你覺得算法書比較枯燥的話,你可以看看這本有趣的《算法圖解》。

      ?

      ?

      理論加持。如果說上面這本書偏于實踐和工程,而你看完后,對算法和數(shù)據(jù)結(jié)構(gòu)的興趣更濃了,那么你可以再看看另一本也是很經(jīng)典的偏于理論方面的書——《算法導(dǎo)論》。雖然其中的一些理論知識在《算法》那本書中也有提過,但《算法導(dǎo)論》這本書更為專業(yè)一些,是美國計算機(jī)科學(xué)本科生的教科書。

      ?

      ?

      思維改善。還有一本叫《編程珠璣》的書,寫這本書的人是世界著名計算機(jī)科學(xué)家喬恩·本特利(Jon Bentley),被譽(yù)為影響算法發(fā)展的十位大師之一。你可能不認(rèn)識這個人,但是你知道他的學(xué)生有多厲害嗎?我例舉幾個,一個是 Tcl 語言設(shè)計者約翰·奧斯德奧特(John Ousterhout),另一個是 Java 語言設(shè)計者詹姆斯·高斯林(James Gosling),還有一個是《算法導(dǎo)論》作者之一查爾斯·雷斯?fàn)柹–harles Leiserson),還有好多好多。這本書也是很經(jīng)典的算法書,其中都是一些非常實際的問題,并以其獨有的洞察力和創(chuàng)造力,來引導(dǎo)讀者理解并學(xué)會解決這些問題的方法,也是一本可以改善你思維方式的書。

      ?

      然后,你需要去做一些題來訓(xùn)練一下自己的算法能力,這里就要推薦 LeetCode 這個網(wǎng)站了。它是一個很不錯的做算法訓(xùn)練的地方?,F(xiàn)在也越做越好了。基本上來說,這里會有兩類題。

      ?

      基礎(chǔ)算法題。其中有大量的算法題,解這些題都是有套路的,不是用遞歸(深度優(yōu)先 DFS,廣度優(yōu)先 BFS),就是要用動態(tài)規(guī)劃(Dynamic Programming),或是折半查找(Binary Search),或是回溯(Back tracing),或是分治法(Divide and Conquer),還有大量的對樹、數(shù)組、鏈表、字符串和 hash 表的操作。通過做這些題能讓你對這些最基礎(chǔ)的算法的思路有非常扎實的了解和訓(xùn)練。對我而言,Dynamic Programming 是我的短板,尤其是一些比較復(fù)雜的問題,在推導(dǎo)遞推公式上總是有思維的缺陷(數(shù)學(xué)是我的硬傷)。做了這些題后,我能感到我在動態(tài)編程的思路上受到了很大的啟發(fā)。

      ?

      ?

      編程題。比如:atoi,strstr,add two nums,括號匹配,字符串乘法,通配符匹配,文件路徑簡化,Text Justification,反轉(zhuǎn)單詞等,這些題的 Edge Case 和 Corner Case 有很多。這些題需要你想清楚了再干,只要你稍有疏忽,就會有幾個 case 讓你痛不欲生,而且一不小心就會讓你的代碼寫得又臭又長,無法閱讀。通過做這些題,可以非常好地訓(xùn)練你對各種情況的考慮,以及你對程序代碼組織的掌控(其實就是其中的狀態(tài)變量)。

      ?

      我覺得每個程序員都應(yīng)該花時間和精力做這些題,因為你會從這些題中得到很大的收益。我在 Leetcode 上做的一些題的代碼在這——我的 Github 上,可以給你一些參考。

      如果能夠把這些算法能力都掌握了,那么你就有很大的概率可以很容易地通過這世界上最優(yōu)的公司的面試,比如:Google、Amazon、Facebook 之類的公司。對你來說,如果能夠進(jìn)入到這些公司里工作,那么你未來的想像空間也會大得多得多。

      最后,我們要知道這個世界上的數(shù)據(jù)結(jié)構(gòu)和算法很多很多,下面給出了兩個網(wǎng)站。

      ? List of Algorithms,這個網(wǎng)站羅列了非常多的算法,完全可以當(dāng)成一個算法字典,或是用來開闊眼界。? 還有一個數(shù)據(jù)結(jié)構(gòu)動畫圖的網(wǎng)站 Data Structure Visualizations。

      其它理論基礎(chǔ)知識

      下面這些書,基本上是計算機(jī)科學(xué)系的大學(xué)教材。如果你想有科班出生的理論基礎(chǔ),那么這些書是必讀的。當(dāng)然,這些理論基礎(chǔ)知識比較枯燥,但我覺得如果你想成為專業(yè)的程序員,那么應(yīng)該要找時間讀一下。

      ?

      《數(shù)據(jù)結(jié)構(gòu)與算法分析》,這本書曾被評為 20 世紀(jì)頂尖的 30 部計算機(jī)著作之一,作者 Mark Allen Weiss 在數(shù)據(jù)結(jié)構(gòu)和算法分析方面卓有建樹,他在數(shù)據(jù)結(jié)構(gòu)和算法分析等方面的著作尤其暢銷,并廣受好評,已被世界 500 余所大學(xué)用作教材。

      ?

      ?

      《數(shù)據(jù)庫系統(tǒng)概念》,它是數(shù)據(jù)庫系統(tǒng)方面的經(jīng)典教材之一。國際上許多著名大學(xué)包括斯坦福大學(xué)、耶魯大學(xué)、德克薩斯大學(xué)、康奈爾大學(xué)、伊利諾伊大學(xué)、印度理工學(xué)院等都采用本書作為教科書。這本書全面介紹了數(shù)據(jù)庫系統(tǒng)的各種知識,透徹闡釋數(shù)據(jù)庫管理的基本概念。不僅討論了數(shù)據(jù)庫查詢語言、模式設(shè)計、數(shù)據(jù)倉庫、數(shù)據(jù)庫應(yīng)用開發(fā)、基于對象的數(shù)據(jù)庫和 XML、數(shù)據(jù)存儲和查詢、事務(wù)管理、數(shù)據(jù)挖掘與信息檢索以及數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)等方面的內(nèi)容,而且對性能評測標(biāo)準(zhǔn)、性能調(diào)整、標(biāo)準(zhǔn)化以及空間與地理數(shù)據(jù)、事務(wù)處理監(jiān)控等高級應(yīng)用主題進(jìn)行了廣泛討論。

      ?

      ?

      《現(xiàn)代操作系統(tǒng)》,這本書是操作系統(tǒng)領(lǐng)域的經(jīng)典之作,書中集中討論了操作系統(tǒng)的基本原理,包括進(jìn)程、線程、存儲管理、文件系統(tǒng)、輸入 / 輸出、死鎖等,同時還包含了有關(guān)計算機(jī)安全、多媒體操作系統(tǒng)、掌上計算機(jī)操作系統(tǒng)、微內(nèi)核、多核處理機(jī)上的虛擬機(jī)以及操作系統(tǒng)設(shè)計等方面的內(nèi)容。

      ?

      ? 《計算機(jī)網(wǎng)絡(luò)》,這本書采用了獨創(chuàng)的自頂向下方法,即從應(yīng)用層開始沿協(xié)議棧向下講解計算機(jī)網(wǎng)絡(luò)的基本原理,強(qiáng)調(diào)應(yīng)用層范例和應(yīng)用編程接口,內(nèi)容深入淺出,注重教學(xué)方法,理論與實踐相結(jié)合。新版中還增加了無線和移動網(wǎng)絡(luò)一章,并擴(kuò)充了對等網(wǎng)絡(luò)、BGP、MPLS、網(wǎng)絡(luò)安全、廣播選路和因特網(wǎng)編址及轉(zhuǎn)發(fā)方面的材料。是一本不可多得的教科書。

      ?

      ?

      《計算機(jī)程序的構(gòu)造和解釋》,這本書也很經(jīng)典,是 MIT 的計算機(jī)科學(xué)系的教材。這本書中主要證實了很多程序是怎么構(gòu)造出來的,以及程序的本質(zhì)是什么。整本書主要是使用 Scheme/Lisp 語言,從數(shù)據(jù)抽象、過程抽象、迭代、高階函數(shù)等編程和控制系統(tǒng)復(fù)雜性的思想,到數(shù)據(jù)結(jié)構(gòu)和算法,到編譯器 / 解釋器、編程語言設(shè)計。

      ?

      ?

      《編譯原理》,這本書又叫 “ 龍書 ”,其全面、深入地探討了編譯器設(shè)計方面的重要主題,包括詞法分析、語法分析、語法制導(dǎo)定義和語法制導(dǎo)翻譯、運(yùn)行時刻環(huán)境、目標(biāo)代碼生成、代碼優(yōu)化技術(shù)、并行性檢測以及過程間分析技術(shù),并在相關(guān)章節(jié)中給出大量的實例。與上一版相比,本書進(jìn)行了全面的修訂,涵蓋了編譯器開發(fā)方面的最新進(jìn)展。每章中都提供了大量的系統(tǒng)及參考文獻(xiàn)。

      ?

      小結(jié)

      好了,最后我們來總結(jié)一些今天分享的內(nèi)容。在這篇文章中,我建議想進(jìn)入專業(yè)編程領(lǐng)域的人,一定要算法、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)模型、計算機(jī)原理等理論知識,并推薦了相應(yīng)的學(xué)習(xí)素材,給出了我的思考和建議。

      我認(rèn)為,雖然這些理論知識枯燥難學(xué),而且通常學(xué)完了在工作中也并不是馬上就能用上,但這些知識是必須要學(xué)好的。這些理論知識可以說是計算機(jī)科學(xué)這門學(xué)科最精華的知識了,認(rèn)真學(xué)習(xí),理解其背后的邏輯和思維方式,會令你受益匪淺。不管是未來學(xué)習(xí)新知識,還是解決什么疑難問題,都能在這些知識中獲得靈感或者啟發(fā)。

      第二篇:程序員修煉 收藏

      程序員修煉 收藏

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      第三篇:修煉“九段”內(nèi)功__成就職業(yè)發(fā)展

      修煉“九段”內(nèi)功成就職業(yè)發(fā)展

      作為職場80后的一員,我有沖勁,有雄心壯志,在泰康也有自己的職業(yè)發(fā)展目標(biāo),為此,我努力工作,積極向上,努力完成領(lǐng)導(dǎo)交付的各項任務(wù),希望獲得更多的職業(yè)發(fā)展空間。過去幾年我年輕氣盛,急功近利,做事投機(jī)取巧,耍小聰明,總以為自己已經(jīng)很不錯,如今,這篇《九段秘書》讓我猶如醍醐灌頂、茅塞頓開,頓感慚愧!

      不單完成任務(wù),而且對結(jié)果負(fù)責(zé)——以結(jié)果為導(dǎo)向的工作

      我們先來看看七段秘書與一段秘書的最大差別:一段秘書完成了領(lǐng)導(dǎo)交辦的任務(wù):“開會”,而七段秘書不僅僅完成了“開會”這個任務(wù),還把握了開會的結(jié)果:“充分傳達(dá)到位”。將會議達(dá)成的結(jié)果文本化,并且保證傳達(dá)到每一位參會者。其實通常我們在接受領(lǐng)導(dǎo)交辦的任務(wù)時,往往只看到任務(wù)的本身,而沒有多去深思這個任務(wù)所要的結(jié)果,最后我們自以為“圓滿”地完成了任務(wù),但領(lǐng)導(dǎo)看了往往是“搖頭嘆息”,心里總覺得下屬不得要領(lǐng)。

      超出自己的職責(zé),發(fā)揮更多的作用——分擔(dān)領(lǐng)導(dǎo)的職責(zé)

      一般意義上,假如這個秘書做到了七段,我們會認(rèn)為這已經(jīng)是個稱職的秘書。但其實后面還有兩段“功力”需要修煉。八段秘書之所以比七段“功力”更加深厚,是因為他不但完成了自己的份內(nèi)工作,還為總經(jīng)理分擔(dān)了部分工作:監(jiān)督執(zhí)行(會議的精髓)。我們可以把這個定義為“超出期望”?!俺銎谕钡墓ぷ骱芸赡軙ㄙM我們更多的時間,但收獲卻將會數(shù)倍于我們的付出:因為我們分擔(dān)了總經(jīng)理的職責(zé),有朝一日,我們也可能成為總經(jīng)理。

      讓一群平凡的人創(chuàng)造不平凡——流程和制度的積淀保證結(jié)果

      假如說七段秘書將一套武功秘籍全部修煉成功,八段秘書在自己修煉感悟的基礎(chǔ)上開創(chuàng)了部分新的招數(shù),那么九段秘書所做的就是把自己的感悟和新招數(shù)記錄下來,傳承并發(fā)揚(yáng)光大。有位管理學(xué)大師曾經(jīng)說過:現(xiàn)代企業(yè)管理的最終目的是讓一群平凡的人創(chuàng)造不平凡。但不平凡的結(jié)果不是一步到位的,它需要不斷將眾多優(yōu)秀的個人經(jīng)驗和成果積累下來,并且變成后人容易學(xué)習(xí)的東西——流程。除此之外,為了讓這些能保證結(jié)果的流程執(zhí)行到位,就必須有可量化的制度去監(jiān)督,有及時地獎懲去鼓勵和鞭策。

      需要有九段之能,但不必樣樣九段——以有限的時間達(dá)到最佳結(jié)果

      很多人都看過《射雕英雄傳》,其中的英雄人物大多有九段之能,但他們并非樣樣都是九段。第一主人公郭靖以降龍十八掌聞名天下,但其他武學(xué)(比如兵器、輕功、暗器、用毒等)都未見所長,只能說是陪襯和輔助,但這樣并不影響他成為首屈一指的大英雄。因為我們的時間精力是有限的,不可能讓我們在各方面都達(dá)到九段。現(xiàn)在的職場,講究“一專多能”,也就是說我們的首要任務(wù)是必須盡早修煉一到兩項“九段”之能,讓我們有足夠競爭力,其它輔助技能則可以適當(dāng)學(xué)習(xí),夠用即可。李強(qiáng)老師有句名言:“一?!敝荒軠仫?,“所長”才能致富。可見九段之能對我們來說多么重要。

      對于我自己來說,根據(jù)自己的職業(yè)發(fā)展目標(biāo),盡快在一到兩個專業(yè)模塊上取得九段之能、并且熟悉相近模塊的常規(guī)流程是我現(xiàn)階段的主要任務(wù)。當(dāng)然在修煉自己“九段”之能的同時,還需要對公司其他部門的工作有足夠的了解。因為只有對全局“了然于心”,才能做到“游刃有余”。一項九段之能的修煉成功,也必然會給我們帶來很多經(jīng)驗和總結(jié),對于修煉其它技能也有很好的借鑒作用?;蛟S我們可以將《九段秘書》視為一種典型的修煉思路,那么無論面對什么新的挑戰(zhàn),我們都可以從容應(yīng)對。

      你的工作態(tài)度意識決定你是幾段秘書

      把九段秘書的做事風(fēng)格放到自己的本職工作中來看,作為公司專業(yè)知識推動者,負(fù)有為公司培訓(xùn)訓(xùn)練人才,建流程建體系的義務(wù)與使命,只有通過高質(zhì)量的自我修煉,自身綜合能力的提升,才能體現(xiàn)工作的價值。培訓(xùn)涉及領(lǐng)域很廣,提供信息、溝通協(xié)調(diào)、督促落實、形成標(biāo)準(zhǔn)流程等,必須不斷地、持之以恒地學(xué)習(xí)。培訓(xùn)部在中支起到承上啟下、內(nèi)外兼修的作用,平時按照領(lǐng)導(dǎo)的批示和授權(quán)辦事,一定要把位置擺正,要在自己的職責(zé)范圍內(nèi)行事。人家出于對工作的重視和對領(lǐng)導(dǎo)的尊重,給予積極支持和配合,態(tài)度要客氣和藹,要有自知之明,千萬不要把自己位置擺的過高,覺得身價不凡,很了不起。一句話言之,高調(diào)做事,低調(diào)做人。其實,九段秘書告訴我們的不止是“怎么做事,而是強(qiáng)調(diào)做事的方法”,這就需要我們無論在什么崗位中都應(yīng)扎扎實實地做好工作。記得“經(jīng)營之神”王永慶說過這么一句話“賣冰淇淋要從冬天開始”,在寒潮吹襲世界經(jīng)濟(jì)之際,正是我們狠抓業(yè)務(wù)、苦練內(nèi)功、專業(yè)培訓(xùn)的最佳時機(jī)。

      九段秘書,九種不同的方式,九種不同的結(jié)果,九種不同的人生!修煉“九段”內(nèi)功,已成為我們今后的努力方向。其實,從我們走出校門進(jìn)入企業(yè)的第一天開始,我們就已經(jīng)開始修煉,但,或許修煉時間尚短,或修煉方法有偏差,又

      亦或修煉的武學(xué)其實并不適合自己,我們未有所長!那么,從現(xiàn)在開始,帶著明確的“修煉”目標(biāo)、正確的“修煉”方法,堅持不懈地前行吧!未來,練就“九段”內(nèi)功的我們,必能實現(xiàn)自己的職業(yè)發(fā)展目標(biāo)!

      培訓(xùn)部 譚章敏

      2013年3月20日

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

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

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

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

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

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

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

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

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

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

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

      二:J2EE方面

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      供給客戶,用戶體驗至關(guān)重要,常??吹降膱鼍笆枪δ軐崿F(xiàn)了,軟件很難使用,程序員有個

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

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

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

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

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

      五:自動測試與軟件配置管理(SCM)實現(xiàn)

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

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

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

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

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

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

      http://proguard.sourceforge.net/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      第五篇:修煉“九段”內(nèi)功成就職業(yè)發(fā)展

      修煉“九段”內(nèi)功成就職業(yè)發(fā)展

      ----讀《九段秘書》有感作為職場80后的一員,我有沖勁,也有自己的職業(yè)發(fā)展目標(biāo),為此,我努力工作,希望獲得更多的職業(yè)發(fā)展空間。然而,在實際工作中,當(dāng)我信心百倍地向領(lǐng)導(dǎo)匯報自己的工作成果時,滿以為領(lǐng)導(dǎo)會表揚(yáng)或肯定自己的努力,但卻不時得到批評或是領(lǐng)導(dǎo)那“恨鐵不成鋼”的眼神。這究竟是怎么了?為什么我付出這么多努力仍然得不到領(lǐng)導(dǎo)的贊許呢?為此,我很困惑、也很懊惱。如今,這篇《九段秘書》讓我猶如醍醐灌頂、茅塞頓開。不單完成任務(wù),而且對結(jié)果負(fù)責(zé)——以結(jié)果為導(dǎo)向的工作

      我們先來看看七段秘書與一段秘書的最大差別:一段秘書完成了領(lǐng)導(dǎo)交辦的任務(wù):“開會”,而七段秘書不僅僅完成了“開會”這個任務(wù),還把握了開會的結(jié)果:“充分傳達(dá)到位”。將會議達(dá)成的結(jié)果文本化,并且保證傳達(dá)到每一位參會者。其實通常我們在接受領(lǐng)導(dǎo)交辦的任務(wù)時,往往只看到任務(wù)的本身,而沒有多去深思這個任務(wù)所要的結(jié)果,最后我們自以為“圓滿”地完成了任務(wù),但領(lǐng)導(dǎo)看了往往是“搖頭嘆息”,心里總覺得下屬不得要領(lǐng)。超出自己的職責(zé),發(fā)揮更多的作用——分擔(dān)領(lǐng)導(dǎo)的職責(zé)

      一般意義上,假如這個秘書做到了七段,我們會認(rèn)為這已經(jīng)是個稱職的秘書。但其實后面還有兩段“功力”需要修煉。八段秘書之所以比七段“功力”更加深厚,是因為他不但完成了自己的份內(nèi)工作,還為總經(jīng)理分擔(dān)了部分工作:監(jiān)督執(zhí)行(會議的精髓)。我們可以把這個定義為“超出期望”?!俺銎谕钡墓ぷ骱芸赡軙ㄙM我們更多的時間,但收獲卻將會數(shù)倍于我們的付出:因為我們分擔(dān)了總經(jīng)理的職責(zé),有朝一日,我們也可能成為總經(jīng)理。讓一群平凡的人創(chuàng)造不平凡——流程和制度的積淀保證結(jié)果

      假如說七段秘書將一套武功秘籍全部修煉成功,八段秘書在自己修煉感悟的基礎(chǔ)上開創(chuàng)了部分新的招數(shù),那么九段秘書所做的就是把自己的感悟和新招數(shù)記錄下來,傳承并發(fā)揚(yáng)光大。有位管理學(xué)大師曾經(jīng)說過:現(xiàn)代企業(yè)管理的最終目的是讓一群平凡的人創(chuàng)造不平凡。但不平凡的結(jié)果不是一步到位的,它需要不斷將眾多優(yōu)秀的個人經(jīng)驗和成果積累下來,并且變成后人容易學(xué)習(xí)的東西——流程。除此之外,為了讓這些能保證結(jié)果的流程執(zhí)行到位,就必須有可量化的制度去監(jiān)督,有及時地獎懲去鼓勵和鞭策。

      需要有九段之能,但不必樣樣九段——以有限的時間達(dá)到最佳結(jié)果

      很多人都看過《射雕英雄傳》,其中的英雄人物大多有九段之能,但他們并非樣樣都是九段。第一主人公郭靖以降龍十八掌聞名天下,但其他武學(xué)(比如兵器、輕功、暗器、用毒等)都未見所長,只能說是陪襯和輔助,但這樣并不影響他成為首屈一指的大英雄。因為我們的時間精力是有限的,不可能讓我們在各方面都達(dá)到九段?,F(xiàn)在的職場,講究“一專多能”,也就是說我們的首要任務(wù)是必須盡早修煉一到兩項“九段”之能,讓我們有足夠競爭力,其它輔助技能則可以適當(dāng)學(xué)習(xí),夠用即可。李強(qiáng)老師有句名言:“一?!敝荒軠仫枺八L”才能致富??梢娋哦沃軐ξ覀儊碚f多么重要。

      對于我自己來說,根據(jù)自己的職業(yè)發(fā)展目標(biāo),盡快在一到兩個專業(yè)模塊上取得九段之能、并且熟悉相近模塊的常規(guī)流程是我現(xiàn)階段的主要任務(wù)。當(dāng)然在修煉自己“九段”之能的同時,還需要對公司其他部門的工作有足夠的了解。因為只有對全局“了然于心”,才能做到“游刃有余”。一項九段之能的修煉成功,也必然會給我們帶來很多經(jīng)驗和總結(jié),對于修煉其它技能也有很好的借鑒作用?;蛟S我們可以將《九段秘書》視為一種典型的修煉思路,那么無論面對什么新的挑戰(zhàn),我們都可以從容應(yīng)對。

      九段秘書,九種不同的方式,九種不同的結(jié)果,九種不同的人生!修煉“九段”內(nèi)功,已成為我們今后的努力方向。其實,從我們走出校門進(jìn)入企業(yè)的第一天開始,我們就已經(jīng)開始修煉,但,或許修煉時間尚短,或修煉方法有偏差,又亦或修煉的武學(xué)其實并不適合自己,我們未有所長!那么,從現(xiàn)在開始,帶著明確的“修煉”目標(biāo)、正確的“修煉”方法,堅持不懈地前行吧!未來,練就“九段”內(nèi)功的我們,必能實現(xiàn)自己的職業(yè)發(fā)展目標(biāo)!

      下載程序員內(nèi)功修煉篇word格式文檔
      下載程序員內(nèi)功修煉篇.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為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)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        原創(chuàng)3:淺談拓展培訓(xùn)師內(nèi)功的五項修煉

        五觀 I原創(chuàng):淺談拓展培訓(xùn)師內(nèi)功的五項修煉 文/五觀·余其斌 前兩篇文章從培訓(xùn)師的分享和客戶方的選擇兩個角度撰寫了兩篇文章,而兩篇文章都留了同一個伏筆,即:最終的培訓(xùn)效果均......

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

        《程序員修煉之道》讀后感編程技術(shù)就是程序員的手藝,你的程序就是你的藝術(shù)品。時刻關(guān)注自己的技藝,保持熱情、保持好奇,爭取做到富有專長而又多才多藝??此茦闼氐牡览?,實際是若......

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

        Java系統(tǒng)程序員修煉之道 ——動力節(jié)點java 一:Java語言學(xué)習(xí)對線程(thread),串行化,反射,網(wǎng)絡(luò)編程,JNI技術(shù),容器(Map,List, Iterator), 類加載器(ClassLoader),輸入輸出流,垃圾回收......

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

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

        Java程序員修煉十大過程

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

        (總結(jié))程序員的思維修煉(推薦閱讀)

        程序員的思維修煉 開發(fā)認(rèn)知潛能的九堂課 我的總結(jié) 第一章:嘗試改變自己。 第二章:德雷福斯模型。從整體角度看待問題。保持實踐。學(xué)習(xí)如何學(xué)習(xí)的技能。 第三章:雙cpu,L與R。多用......

        練好內(nèi)功范文

        08高三班會材料(四) 凝神聚氣練內(nèi)功倚天仗劍傲期中尊敬的同學(xué)們: 開學(xué)至今兩個月來,在班主任的辛勤努力下,你們在日常行為規(guī)范和學(xué)習(xí)方面都取得了較大進(jìn)步,從教學(xué)樓到公寓樓,從休息......

        修煉一名程序員的職業(yè)水準(zhǔn)[5篇材料]

        修煉一名程序員的職業(yè)水準(zhǔn)(林慶忠__署名原創(chuàng)) 作者:林慶忠,1990年畢業(yè)于昆明工學(xué)院計算機(jī)軟件專業(yè),后又于1999年畢業(yè)在南京大學(xué) 完成軟件工程專業(yè)碩士的學(xué)習(xí),現(xiàn)供職于CNPC旗下的......