<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jazzy--努力奪回jazzy的google權

    我是一個死程序員
    隨筆 - 4, 文章 - 0, 評論 - 3, 引用 - 0
    數據加載中……

    關于復用的一點感想

    前不久以系統設計的角色參與了一個小型項目,下面總結一下項目開發過程中的感受.


    作者:jazzy 時間:2005-08-01 版本:1.0

    • 項目特點

      中小型項目,復雜度不高,開發進度緊迫.

    • 工作方式

      在這樣的項目特點和時間節點的要求下,項目組為了加快開發進度,采取了通過對以前一個有一定類似度的項目二次改造的方法來構建新系統.這樣的開發方式在項目開發中很常見,實際就是對項目級別的軟件復用.它是技術部知識積累的價值體現,無論從節約成本和提高工作效率來說都是大有裨益的.這樣的開發方式,至少從現象上來說,是很令人振奮的:一個中小型應用,通過對其他項目的復用,在兩三天之內就可以完成項目原型.十幾天后整個系統就可以上線試運行.

      但是,在看似光鮮的表象背后卻隱藏著難以被人察覺的污垢.

    • 發現問題

      對于設計人員,在這樣的情況下做進一步的設計必需要充分了解前一個項目的結構.他會這樣說:前一個項目的說明文檔在哪里?數據結構說明在哪里?天那!竟然什么文檔都沒有,我還是通過代碼走查來猜測原有系統的設計意圖吧!oh!my god!

      對于開發人員,進行開發需要閱讀原開發人員的代碼.他會這樣說:為什么沒有注釋?這個變量命名代表什么意義?這個問題原系統沒辦法實現,我還是用自己的方式來解決吧!oh!my god!

      對于領導來說,不必關心開發過程,只要關心在規定的時間節點有沒有達成任務目標.這樣一來,工作壓力被堆砌在設計和開發人員身上,尤以編寫最終代碼的開發人員為重.

      在以往的工作經驗中,我也以開發人員的角色參加過這樣的項目.切身體會過這樣開發的難處.當時我的項目原有開發人員離職.我為了實現一點小小的改動,不得不跟蹤查閱整個系統的代碼.這時的開發人員會十分抱怨原系統代碼的丑陋,而且原系統中原有的一些優秀設計思想和閃光點也在這樣的修改過程中被埋沒甚至消逝了.

      當然了,A項目被修改成B項目,B項目將來也可能會被修改成C項目,C項目又修改成D項目.新的設計開發人員,又會產生新的,類似的抱怨.在一次次的修改和抱怨聲中,系統的質量越來越差,效率越來越低,bug越來越多,代碼中到處充斥著壞味道.重構吧?是時候了.可是誰又愿意接手這樣無序混亂,高熵的代碼呢?

    • 思考問題

      問題的本質在哪里?

      問題的本質似乎是顯而易見的.原有系統的文檔不齊全,不規范,不一致,給后續的復用帶來了理解上的困難.進而這種困難會映射到后續的每一個項目.但是解決這樣的問題是件棘手的事情,每個人都知道文檔的重要性,但是介于項目的開發進度的要求,大多數時候,根本沒有時間去寫詳盡的文檔.

      換個角度,假設有一個項目的文檔齊全甚至是完美,任何人看一眼就能立刻理解系統的計劃的架構層次,功能結構那么這樣的項目又能為軟件的復用提供多大幫助呢?項目僅僅是項目,從軟件復用的角度去看,做項目級別的軟件復用本身就是不妥當的.項目中包含了太多和業務需求的耦合.這種耦合在復用過程中會侵蝕到系統的每一個角落.

      可見,問題的本質在于軟件重用的粒度和方法.

    • 改進建議

      基于以上對問題的分析,我們發現我們似乎是需要一個類似普元EOS的面向構件開發平臺,任何復用都面向構件.但是相信包括我在內的大多數熱愛技術的開發人員都不會喜歡這樣封裝了太多底層細節的開發平臺.而且從技術細節來說EOS采用XML總線而帶來的性能損耗也被牛人們所不齒.可是自行開發一個這樣類似平臺的成本又巨大,技術復雜度也極高.顯然是不能接受的.

    所以改進建議只能從如下幾個方面提出

    1,加強知識積累

    2,提高文檔質量

    3,提供開發庫

    提供工具級別的復用.開發庫中提供細微粒度的工具包,例如鏈接池,mail工具包,報表工具包,ftp工具包,excel文件操作工具包,圖表生成工具包,常用javascript組件等等.通過平時項目的經驗積累來更新開發庫,也可以有專人開發/維護和推廣.

    文章寫到這里就結束了,可是又覺得僅僅采用工具級別的復用并不能針對問題的本質,有點指標不治本的感覺.真正合適的復用粒度到底應該如何把握?這仍然是一個需要認真考慮的問題......

    posted on 2005-08-01 22:07 jazzy 閱讀(785) 評論(3)  編輯  收藏 所屬分類: java技術

    評論

    # 每個人都在頭疼這個問題  回復  更多評論   

    我們有一組同事一個多月前開始做一個示范項目,公司的原目的是在項目中積累一些通用的模塊和框架,可是就我現在看來,他們一群人都撲上去趕進度了,通用性?還是下回再說吧。

    也許換種方式和框架,可重用性能得到一些提高?也許我們應該多關注一下soa了?
    2005-08-02 09:18 | emu

    # re: 關于復用的一點感想  回復  更多評論   

    沒錯.復用度和技術先進性成正比,和短期成本以及開發周期成反比.
    技術先進性又和開發人員素質有關系,最后,人員素質又直接映射到項目中的人力成本.

    想來想去,竟然發現這個問題只是一個商務上的決策問題.技術到哪里去了?
    2005-08-02 09:22 | jazzy

    # re: 關于復用的一點感想  回復  更多評論   

    技術在人腦子里面啊。
    2005-08-02 09:31 | emu

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品高清在线| 日日夜夜精品免费视频| 亚洲色中文字幕无码AV| 人碰人碰人成人免费视频| 亚洲av午夜精品一区二区三区| 亚洲av永久无码| 国产免费无遮挡精品视频| 直接进入免费看黄的网站| 亚洲国产高清在线一区二区三区 | 亚洲中文字幕无码一久久区| 美女的胸又黄又www网站免费| 免费国产a国产片高清网站| 日本免费精品一区二区三区| 中文字幕在线亚洲精品| 免费看搞黄视频网站| 亚洲高清资源在线观看| 在线视频观看免费视频18| 亚洲日韩久久综合中文字幕| 少妇亚洲免费精品| 不卡视频免费在线观看| 亚洲综合免费视频| 色视频色露露永久免费观看| 特a级免费高清黄色片| 亚洲成A∨人片在线观看不卡| 18禁男女爽爽爽午夜网站免费 | 亚洲精品无码中文久久字幕| 国产男女猛烈无遮挡免费视频 | 67194国产精品免费观看| 国产亚洲福利在线视频| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲视频在线观看一区| 成年女人毛片免费播放人| 特色特黄a毛片高清免费观看| 亚洲AV无码码潮喷在线观看| 在线观看成人免费视频不卡| 噜噜噜亚洲色成人网站| 亚洲欧洲日产国码久在线观看| 免费无码又爽又刺激高潮的视频 | 国产成人综合亚洲亚洲国产第一页| 亚在线观看免费视频入口| 亚洲欧洲国产综合AV无码久久|