• <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)論   
             
            久久99国产精品二区不卡| 久久国产香蕉视频| 九九久久99综合一区二区| 久久精品国产亚洲av瑜伽| 久久久无码精品亚洲日韩京东传媒 | 欧美久久久久久| 粉嫩小泬无遮挡久久久久久| 国产精品一区二区久久精品无码| 久久99久久99精品免视看动漫| 国产精品女同久久久久电影院| 日韩中文久久| 91精品国产色综久久| 久久久亚洲欧洲日产国码aⅴ| 久久久久亚洲AV成人网人人网站 | 国产精品无码久久综合| 欧美久久一级内射wwwwww.| 久久国产精品-国产精品| 久久久无码精品亚洲日韩京东传媒| 国产精品久久久久影院色| 色综合久久综合中文综合网| 久久午夜免费视频| 亚洲第一永久AV网站久久精品男人的天堂AV | 一本色道久久88综合日韩精品| 久久久久亚洲AV无码永不| 伊人久久大香线蕉无码麻豆| 精品久久久久久无码人妻蜜桃| 久久精品一区二区| 久久AV高清无码| 99国产欧美精品久久久蜜芽| 久久精品无码午夜福利理论片 | 99久久精品国产麻豆| 日韩人妻无码一区二区三区久久| 精品久久久一二三区| 亚洲精品无码久久久久AV麻豆| 日韩欧美亚洲综合久久影院Ds | 精品久久久久久久久午夜福利| 国色天香久久久久久久小说| 99精品久久精品一区二区| 亚洲中文字幕无码久久综合网| 欧美熟妇另类久久久久久不卡| 国产亚洲色婷婷久久99精品|