• <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>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            [轉(zhuǎn)]不要輕言升級(jí)

            大致想了一下,從進(jìn)入此行業(yè)開始到今天,聽得最多的也許就是“升級(jí)”這兩個(gè)字了。也參與或經(jīng)歷了一些稀里糊涂的升級(jí)、明明白白的升級(jí)、有頭無尾的升級(jí)...... 在不斷的升級(jí)磨練中知道了一些事情,明白了一些道理。
            小小的總結(jié)了一下:

            1、若非必要,不要輕言升級(jí)
            很多時(shí)候,我們是用一種復(fù)雜的心態(tài)去看待前任遺留的代碼的,有人自私的一面。我剛參加工作的時(shí)候,總以為別人的代碼是垃圾,自己寫出來的才算優(yōu)美,通常是拿到代碼就重構(gòu),然后一通大改,然后用勤奮來應(yīng)付流言,為此吃了不少的苦頭。當(dāng)然得承認(rèn),經(jīng)歷了這些之后,對(duì)別人的、自己的代碼都會(huì)有很深的認(rèn)識(shí),尤其是架構(gòu)方面的。但極具諷刺意味的是,若干月或若干年之后,我重新對(duì)比閱讀當(dāng)時(shí)的代碼,會(huì)發(fā)現(xiàn)自己的還不如別人的,尤其是涉及到業(yè)務(wù)方面的代碼。其實(shí)原因很簡(jiǎn)單:其一是前任的代碼基本上都經(jīng)過了運(yùn)行檢驗(yàn)的,出錯(cuò)也只是BUG而已,不會(huì)涉及到業(yè)務(wù)邏輯方面的問題;其二是大部分重構(gòu)的時(shí)間相對(duì)會(huì)比較緊,由不得你去列計(jì)劃,忙中出錯(cuò)而導(dǎo)致業(yè)務(wù)邏輯重構(gòu)不好的話,后果是嚴(yán)重的。而這對(duì)每個(gè)程序員來說都是一個(gè)必須經(jīng)歷的過程,時(shí)間長(zhǎng)短因人而異。我也在極力盡一個(gè)厚道人的本份,對(duì)新來的人講述自己的痛苦經(jīng)歷,灌輸一個(gè)道理:不管前任的代碼如何垃圾--事實(shí)上的垃圾也好,假想中的垃圾也罷,若非必要,不要輕言升級(jí)。通俗點(diǎn)講,只要湊合能用,就不要去招惹它。

            2、升級(jí)?你準(zhǔn)備好了嗎?
            各種編譯器是為新軟件構(gòu)架準(zhǔn)備的,而不是為升級(jí)準(zhǔn)備的。這是我的觀點(diǎn)。盡管這個(gè)觀點(diǎn)遭到很多人的反駁,我依然堅(jiān)信。

            為什么?很多人這么問過我,而且列出了一大堆的理由,最有力的就是:編譯器生產(chǎn)商就號(hào)稱向下兼容的哦。坦率的講,我也說不出所以然。的確他們是這樣說的,而且看起來確實(shí)也是這么做的。我們給客戶做項(xiàng)目,也動(dòng)不動(dòng)就說免費(fèi)升級(jí),而且作為必不可少的一條寫到了方案書、標(biāo)書中去了,但實(shí)際上~~,好像我還沒有為此而給客戶升級(jí)過:-)
            來回顧一下硬件歷史,從386到現(xiàn)在的超線程,每次我們“升級(jí)”電腦,有幾個(gè)能夠真正做到升級(jí)?到頭來還不是一換了事?

            軟件系統(tǒng)也差不多,至少我經(jīng)歷過的是差不多的。也許有朋友成功過--徹底的成功過。可惜我很不幸,從來就沒有這個(gè)感覺~

            當(dāng)我把代碼從EVC3.0向4.0向.NET 遷移的時(shí)候,是多么的躊躇滿志,多么的意氣風(fēng)發(fā)。全然不把前任的話當(dāng)一回事:“你準(zhǔn)備好了嗎?” 終于,在經(jīng)歷了一次又一次的類型、地址錯(cuò)誤之后,我發(fā)現(xiàn),前任比我聰明;我發(fā)現(xiàn),重寫比修改來得更簡(jiǎn)單;我又發(fā)現(xiàn),老板根本就沒有給我重寫的時(shí)間;我還發(fā)現(xiàn),離我被趕出公司的時(shí)間不遠(yuǎn)了;于是我開始恨微軟、恨比爾蓋茨、恨老板、恨客戶、恨我自己當(dāng)初為什么選擇這一行......出來混的,哪能不挨刀,鍵盤鼠標(biāo)一扔,睡覺去。第二天開始有人出來說,某某某整個(gè)一混子,做不出來東東,拉到,難道你說我行我就行,你說我不行我就不行啊,我自己清楚得很。工資是不指望漲了,留也好,走也罷,項(xiàng)目組有的是人,接手的人兒啊,“你準(zhǔn)備好了嗎?”
            后來接觸了其他公司的編譯器,同樣如此。

            現(xiàn)在別人問我:VC6的工程升級(jí)到2003、2005怎么升?我會(huì)說:別升級(jí),把VC6的改成動(dòng)態(tài)庫(kù),或者啥也不改,就是個(gè)EXE,直接調(diào)。需要新的功能模塊,再用新的編譯器去寫。去它的風(fēng)格不統(tǒng)一、去它的邏輯不嚴(yán)謹(jǐn),省時(shí)間省力氣的活不干,誰(shuí)愛升級(jí)誰(shuí)升去,我寧愿出去曬太陽(yáng)。

            3、寫代碼為升級(jí)作準(zhǔn)備
            難道不升級(jí)、難道就躲避?當(dāng)然不行。客戶新需求、市場(chǎng)新動(dòng)向,逼著我們必須正視這個(gè)問題。動(dòng)態(tài)庫(kù)是一個(gè)好辦法,但有時(shí)候不夠用。所以才有程序架構(gòu)考慮、才有代碼重用考慮。設(shè)計(jì)的時(shí)候,要盡量考慮擴(kuò)充、升級(jí)的問題,有的人喜歡用組件,有的人喜歡用接口。不管怎樣,代碼重用是離程序員最近的,也是最現(xiàn)實(shí)的,什么封裝、繼承、耦合......這些專業(yè)名詞俺看不懂,我只是極力建議寫導(dǎo)出函數(shù)、公用函數(shù)、基礎(chǔ)類的,都應(yīng)該遵循一個(gè)潛規(guī)則:系統(tǒng)參數(shù),盡量采用局部獨(dú)立的原則,把你的函數(shù)整塊拷貝出去,換個(gè)類名;或者把你的類整個(gè)拷貝出去,改動(dòng)的地方不超過5處就能用的,你YES,否則就NO。曾經(jīng)見過一個(gè)牛人的框架,換了三個(gè)不同的系統(tǒng)改幾個(gè)定義都能套上去跑得很歡,真正的流水式產(chǎn)品,實(shí)在是高,受益匪淺啊。

            其實(shí)我們平時(shí)稍微注意一下也可以做到的,只是沒有養(yǎng)成這樣的習(xí)慣而已。至于整體構(gòu)架則是仁者見仁、智者見智了,這個(gè)需要不斷的學(xué)習(xí)和經(jīng)驗(yàn)積累,而且好壞也沒有統(tǒng)一的評(píng)判。就拿看得見的來說吧,我一直不喜歡代碼寫得N長(zhǎng)的程序員,這是心病,一句就能搞定的,干嗎寫三句?說到這里,順便BS一下不寫注釋的,你以為人家都有時(shí)間去琢磨你的代碼和意圖啊。

            4、升級(jí)項(xiàng)目就是新項(xiàng)目
            別不同意。建議你按新項(xiàng)目來,風(fēng)險(xiǎn)、資源、進(jìn)度、成本、文檔都理一理,做好規(guī)劃,該調(diào)配的調(diào)配,該安排的安排,該溝通的溝通,別到時(shí)候手忙腳亂的,又不是你一個(gè)人的項(xiàng)目,犯不著你一個(gè)人著急,要急也要大家一起急。做事情就不要這樣了,自己累點(diǎn),把事情都考慮好,列出可能的風(fēng)險(xiǎn)和規(guī)避對(duì)策、把你手下的人員編號(hào)再對(duì)一遍,哪個(gè)最近在泡MM、那個(gè)最近比較躁、那個(gè)在鬧工資、哪個(gè)準(zhǔn)備開溜...... 這些都直接關(guān)系到項(xiàng)目是否成功,還有老板的爸爸最近怎么樣,二奶秘書是不是精神旺盛......這些間接關(guān)系到項(xiàng)目是否成功,然后的然后,就再問一下自己:必須升級(jí)嗎?準(zhǔn)備好了嗎?如果你發(fā)現(xiàn)原來的代碼50%都移植不成,奉勸你另外設(shè)計(jì)開發(fā)一個(gè)替代項(xiàng)目,別跟前任過不去,把他的東西改得亂七八糟的,好好保存就行了。重新開發(fā)一個(gè),新項(xiàng)目哦,完成了,找老板,看看,前面的老系統(tǒng)也可以賣,新的你還可以賣得更貴一點(diǎn),產(chǎn)品線也豐富了,用戶群也多了,這樣多好,給我加薪吧。

            posted on 2006-07-15 05:25 Jerry Cat 閱讀(370) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理



            <2006年6月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久天天躁狠狠躁夜夜躁2014| 99久久精品国产高清一区二区| 久久人妻少妇嫩草AV蜜桃| 国产精品亚洲美女久久久| 少妇久久久久久被弄到高潮| 午夜精品久久久久久99热| 狠狠干狠狠久久| 亚洲va久久久久| 亚洲一区中文字幕久久| 亚洲欧美日韩中文久久 | 狠狠色丁香久久婷婷综合_中| 亚洲国产精品无码成人片久久| 亚洲国产成人久久精品影视 | 亚洲国产精品无码久久久久久曰| 久久亚洲私人国产精品vA| 久久久久亚洲爆乳少妇无 | 狠狠色婷婷久久一区二区| 国产午夜精品久久久久九九电影| 亚洲va久久久噜噜噜久久| 欧美日韩精品久久久久| 中文字幕亚洲综合久久2| 99精品久久精品一区二区| 久久久久亚洲AV成人片| 无码伊人66久久大杳蕉网站谷歌| 亚洲国产精品无码久久青草 | 国产精久久一区二区三区| 久久婷婷五月综合97色| 无码超乳爆乳中文字幕久久| 伊人色综合九久久天天蜜桃| 无码精品久久一区二区三区| 久久毛片免费看一区二区三区| 狠色狠色狠狠色综合久久| 国产亚洲婷婷香蕉久久精品| 国产精品青草久久久久婷婷| 精品久久香蕉国产线看观看亚洲 | 色婷婷久久综合中文久久一本| 久久精品国产黑森林| 久久免费大片| 久久久久亚洲AV无码观看| 久久综合综合久久综合| 久久精品www人人爽人人|