• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            最近讀了《卓有成效的程序員》,感覺(jué)收獲頗大。這是一本寫給程序員的難得的好書。書中大都是一些淺顯的道理,但作者將這些東西加以收集、歸納、總結(jié),并最終成書。作者為了收集各種提高效率的工具和方法,東奔西走,可謂費(fèi)了一番苦心。

            我覺(jué)得此書第一部分總結(jié)的一些法則非常好,我提取了一下:

            法則: 

            1.加速法則

                關(guān)注本質(zhì),而非形式

                一個(gè)應(yīng)用程序列表的有用程度與它的長(zhǎng)度成反比 

                程序員的很多時(shí)間都浪費(fèi)在找東西上 

                華而不實(shí)的東西中看不中用

                鍵盤輸入總比導(dǎo)航快

                首選鍵盤而非鼠標(biāo)

                地址欄是Windows資源管理器界面中最高效的部分

                花點(diǎn)時(shí)間來(lái)學(xué)習(xí)你手邊的所有隱藏的快捷鍵

                環(huán)境切換會(huì)消耗時(shí)間

                成批復(fù)制粘貼要比反復(fù)多次復(fù)制粘貼快

                忘記歷史就意味著你得再輸入一遍

                嵌入圖形化工具的命令提示符讓你魚與熊掌兼得

                在上下文中學(xué)習(xí)IDE快捷鍵,而不要去背長(zhǎng)長(zhǎng)的列表

                當(dāng)你第二次輸入一個(gè)復(fù)雜結(jié)構(gòu)時(shí),將它做成模板

                如果要對(duì)多行文本做同樣的操作,就應(yīng)該找出其中的模式,并把它記錄為一個(gè)宏

                不要總是重復(fù)輸入相同的命令

                每天花一點(diǎn)點(diǎn)時(shí)間來(lái)使每一天都更高效 

            2.專注法則

                精力越集中,思維越縝密

                排除干擾:隔離策略,關(guān)掉不需要的提示,創(chuàng)造安靜時(shí)間  

                草堆越大,從中找到一根針就越難

                不要問(wèn)文件樹(shù),要搜索

                使用多顯示器

                虛擬桌面可以讓原本雜亂無(wú)章的一大堆窗口變得整潔 

            3.自動(dòng)化法則

                不要重新發(fā)明輪子

                用Selenium瀏覽網(wǎng)頁(yè)

                不要浪費(fèi)時(shí)間動(dòng)手去做可以被自動(dòng)化的事情

                用Windows Power Shell替代批處理文件

                馴服Subversion命令行

                以創(chuàng)造性的方式解決問(wèn)題,有助于在將來(lái)解決類似的問(wèn)題

                是否應(yīng)該自動(dòng)化的關(guān)鍵在于投資回報(bào)率和緩解風(fēng)險(xiǎn)

                研究性的工作應(yīng)該放在時(shí)間盒里做

                別給牦牛剪毛 

            4.規(guī)范性法則

                對(duì)于任何你不自己去構(gòu)建的東西,只在版本控制中保存一份副本

                使用標(biāo)準(zhǔn)的構(gòu)建服務(wù)器

                通過(guò)復(fù)制粘貼來(lái)復(fù)用是邪惡的,不論你復(fù)制粘貼的是什么

                利用虛擬平臺(tái)使項(xiàng)目依賴標(biāo)準(zhǔn)化

                不要讓對(duì)象 - 關(guān)系映射工具(O/R映射器)違反規(guī)范原則 

                通過(guò)擴(kuò)展。開(kāi)放類(open class),或者部分類(partial class) 來(lái)為生成的代碼增加行為

                始終保持代碼和數(shù)據(jù)結(jié)構(gòu)的同步

                過(guò)時(shí)的文檔比沒(méi)有文檔更糟,因?yàn)樗鼤?huì)主動(dòng)誤導(dǎo)你

                任何需要費(fèi)勁創(chuàng)造的東西,都讓它的創(chuàng)造者欲罷不能

                白板 + 數(shù)碼相機(jī)強(qiáng)過(guò)任何CASE工具

                盡量生成所有技術(shù)文檔

                重復(fù)是軟件開(kāi)發(fā)中最大的阻力 

            工具:

            書中,還提到了大量的提高效率的工具,都是非常不錯(cuò)的。相信很多人都有自己的一個(gè)列表,下面是我電腦中必不可少的幾款軟件:

                1. FireFox 及其各類插件

                2. Launchy啟動(dòng)加速器

                3. Total Commander

                4. ClipX多重剪切板

                5. EmEditor文本編輯器 

                6. Vistual Studio的VA插件

                7. Search And Replace

                8. Everything

                9. Miranda IM

                10. .... 

            感觸: 

            1. 憤怒的猴子 

            在書中的第二部分,提到了很多實(shí)踐相關(guān)的內(nèi)容。讓我感觸最深的是“憤怒的猴子”的故事:

            早在20世紀(jì)60年代(那時(shí)候科學(xué)家們可以做任何瘋狂的事情),行為科學(xué)家們進(jìn)行了一項(xiàng)實(shí)驗(yàn)。他們把五只猴子和一架活梯放在一間屋子里,并在天花板上掛了一串香蕉。這些猴子很快就想到它們可以爬上梯子去吃香蕉,但每當(dāng)它們靠近活梯的時(shí)候,科學(xué)家們就用冰水浸滿整個(gè)屋子。我想你能猜到會(huì)發(fā)生什么:一群憤怒的猴子。很快,再?zèng)]有一只猴子會(huì)去靠近那個(gè)梯子了。

            之后,科學(xué)家們將其中一只猴子替換成另一只沒(méi)有忍受過(guò)冰水折磨的新猴子。這只新猴子所做的第一件事就是直奔那架梯子,但當(dāng)它這么做時(shí)其他所有猴子都痛打它。它不明白為什么,但很快就學(xué)乖了:不要去靠近那架梯子。科學(xué)家們逐漸將最初的那些猴子都替換成新猴子,直到這群猴子中誰(shuí)都沒(méi)有被水浸泡過(guò),然而它們還是會(huì)去攻擊任何靠近梯子的猴子。

            這說(shuō)明了什么?軟件項(xiàng)目中許多慣例之所以存在,就因?yàn)?#8221;我們一直是那樣做的“。換句話說(shuō),是因?yàn)閼嵟暮镒印?/em>”

            我們小組在制定C++相關(guān)的代碼規(guī)范時(shí)就遇到過(guò)無(wú)數(shù)類似的問(wèn)題。比如,在制定變量的命名規(guī)范時(shí),我們針對(duì)是否采用匈牙利命名法爭(zhēng)論了很久。有的人認(rèn)為, 幾乎以前看到的所有C++代碼都采用了匈牙利命名法,甚至,微軟定義的所有API都使用了此類命名法。剛開(kāi)始,我也是有同樣的疑惑。

            后來(lái),我們經(jīng)過(guò)仔細(xì)分析C++匈牙利命名法由來(lái),漸漸感覺(jué)我們就是那些憤怒的猴子,盲目跟從前人的方式,缺乏打破傳統(tǒng)的勇氣。C++有著其特殊的歷史原因,很多標(biāo)準(zhǔn)一直沉淀下來(lái)并很少改變。我們?cè)倏纯春髞?lái)新生的那些編程語(yǔ)言,C#, Python…… 都拋棄了匈牙利命名法,同時(shí)再看看現(xiàn)在C++前沿的C++ 0x以及現(xiàn)在出版的一些書中,也漸漸放棄了對(duì)匈牙利命名法的使用。因?yàn)轭愋偷囊饬x在對(duì)象模型中越來(lái)越弱化。因此,最后我們放棄了匈牙利命名法這個(gè)老古董。 

            2. 敏捷開(kāi)發(fā)

            這本書帶有強(qiáng)烈的ThoughtWorks色彩,敏捷的思想貫穿全書,包括測(cè)試驅(qū)動(dòng)設(shè)計(jì),白板,結(jié)對(duì)編程。這也讓我對(duì)敏捷產(chǎn)生了更加強(qiáng)烈的興趣。 其中有一段測(cè)試驅(qū)動(dòng)開(kāi)發(fā)TDD的一段故事:

            記得第一次和一些已經(jīng)習(xí)慣于單元測(cè)試的開(kāi)發(fā)人員一起動(dòng)手開(kāi)始修改代碼時(shí),我也是非常緊張,因?yàn)榇罅康男薷耐鶗?huì)破壞很多東西,但他們看起來(lái)絲毫沒(méi)有猶豫。逐漸地,我也放下心來(lái),因?yàn)槲衣卣J(rèn)識(shí)到:有了測(cè)試的保證,完全可以放心大膽地去修改代碼。” 

            3. 有趣的故事 

            書中還有一些有趣的故事,比如作者的一個(gè)朋友在和別人結(jié)對(duì)編程時(shí),為了養(yǎng)成同伴使用快捷鍵的習(xí)慣,每當(dāng)同伴未使用快捷鍵時(shí),他都會(huì)要求將操作撤銷,然后要求使用快捷鍵再重復(fù)操作3次。然后,在其兇狠的眼神中,同伴很快掌握了快捷鍵。 

            總結(jié):

            這本書很薄,蘊(yùn)藏的道理卻不少,相信每個(gè)讀過(guò)它的人都會(huì)從中收獲。讀過(guò)之后,我們不應(yīng)該局限于書中提到的某些小技巧, 或是書中某一個(gè)細(xì)節(jié),畢竟,提供效率的方法有很多很多,法則也有很多很多,一本書很難將其窮舉完。我們應(yīng)該從書中吸取其思想,并在實(shí)際工作和學(xué)習(xí)中不斷總結(jié),做一個(gè)真正的“卓有成效的程序員”!

            久久夜色精品国产噜噜麻豆| 久久久久久精品成人免费图片 | 国产精品久久国产精麻豆99网站| 国内精品久久久人妻中文字幕| 久久99国产精一区二区三区| 久久精品国产精品亚洲下载| 久久午夜福利无码1000合集| 精品人妻久久久久久888| 热久久这里只有精品| 中文字幕无码久久精品青草 | 97久久精品人人澡人人爽| 亚洲国产日韩欧美综合久久| 久久99热只有频精品8| 日日狠狠久久偷偷色综合免费| 久久夜色精品国产噜噜亚洲AV| 久久天天躁狠狠躁夜夜2020老熟妇| 欧美牲交A欧牲交aⅴ久久| 日产久久强奸免费的看| 亚洲国产二区三区久久| 亚洲乱码中文字幕久久孕妇黑人 | 久久精品麻豆日日躁夜夜躁| 亚洲?V乱码久久精品蜜桃| 一本久久a久久精品综合夜夜| 色综合久久久久无码专区| 色综合久久天天综线观看| 国产成人久久777777| 久久精品一区二区三区不卡| 国产成人精品三上悠亚久久| 日韩美女18网站久久精品| 国产精品亚洲综合专区片高清久久久| 久久久久久国产精品免费无码 | 久久ww精品w免费人成| 无码人妻精品一区二区三区久久 | 国产精品久久久久AV福利动漫| 久久AV高潮AV无码AV| 免费精品国产日韩热久久| 久久99国产一区二区三区| 久久国产精品-国产精品| 国产成人久久精品一区二区三区| 无码人妻精品一区二区三区久久久| 一本色道久久88—综合亚洲精品|