• <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>
            隨筆 - 17  文章 - 48  trackbacks - 0
            <2014年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(3)

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            re: 論優越感 airtrack 2013-11-17 22:49
            @xcj
            多謝回復。

            vim、emacs的強大之處,我并沒有否認,我現在還在用vim編輯很多東西,但是我已經過了狂熱的那個時候了,我不會用vim來編輯C/C++代碼,畢竟有比vim和emacs更好的IDE,我自然是優先使用它們。我也同樣使用emacs + paredit來寫scheme代碼,但是我不會用emacs編輯其他文件,因為有vim和更好用的IDE,我現在是哪個編輯適合編輯哪種類型的文件,我就使用哪個編輯器。至于你說的混淆IDE和編輯器,我不知道我文中哪里有把他們混淆,我說的很多人說這些編輯器可以通過插件完成各種功能,都是停留在理論里,實際效果并不好,而很多人用個編輯器都能產生優越感。

            對于MBA,我只說過死了兩次機,但是我并沒有說它不好,相反它是我用過的筆記本里最好的,我最近兩年的時間基本都在使用MBA。我所說的是那些用了個MBA和MBP就產生優越感的人。

            對于C/C++的問題,對于我這個從C語言入門程序設計的人來說,我還是有自信自己能寫出基本合格的C程序的。C++程序員不合格的多,但是我還是見過幾個真人(身邊的)能寫出合格的C++程序,而對于寫出合格C程序的程序員,在我身邊我目前還沒見過(我所在的公司的部門一直以來都寫C為主),當然你可以說我的層次比較低,我確實沒見過活的寫C程序牛逼的程序員。

            另外技術的優越感一說,這就是跟我公司環境有關了,這個我只能說你對我的評價太過武斷了。

            對于你說的最后一句話,這一直都是我的寫程序的基本原則。而我說的那些帶有優越感的人,才應該學習你這句話。
            re: 正則表達式實現(一) airtrack 2013-07-06 01:34
            @陳梓瀚(vczh)
            哈哈,早知道陳祖寫過正則引擎的系列文章,一直沒看,是想在我自己思考之后如果遇到問題的時候再看,啊哈哈。
            膜拜空明巨巨!
            re: lua源碼剖析(三):VM airtrack 2012-09-23 09:13
            @zenk

            OP_VARARG這條指令就是訪問...參數的,可以看到用
            int n = cast_int(base - ci->func) - cl->p->numparams - 1;
            來計算可變參數變參的個數(cl->p->numparams是這個函數的固定參數的個數),接下來在判斷B參數是否為0,如果為0,那就有多少個變參就復制多少個,不然就復制B - 1個變參。在lua中如下代碼會生成OP_VARARG指令:
            function f(...)
            print(...)
            end

            至于arg變量,在lua 5.2中已經不會自動打包可變參數...為一個arg變量,在lua 5.2中要使用arg變量可以這樣寫:
            function f(...)
            local arg = table.pack(...)
            end
            re: lua源碼剖析(三):VM airtrack 2012-09-20 15:56
            @zenk
            我對這段描述不夠清楚,現在已經補上了。

            復制的只是固定的那些參數,"..."所代表的變參并沒有復制,保留在base指針前面,這樣可以保證后續指令訪問固定的那些參數和非可變參數函數是一致。
            re: 開始記錄編程方面的技巧 airtrack 2012-07-18 20:31
            同感吶。
            re: 論優越感 airtrack 2012-05-17 13:10
            @LOGOS
            筆記本你就沒辦法用手掌左側了。
            匈牙利命名法的一個及其明顯的弊端,比如:
            開始定義了一個 int nSize;使用了一段時間后,被后面維護代碼的人因為某種需求改成了DWORD(或者其它類型),那是不是這個變量也要跟著改成dwSize才能符合匈牙利命名法,但是如果這個變量被很多地方使用,改起來豈不是很麻煩。雖然可以通過VA來rename,但是在團隊開發中,團隊成員不一定會去把變量名同步修改。
            當然這只是個例子。
            另一方面我非常贊同空明流轉兄,我覺得變量類型編譯時期就確定了,沒有必要這么去在變量名里面暴露類型。而對于動態語言的話,那類型更加不確定,隨著運行的過程,變量可以是任意類型,所以我覺得變量是要表達你所要代表的意思而不是類型。像上面那個例子的變量名為size就行,表達出它的作用就行,當然可能還會具體些,命名為xxx_size。
            在C++模板中,模板中的代碼類型更加不確定了,自然不能把類型寫到變量名中。
            1、四格縮進,整體簡潔統一,函數不要太長,一般不超過30行。
            2、只要是非匈牙利命名法覺得都可以(最討厭匈牙利命名法,看了《觀止》之后發現卡特勒也很討厭它,我就更加堅定了),比較喜歡google的命名方式。
            3、邏輯簡潔,函數和類單一職責,RAII,個人比較傾向使用異常,異常能夠讓代碼更整潔的處理錯誤。當然公司的話,看項目是怎么定的了。

            特別希望其他人提交到庫里面的代碼沒有注釋掉的代碼,最討厭看到注釋掉的代碼。函數不要太長,類不要太大,一切都是為了單一職責。
            被強加的規則,好的接受,不喜歡的也得接受,因為自己不是老大。

            Windows上開發的程序個人傾向靜態鏈接,一是用的都是最新的VS(目前用VS2010),為了讓程序在沒有裝CRT機器上運行;二是個人開發的程序不大,靜態鏈接體積也大不了多少。
            公司開發一般都是動態鏈接。
            re: 關于關鍵字volatile使用 airtrack 2011-06-17 14:35
            “加上volatile關鍵字后在gcc上就能得到正常的結果了”什么是你想要的正常結果?既然標準既沒有規定求值順序,那你的想要的"正常結果"即使在你使用了某種特殊的方法后得到了,那換了一個編譯器之后也不一定就是你想要的。標準沒有規定求值順序,決定權自然是有各個編譯器掌握,而gcc自然有權利決定加volatile和不加volatile的結果是否相同。
            re: 關于關鍵字volatile使用 airtrack 2011-06-17 13:51
            這個跟volatile沒關系的,int m = (++z) + (++z) + (++z);這個東西的求值順序標準沒有規定,不同編譯器的實現是不同的。
            re: 關于自增自減的小問題 airtrack 2011-06-09 19:23
            標準沒有規定先對哪個求值,完全由編譯器決定,而對于這種標準未定義的東西,沒必要去浪費時間,你只需知道求值順序不確定就行,在實際編碼中就不應該出現這樣的代碼。
            PS:其實你可以BS下出這種題目的人。
            re: 開源一個BT客戶端:BitWave airtrack 2011-05-30 12:41
            @lv
            恩,基于libtorrent的軟件很多,Deluge就是其中之一。
            額,還是膜拜下。
            繼續膜拜大神!
            保持隊形,膜拜大神啊!
            re: 一個簡單的 Tuple 實現 airtrack 2011-04-29 11:36
            @陳梓瀚(vczh)
            不定參數模板是可以實現Tuple的,可以看看gcc 4.5的Tuple的實現,它就是用的不定參數模板來做的。
            @cexer
            @陳梓瀚(vczh)
            兩位都說的不錯,自身的提高都是通過自我否定之后,重新定一個新的目標來達到的。
            Loki::ScopeGuard實際上是一個通用的RAII,它是通過在ScopeGuardImplBase的所有派生類的析構函數里面SafeExecute(*this)來做到RAII,而在SafeExecute做資源釋放操作是通過調用派生類的fun_,如果不try...catch,那么fun_執行如果發生異常的話,那異常就逃離了析構函數。在C++中析構函數是不應該有異常產生的,詳見《Effective C++》。
            re: 關于CppUnit的使用? airtrack 2011-03-03 12:16
            單元測試最好是在項目初期就使用,項目已經到后期的才做單元測試性價比不高,尤其是各個模塊間的耦合很大時很難做單元測試。項目開始就用單元測試可以幫助降低模塊的耦合。
            re: 簡單的Lua命令行調試器 airtrack 2011-01-03 01:32
            @expter
            可以啊,這個調試器主要就是用來調試作為C++擴展的Lua。
            @megax
            像ctags這種僅僅是提取token來作提示只能應付簡單C語言程序,復雜一點的C++程序,多點template,多點typedef,ctags分析的那些東西就費掉了,個人覺得要做好智能提示必須通過語法分析來做。所以有些vimer和emacser才會不滿于ctags和etags這些東西,CEDET這種東西才會出現,不過比起VA來說還是差遠了。
            re: const靈異現象 airtrack 2010-11-22 15:33
            google常量折疊
            re: 關于C++之“復雜” airtrack 2010-07-07 16:11
            @陳梓瀚(vczh)
            C++的一個哲學就是讓類庫盡可能的提供功能,為了達到這個目標,不同的語法就必需盡可能正交,而且功能強大到到處都可以插入callback,從而寫出高質量而且語法優美的類庫了。所以正確的使用方法應該是大規模使用stl和boost,而不是直接使用C++去構造所有東西。
            ====================================================
            贊同,這段話讓我想起了《C++ 沉思錄》中說的:語言設計就是庫設計,庫設計就是語言設計。
            久久精品综合网| 一级做a爰片久久毛片看看| 久久人妻少妇嫩草AV无码专区 | 伊人色综合久久天天| 国产综合免费精品久久久| 欧美激情精品久久久久久久| 亚洲精品综合久久| 久久99精品久久久久久久久久| 国产成人久久精品麻豆一区| 亚洲日本va中文字幕久久| 亚洲国产精久久久久久久| 99久久精品国产一区二区| 青青青国产精品国产精品久久久久 | 亚洲国产精品嫩草影院久久| 中文字幕人妻色偷偷久久| 久久精品国产亚洲7777| 日韩人妻无码一区二区三区久久 | 久久久久久a亚洲欧洲aⅴ | 色8激情欧美成人久久综合电| 日韩久久久久久中文人妻| 久久婷婷五月综合97色直播| 97久久精品人妻人人搡人人玩| 亚洲午夜精品久久久久久app| 69久久夜色精品国产69| 久久精品国产AV一区二区三区| 国产免费久久精品丫丫| 国内精品久久久人妻中文字幕| 7777久久久国产精品消防器材| 国产精品伊人久久伊人电影| 俺来也俺去啦久久综合网| 精品人妻伦九区久久AAA片69| 久久久久亚洲爆乳少妇无| 久久精品国产91久久综合麻豆自制 | 国产精品欧美亚洲韩国日本久久| 亚洲精品乱码久久久久久| 精品无码久久久久国产动漫3d| 麻豆av久久av盛宴av| 久久亚洲国产最新网站| 亚洲精品午夜国产va久久| 中文成人久久久久影院免费观看 | 久久久久99精品成人片|