• <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>

            第一桶 從C到C++ 第十一碗 老C初論對象模型 小P學習基于對象(之二)

                 摘要: “你體會的挺深刻的啊,”老C點點頭,“你說的沒有錯,如果照這種方式寫代碼的確有些繁雜,因為這個工作不應當直接在編碼過程中進行,而應當在設計過程中進行。要解決這個問題,需要引入新的工具——UML……等會再給你解釋什么是UML……”制止住小P的發(fā)問,老C接著說,“確實,將 index放在list內部會造成種種不便,但是也有解決之道,比較經典的做法是將index從list中拿出來單獨成為一個模塊或class,這就是 iterator設計模式,我們以后再慢慢說……”他停頓了一下,“至于怎么良好的設計list,也有一些經驗可以總結,同時也有一些業(yè)內的慣用法,這個我們接下來會更早討論這個問題。”
            “噢?那么我應當先學習什么呢?”小P問。
            “嗯,先接觸一下UML,”老C想想說道,“然后我給你講講一些關于線性表的慣用法或者習語。最后我們再來討論如何將index與它的操作從list中拿出來。”  閱讀全文

            posted @ 2009-02-20 20:02 Anderson 閱讀(1583) | 評論 (4)編輯 收藏

            第一桶 從C到C++ 第十碗 老C初論對象模型 小P學習基于對象(之一)

                 摘要: “哦?這樣有什么好處呢?”小P問道。
            “最大的好處是在語言層面對基于對象的編程方法給予了更多的支持,這樣在開發(fā)的時候開發(fā)人員的智力負擔會小很多……”老C停了一下,加重了語氣,“我們做事情的目的是簡化問題,任何新工具和新方法被發(fā)明的目的都是為了使問題看起來更簡單一些,而不是使問題看起來更復雜。”老C想了想,“如果你了解了某種語言特性所針對的需求,你就可以更準確的使用這種語言特性而不會出現誤解,同時也會說,啊,這樣多好,不得不如此。”  閱讀全文

            posted @ 2009-02-19 17:21 Anderson 閱讀(1512) | 評論 (1)編輯 收藏

            第一桶 從C到C++ 第九碗 陳老C演迭代開發(fā) 潘小P學漸進編程(之四)

                 摘要: 老 C接過彩筆,在白板中間從上到下畫了一道線,左邊寫上思想,右邊寫上方法。“你先寫寫思想上的東西吧,”他喝了一口水,“思想是最重要的,我們需要通過學習語言來學習思想——只要學會了編程的思想,那么你再學習其他任何語言都會很快——要深入語言去學習,而不是只是使用語言。首先我們的第一個經驗是,以數據為中心思考問題,而不是以活動為中心思考問題。”
            “嗯,好像沒有什么問題,如果我們以數據為中心思考問題,那么總會抽象出一些變化較少的,相對穩(wěn)定的數據,將對數據的操作與數據捆綁到一個代碼單元中,這樣就可以有限度的復用已經開發(fā)的代碼……”小P若有所思。
            “呵呵,這只是一個好處,還有一些其他的好處,需要你在以后的編程中體會。”老C笑笑。這樣白板的左邊出現了第一個和第二個經驗的總結。  閱讀全文

            posted @ 2009-02-18 23:49 Anderson 閱讀(1784) | 評論 (6)編輯 收藏

            第一桶 從C到C++ 第八碗 陳老C演迭代開發(fā) 潘小P學漸進編程(之三)

                 摘要: “編譯……運行……ok,我們的V1.01版本也好了。”老C又將所有文件拷貝到AppleGame_V1.01目錄下。
            “等等,”小P問道,“我看不出有什么實質性的變化啊,無非就是用一些static函數替換了原來的內容,換湯不換藥啊。”
            “呵呵,你看不出區(qū)別是因為你熟悉,如果你第一次看代碼,你會覺得是在代碼中看到QueMoveToNextChild(&(game->childrenQueue_))感覺好些,還是看到一堆鬼畫符似的結構體點點點的感覺好?”老C解釋道,“意圖,這里強調意圖,因為使用了函數你一眼就可以看出程序執(zhí)行的意圖,而如果是一堆代碼的話,你還要反應半天;如果明白了意圖,再去看代碼,感覺會好很多——而且你可以根據代碼意圖提出更好的實現方法;同時這樣也減少了代碼中注釋的工作量——一般在維護代碼的時候人們很少去修改注釋的;最后,如果你的具體實現需要被維護,這樣也給維護代碼的人提供了線索,無需他在源代碼程序中找來找去……如果不小心還有可能將你的代碼進行錯誤的修改……”他找到水杯,喝了一大口,“總之不要害怕小而短的函數,有時它們對閱讀代碼的人來說是很  閱讀全文

            posted @ 2009-02-04 22:10 Anderson 閱讀(2047) | 評論 (9)編輯 收藏

            第一桶 從C到C++ 第七碗 陳老C演迭代開發(fā) 潘小P學漸進編程(之二)

                 摘要: “很遺憾,一般概念都伴隨一些晦澀的術語,而一般人則視術語如猛虎,認為術語只屬于學術,在一般的實際開發(fā)中沒有什么用處——然而我們組織邏輯的最基本單位就是詞匯,如果我們在思考、交流的時候連基本的詞匯也無法理解,那么就根本談不上什么思考和交流了——畢竟大多數人類還是靠語言進行思考的,除了少數天才使用圖形和符號進行思考;同時術語也簡化了我們交流的復雜度,比如我說PID,只要你理解了什么是PID這個概念,那么我就不用畫出框圖并解釋這個帶有比例、積分和微分環(huán)節(jié)的反饋系統,這樣在行業(yè)內工作的人們可以方便的使用術語進行交流……羅嗦了這么多,只是希望你不要對這些晦澀的術語帶有排斥的心理,而是要慢慢習慣它們,接受它們……雖然有些術語名字起得的確有些腦殘……”老C喋喋不休的說道。  閱讀全文

            posted @ 2009-02-04 16:42 Anderson 閱讀(1968) | 評論 (3)編輯 收藏

            第一桶 從C到C++ 第六碗 陳老C演迭代開發(fā) 潘小P學漸進編程(之一)

                 摘要: “叫我看看……”小P開始比較代碼,“哦,在這個版本你用 game 代替了 queue,用 child 代替了 one, 但是有什么實質區(qū)別?”小P有些不解。
            “嗯,這個是一個用問題域詞匯編程而不是解決域詞匯編程的例子,最大的優(yōu)點是意圖明確,容易理解,代碼可讀性強;另外一個好處是相對穩(wěn)定——比如用 game 代替 queue——其一,評審代碼的人可能會不明白這個queue是做什么的,為什么和下面的初始化函數格格不入,從而造成你頻繁的回答大量的溝通性的問題,這將大大影響你生活的穩(wěn)定性和質量;其二,如果我們將來——我是說如果——使用list數據結構來替換queue,避免了還要更改注釋的風險——代碼更新而注釋陳舊,正是我們在進行項目開發(fā)時一個特別特別特別的n次冪嚴重的問題……而使用問題域的詞匯,只要需求不發(fā)生變更,則我們就不需要修改什么而導致一些……代碼人格上的分裂……”  閱讀全文

            posted @ 2009-01-23 03:36 Anderson 閱讀(1763) | 評論 (6)編輯 收藏

            第一桶 從C到C++ 第五碗 陳老C談編碼規(guī)范 潘小P學江湖黑話

                 摘要: “嗯,雖然理論上說只要保證你的代碼縮進風格前后統一就可以了,但是在現實生活中我們不會也不允許千人千面,因為大家還是要互相交流的,讓任何人去適應別人的縮進風格都是低效率和不公平的,因此形成了很多約定俗成的東西,哪怕它們不合理,但是它們的確形成了,而且你最好也遵守這樣的規(guī)矩,如果你違背了這些東西,只能說明要么你是搗亂,要么你是絕對的新手。”
            “哦?”
            “這些有點像江湖黑話,如果你不是混江湖的,在打切口的時候鬧了笑話,道上的兄弟一定會笑話你,新警察吧……”
            “哈哈哈哈……”
            “就我所知,目前江湖上有幾種常用的黑話格式,K&R,BSD和GNU等,無論你采用哪一種,別人看了就知道你是道上混的,而且知道了你的山頭,也就會高看你一眼……”  閱讀全文

            posted @ 2009-01-21 16:53 Anderson 閱讀(1924) | 評論 (2)編輯 收藏

            第一桶 從C到C++ 第四碗 陳老C教研室論道 潘小P書桌前練功

                 摘要: “我看不懂……”老P才看了30秒就決定放棄了。
            “不會吧,我覺得我寫得邏輯性還挺清楚的啊。”小P有些得意老C看不懂他寫的代碼,覺得可能自己寫的邏輯過于高深了。
            “……”老C沉默了半分鐘,“這個不是C代碼!”他肯定的說道,“所以我看不懂,也不想看懂。”
            “?”小P有些奇怪,“這明明就是C語言寫的代碼啊,你看,我來給你解釋解釋……”
            “哦,算了,這些根本不是C代碼,我沒有必要看懂。”
            “那你說這些是什么?”小P有些不高興了。
            “這些是……”老C找著合適的形容詞匯,“這些是貓爬過屏幕的腳印,我沒有必要看懂腳印所代表的含義……”看到小P有些驚愕,然后開始有些生氣,逐漸開始惱羞成怒了,老C趕快對他說:“呵呵,別生氣了,我開玩笑的,不過,”老C的語氣嚴肅起來,“這些的確是很糟糕的代碼,哪怕它的算法多么高效,執(zhí)行效率多么高,它都是糟糕的代碼!”  閱讀全文

            posted @ 2009-01-20 00:05 Anderson 閱讀(2101) | 評論 (5)編輯 收藏

            第一桶 從C到C++ 第三碗 陳老C狂薦日月蝕 潘小P改換IDE

                 摘要: “呵呵,”老C停止了和小P的說笑,覺得下午的疲倦一掃而空,“對了,剛才你在忙什么呢?”
            “喔,我在做C++的練習題目。”
            “是么?這么刻苦,厲害。什么題目?”
            “呵呵,還挺有趣的,說是用C++的格式輸出cout在屏幕上輸出各種對齊的數據,用*號組成一個五角星,還有……”
            “天,功不是這樣用的,習不是這樣學的……”老C有些囧,“扔掉那本爛書吧,沒有這樣學習C++的。”  閱讀全文

            posted @ 2009-01-19 15:32 Anderson 閱讀(2458) | 評論 (12)編輯 收藏

            第一桶 從C到C++ 第二碗 陳老C初論C++ 潘小P進入新天地

                 摘要: “好像一段代碼對其具體實現了解的越少,它的維護性就會越好?”小P有些猜測。
            “呵呵,的確,那么我們通過各種不同的方法達到了什么樣的看似相同的目的?”老C開始掉小P的胃口。
            “信息隱藏?”小P不太確定。
            “信息隱藏是手段,但不是目的。”老C很確定的否決掉小P,“我們達到的目的是控制問題的規(guī)模!”
            老C覺得有必要給小P講講哲學:“我們寫軟件的目的是為了解決現實生活中的具體問題,沒錯吧?”
            “沒錯,的確是這樣,可是這個和C++有什么關系的?”小P覺得有些莫名其妙。
            “那么你覺得使用高級的語言、先進的設計和合理的開發(fā)流程,問題的復雜度會降低嗎?”
            “那是啊,問題的復雜度當然會降低啊。”
            “唉,錯了,問題的復雜度不會降低的,因為問題的復雜度是客觀存在,不會因為人主觀的原因而改變!”  閱讀全文

            posted @ 2009-01-18 14:26 Anderson 閱讀(2185) | 評論 (11)編輯 收藏

            僅列出標題
            共3頁: 1 2 3 
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導航

            統計

            常用鏈接

            留言簿(6)

            隨筆檔案(21)

            文章檔案(1)

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            99久久无色码中文字幕人妻| 久久免费视频一区| 亚洲欧美久久久久9999| 久久精品国产黑森林| www亚洲欲色成人久久精品| 久久国产精品一国产精品金尊| 99久久精品费精品国产一区二区| 精品久久久久成人码免费动漫| 亚洲熟妇无码另类久久久| 麻豆av久久av盛宴av| 久久伊人五月丁香狠狠色| 狠狠色狠狠色综合久久| 亚洲国产精品无码久久久秋霞2| 亚洲AV伊人久久青青草原| 久久亚洲精品国产亚洲老地址 | 91精品日韩人妻无码久久不卡| 中文字幕乱码人妻无码久久| 色欲综合久久中文字幕网| 久久精品国产网红主播| 国内精品伊人久久久久影院对白| 国产精品天天影视久久综合网| 亚洲狠狠婷婷综合久久久久 | 久久国产午夜精品一区二区三区| 久久99精品综合国产首页| 久久99精品久久久久久齐齐| 久久久久久午夜精品| 午夜人妻久久久久久久久| 国产高潮国产高潮久久久91 | 综合网日日天干夜夜久久| 亚洲国产精品无码久久一线| 一级做a爱片久久毛片| 久久久久se色偷偷亚洲精品av| 久久久久久久久波多野高潮| 日本久久久精品中文字幕| 精品久久久久久久久免费影院| 久久精品aⅴ无码中文字字幕不卡| 亚洲综合熟女久久久30p| 精品无码人妻久久久久久| 久久婷婷五月综合97色| 久久精品无码一区二区三区日韩| 性做久久久久久久久|