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

            Codejie's C++ Space

            Using C++

            LingosHook:編碼“瘋”格--“代碼潔癖”及其“代價”有感


                咋說呢,我不是一個完美的人,這個我非常肯定;我寫的代碼也不是完美的代碼,這個我也非常肯定,但,我是一個追求把代碼寫的完美的人。。。
                
                ‘完美’的定義是跟每個人的‘審美觀’相關的。隨便段代碼來‘展示’一下我的‘審美觀’。。。
            #include <string>

            typedef 
            int DictID;

            int GetDictID(const wstring& str)
            {
                DictID tmp;
                tmp 
            = .
                
            return tmp;
            }

                下面是‘完美’后的代碼:

            #include <string>

            class CDictConvObject
            {
            public:
                typedef 
            int DictID;


            public:
                
            int GetIDByTitle(const std::wstring& title, DictID& id) const
                
            {
                    id 
            = 
                    
            if(id == DICTID_INVALID)
                        
            return -1;
                    
            return 0;
                }

                
            }
            ;

                這里我不解釋、不評論為什么做這樣‘完美’修改,展示上面代碼的目的只有一個--“完美的代價”。
                心目中“易懂”、“遵規”、“開放”、“靈活”、“分離”(也許還有等等)的代碼才是好的代碼,因此在寫代碼時,盡量做的是“完美”些,再“完美”些。。。所以一般來說,我完成一段代碼或者程序的時間分配為:
                            40%思考-20%編碼-15%調試-25%重構!
                看出來了嗎?完美的巨大代價--時間的消耗!當然消耗應該還有體力的消耗--一段代碼可能會被寫來改去,直至重寫很多次。往往一個簡單的功能,我會用一個或多個函數,甚至對象去實現,只是為了“完美”。。。這就是我寫代碼的“瘋”格~~  我也知道自己有這方面的“偏執”癥,簡單說應該算是有較嚴重的“代碼潔癖”。。。因此我盡量花費更多的時間去“思考”,以減少后期“重構”的時間。
                扯了這么多,就是想說,我又要重寫LingosHook的一大大段代碼。。。。為了讓LingosHook擺脫Dict的限制,我在HTML解析的代碼中增加了相應的直接HTML方式的Dict支持,一切都OK了,但。。。但重看代碼時,我怎么都覺得根據Dict解析結果,和根據HTML解析Dict(不了解代碼,這里是有點暈。。)應該是兩個獨立平等的對象,Dict結果解析時的不應該涉及HTML詞典解析,兩種需求(功能)不應該交叉的。。。于是,我添加了兩個對象:SpecialDictParser和HtmlDictParser,獨立存在與HTML解析過程中。。。唉,本來只是添加了不到100行代碼且已經OK的功能,現在不僅要全新添加兩對象的代碼,還要修改原有HTML解析對象中的60%左右代碼。。。瘋了。。。幸運的是,由于原有詞典結果解析的流程和模塊設計比較合理,各個詞典(Vicon,Langdao,Fundset)這次完全不用動,省去了一半的時間。。。
                所以,總的來說,要想“完美”而又沒有“代價”,需要在動手前,更加“開放”、“周全”的“思考”。。。。



            <---頭暈的分割線--->
                我知道上面的根本就看不懂,寫的很混亂,那是因為--添加了新的SpecialDictParser和HtmlDictParser對象以后,想到需要重寫的代碼時,我瘋了。。。
               

            posted on 2010-06-09 18:31 codejie 閱讀(605) 評論(2)  編輯 收藏 引用 所屬分類: C++隨筆而已LingosHook

            評論

            # re: LingosHook:編碼“瘋”格--“代碼潔癖”及其“代價”有感 2010-06-15 16:54

            呵呵,已經取得了不少進步了啊,你做的已經很好了!
            其實不必把代碼寫得太完美,只要把注釋寫明白了,相信不會給后來者造成很大困難的。  回復  更多評論   

            # re: LingosHook:編碼“瘋”格--“代碼潔癖”及其“代價”有感[未登錄] 2010-06-15 19:39 codejie

            @康
            。。。完蛋,我代碼的注釋一直都很少,因為我一直覺得代碼如果寫的很‘人性’易懂的話,代碼比注釋來的更直接和清晰。當然了,真實的原因應該是--懶。。。  回復  更多評論   

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            77777亚洲午夜久久多喷| 亚洲人成网亚洲欧洲无码久久| 日产精品久久久一区二区| 久久久亚洲裙底偷窥综合| 99久久免费国产精精品| 久久精品国产精品亚洲人人 | 国产精品久久久久无码av| 国产成人精品白浆久久69| 久久久这里有精品中文字幕| 人妻少妇久久中文字幕一区二区| 国产精品成人久久久久久久| 久久婷婷五月综合成人D啪 | 久久97久久97精品免视看| 亚洲人成电影网站久久| 丰满少妇高潮惨叫久久久| 色诱久久av| 中文字幕亚洲综合久久2| 久久SE精品一区二区| 国产伊人久久| 国产精品禁18久久久夂久| 久久亚洲精品国产精品婷婷| 麻豆精品久久久一区二区| 亚洲精品tv久久久久久久久| 四虎国产精品成人免费久久| 欧美精品一本久久男人的天堂| 97精品依人久久久大香线蕉97| 欧美精品一区二区久久| 国产三级精品久久| 久久久久免费精品国产| 久久精品国产亚洲av麻豆色欲| 久久久国产打桩机| 亚洲精品无码久久久久AV麻豆| 国产高清国内精品福利99久久| 精品久久一区二区三区| 一本色道久久99一综合| 亚洲AV日韩精品久久久久久 | 久久久久免费看成人影片| 亚洲va中文字幕无码久久不卡| 午夜精品久久影院蜜桃| 色播久久人人爽人人爽人人片aV| 久久久久久噜噜精品免费直播|