• <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>
            原文:http://blog.csdn.net/myan/archive/2006/05/25/754239.aspx

            今天跟一些朋友在信件里討論C++的使用。一個(gè)還在學(xué)習(xí)C++的朋友,認(rèn)為要把重點(diǎn)放在虛函數(shù)、多態(tài)性、STL上。我認(rèn)為學(xué)習(xí)的時(shí)候這樣考慮肯定是對(duì)的,但是真正開(kāi)發(fā)的時(shí)候,不能因?yàn)槟阏莆樟薕O、generic這些先進(jìn)武器,就非要用上這些東西,以示區(qū)別不可。謹(jǐn)慎合理地使用語(yǔ)言的機(jī)制是開(kāi)發(fā)良好C++程序的關(guān)鍵,至少在心態(tài)上是關(guān)鍵。


            下面是信件內(nèi)容的摘選:

            你寫(xiě)C++的時(shí)候,一定要想清楚,你是在做基礎(chǔ)設(shè)施還是在應(yīng)用。如果是基礎(chǔ)設(shè)施,比如類庫(kù)、框架、底層功能的class wrapper,那么可以允許你大膽地使用C++中的各種技巧,關(guān)鍵的要求是你得暴露出來(lái)一個(gè)clean的interface,讓別人好用。這一點(diǎn)并不容易,特別是有的時(shí)候你覺(jué)得很好用的接口人家就覺(jué)得很別扭。所以比較省心的做法就是把接口設(shè)計(jì)成流行的風(fēng)格。比如模仿STL的風(fēng)格,模仿Java的風(fēng)格,模仿COM的風(fēng)格,甚至模仿MFC的風(fēng)格,可能都比你自己發(fā)明一種新風(fēng)格要“好用”。

            可是做應(yīng)用開(kāi)發(fā)的時(shí)候,手就要把緊點(diǎn),別自鳴得意地濫用高級(jí)技巧。應(yīng)用開(kāi)發(fā)很大程度上受基礎(chǔ)設(shè)施的制約,總的來(lái)說(shuō),使用函數(shù)、POD對(duì)象、concrete class,從framework中派生出來(lái)的class,再加上一點(diǎn)點(diǎn)用來(lái)節(jié)省打字的template,足以滿足應(yīng)用開(kāi)發(fā)的需要。特別是當(dāng)你的下面沒(méi)有很完備的class library或者framework的時(shí)候,千萬(wàn)不要一邊寫(xiě)應(yīng)用,一邊又想著怎么讓自己的這些東西“為萬(wàn)世開(kāi)太平”,那樣的話很容易就會(huì)把程序結(jié)構(gòu)作的過(guò)于復(fù)雜。最后往往是應(yīng)用沒(méi)寫(xiě)好,也沒(méi)有可復(fù)用性。以前我沒(méi)有經(jīng)驗(yàn)的時(shí)候,最容易犯的錯(cuò)誤就是這個(gè)。

            做基礎(chǔ)設(shè)施的開(kāi)發(fā),那叫“設(shè)計(jì)”,是要為以后考慮的,為了長(zhǎng)遠(yuǎn)利益可以犧牲眼前的進(jìn)度、簡(jiǎn)單性。可是做應(yīng)用,那眼前利益是第一位的,你先把手頭的東西又快又穩(wěn)地run起來(lái),才談得上以后有復(fù)用的可能。眼前的東西作的一塌糊涂,說(shuō)里面有的模塊設(shè)計(jì)得超級(jí)棒,絕對(duì)能復(fù)用,你自己都不相信。代碼要一絲不茍,該寫(xiě)注釋寫(xiě)注釋,該寫(xiě)assert寫(xiě)assert,該怎么樣怎么樣,不能因?yàn)橄胫胺凑簿褪且诲N子買(mǎi)賣(mài)”就馬馬虎虎。至于能不能復(fù)用,那是以后的事情。所謂Design for today, code for tomorrow,就是這個(gè)意思。
            posted on 2006-07-11 07:29 張沈鵬 閱讀(400) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 轉(zhuǎn)載
            Comments
            • # re: [轉(zhuǎn)載]寫(xiě)C++程序要清楚自己的角色
              Francis Arcanum
              Posted @ 2006-07-24 12:34
              同意,最近老是有人說(shuō)C++這樣那樣的技術(shù)太華麗,不實(shí)用
              其實(shí)還是應(yīng)該看場(chǎng)合  回復(fù)  更多評(píng)論   
             
            久久精品国产亚洲AV麻豆网站| 久久久久婷婷| 伊人久久久AV老熟妇色| 亚洲国产精品综合久久网络 | 色妞色综合久久夜夜| 亚洲国产成人久久综合野外| 久久久久亚洲AV无码去区首| 婷婷久久综合九色综合绿巨人| 久久国产免费直播| 欧美激情精品久久久久久久| 久久夜色精品国产www| 久久久久免费精品国产| 成人午夜精品无码区久久| 久久久亚洲欧洲日产国码二区| AV无码久久久久不卡网站下载| 精品久久久久久亚洲精品| 青青青国产成人久久111网站| 国产综合精品久久亚洲| 婷婷国产天堂久久综合五月| 亚洲中文字幕久久精品无码APP| 久久综合狠狠综合久久| 日本久久久精品中文字幕| 亚洲AⅤ优女AV综合久久久| 亚洲综合日韩久久成人AV| 久久久久久久99精品免费观看| 精品久久久久中文字幕一区| 99久久香蕉国产线看观香| 久久精品亚洲一区二区三区浴池| 99久久精品免费国产大片| 亚洲Av无码国产情品久久| 精品久久久久久无码专区| 精品久久久久久久中文字幕| 国产A三级久久精品| 大美女久久久久久j久久| 亚洲中文字幕无码久久2017| 久久精品国产欧美日韩| 久久国产精品无码一区二区三区| 欧美色综合久久久久久| 久久这里只精品国产99热| 久久人妻无码中文字幕| 国产精品免费久久久久久久久|