• <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)論排行榜

            国产婷婷成人久久Av免费高清| 久久精品这里只有精99品| 久久久久国产亚洲AV麻豆| 久久精品国产亚洲AV麻豆网站 | 久久青青国产| 精品无码久久久久久久久久| 精品国产综合区久久久久久| 国产精品99久久久久久猫咪| 精品久久综合1区2区3区激情| 久久久久亚洲AV无码专区网站 | 伊人久久大香线蕉综合影院首页 | 久久久WWW成人免费毛片| 久久激情五月丁香伊人| 久久久久亚洲爆乳少妇无| 久久综合久久性久99毛片| 久久亚洲国产成人影院| 久久久无码精品亚洲日韩京东传媒 | 香蕉久久夜色精品升级完成| 少妇高潮惨叫久久久久久| 青草国产精品久久久久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 91精品国产综合久久精品| 久久国产精品二国产精品| 亚洲午夜无码久久久久| 亚洲一本综合久久| 欧美日韩精品久久免费| 无码超乳爆乳中文字幕久久 | 国内精品久久久久久99| 精品久久久久久无码免费| 亚洲伊人久久大香线蕉综合图片| 久久伊人精品青青草原高清| 日韩美女18网站久久精品| 久久超碰97人人做人人爱| 久久精品国产99久久香蕉| 色综合久久无码五十路人妻 | 久久精品国产一区二区电影| 人人妻久久人人澡人人爽人人精品 | 漂亮人妻被黑人久久精品| 国产亚洲成人久久| 久久精品麻豆日日躁夜夜躁| 久久久久亚洲av毛片大|