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

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

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

    幫助IT團隊快速構建符合jt808協議部標的基于java技術的GPS和視頻平臺(2379423771@qq.com)

    如何用代碼推動設計


    ?????? 計算機專業畢業的學生在學校當中,都讀過軟件工程這本書,而軟件工程的書,都無一例外的,強行規定了一個編碼階段,并且十分嚴肅的告訴學生,代碼在整個軟件過程的生命周期階段當中,只占了1/5左右。需求分析和設計、項目管理,更強于代碼。我想對這于剛畢業的學生,是一種思想上的毒害,很多人剛畢業一兩年,都耐不住性子,哭著喊著,要做architect,要做PM。

    ??????? 我認為回避代碼是可恥的,只要編碼有意義,我們在任何階段,都應當投入到編碼當中。

    ?? 最近一個項目,我下面有兩個設計人員(GM派過來的),協助我做設計,我做了一個設計的骨架,然后交給他們去迭代細化。下班前,我去看看他們的工作只有一些空洞的UML圖和一個還沒有寫內容的概要設計模板,我對他們說,不要求你們去寫文檔,我也沒有時間去看,我不知道你們以前,是怎么做這設計的,但在我這個組,這樣做,不行。做為設計者,首先是自己要理解要做的東西,并且真正知道怎么去設計它才能滿足涉眾需求,第二步,才是讓別人能夠理解你的設計。怎么樣讓別人理解你的設計,文檔并不是唯一的途徑,對于普通程度員來講,白板上的講解和直白的代碼注釋甚至比UML圖更容易理解和平易近人,我們很多的設計者,總是喜歡用大量的4+1 UML圖和文檔中生硬、冰冷的詞匯來嚇唬程序員,恰恰反映出了設計者內心的空虛與膽怯。


    ?? 以往自身的設計經歷,談一下:
    ?????? 我第一次給另一個組做一個子模塊的設計時,心里很緊張,因為我不在他們那個組中,也不參與他們的開發,這個設計對于他們的項目進度來說,又是一個關鍵路徑,我生怕我自己設計的不好,考慮問題考慮的不周到,在項目后期,如果出現問題,自己責任重大。

    ?????? 我對他們說,這個設計需要兩個星期,其實我只化了三天,就把接口文檔寫好了,我對著接口考慮來考慮去,還是覺得沒有底,我忍不住想寫代碼,來驗證這樣做對不對,又怕別人說我的設計能力不強。我就偷偷摸摸的寫代碼,又和他們的組的主要使用者反復溝通了幾次,根據需求,設計了幾種不同的案例,來驗證我的設計是否有漏洞。

    ?? 最后,又對接口修復了幾次,覺得接口相對穩定和健壯了,就讓他們過來看看,提出問題,結果也沒有提出什么問題。于是我就交工了。

    ?? 實事上,這個接口,在開發后期,還是有一點修改,但并沒有給他們的項目造成很大的影響,他們自己也認為能考慮的這么全面,已經不易。
    ?????? 做開發這么多年,越來越覺得設計是一個很復雜的東東,他不像建筑工程中的設計一樣,可以用工程化的方法去中規中矩的驗證,并交給工人進行構造。但如果沒有好的驗證方法,一個設計就交工了,大家都沒底。就好像選擇是獅子還是公主,只有把門打開才能知道。

    ????? 這幾年,我經歷的每個項目,幾乎都有評審,需求評審,設計評審等等,但我現在回想過來,我想不出對我的項目有太多的意義,很多人癡迷于通過文檔和評審來試圖證明設計是正確的,而通過評審,對于PM和Architect,似乎也被當做是一個項目當中非常重大的milestone,直到現在,我的上級和我的同事,似乎從未改變。而我的自己觀點的表白在OP會上,迎來的是批判。

    ?????? 我認為文檔必須要有,總體的架構設計和模塊的詳細設計,都是需要的,但是設計者,往往忘記了,文檔只是設計者自己對已經構思好的設計的一種反映,這種反映只是讓別人去分析、理解、修正、接受并按照它來進行開發的一個工具,它絕對不是一個證明自己完成一個良好設計的方法。

    ??????? 編碼、測試、調試、交付用戶UAT,都應當視為是設計的過程,也應當是驗證設計是否正確的最好的辦法。

    ??????? 盡早的進入代碼開發,是敏捷開發中一個很重要的標志,所謂的標志,我認為如果在項目前期的前一兩個月,你仍然徘徊在需求分析、文檔編寫的工作當中,而沒有代碼產生,你絕對不是敏捷。這個觀點是我自己加的,我很難容忍,我的設計、分析人員天天在寫文檔,開發人員在心猿意馬的看長遍大論的需求和設計文檔。
    ????????? 一句話,越早進入開發,我就越主動。

    ?? 我驗證設計的一些方法:
    ?? 1.根據以往的設計經驗,做一些check list.
    ?? 2.寫代碼,做demo。做Demo是我非常喜歡的一個方法,一個可以運行的Demo,遠勝過文檔了。開發人員一看,直接copy、paste就完了。做汽車、計算機等新產品,都會有樣機,對樣機做大量的試驗后,才能上線,大批量的生產,在軟件當中,怎么一做完設計,就大規模的進行開發了呢。
    ?? 3.做測試案例,TDD是一種方法,有長期開發經驗的人很容易吸收的思想,并且愿意在重要的地方使用,來理順和驗證自己思路。
    ?? 4.對于設計的涉眾人員,能夠盡早的看到,并充分的溝通,不要把文檔寫完了,才交給他們,那是一種思想上的強暴。很多時候,在領導的安排下,設計人員與開發人員,在能力上,并差不了多少。所以設計人員要虛心,并且要有責任心。

    ?? 好的設計應當交付什么:
    ?? 1. 有簡潔注釋的代碼
    ?? 2. TestCase
    ?? 3. Demo
    ?? 4. 模型
    ?? 5. 文檔

    ???

    ?

    ?

    posted on 2007-05-05 16:29 Speed 閱讀(2151) 評論(9)  編輯  收藏 所屬分類: 框架設計

    評論

    # re: 重視代碼 2007-05-05 19:00 Thomas

    寫得很棒!  回復  更多評論   

    # re: 重視代碼 2007-05-05 22:06 Welkin Hu

    我們不搞敏捷開發模式,但是在設計階段做demo的確非常有價值。  回復  更多評論   

    # re: 重視代碼 2007-05-05 23:42 mixlee1

    現在的人啊,才寫了兩三年代碼就去做分析設計,唉,編碼都沒入門就跑去寫文檔,害死人啊。  回復  更多評論   

    # re: 重視代碼 2007-05-06 15:26 我為J狂

    寫得很深刻,受益匪淺。  回復  更多評論   

    # re: 重視代碼 2007-05-07 11:56 Zou Ang

    能一次就做好一個方面,哪怕是做好90%,也是夢想了,越到后期越心驚膽戰,一點改動就無語了  回復  更多評論   

    # re: 重視代碼 2007-05-07 13:41 軒朗=maninred

    不覺得TDD是應對軟件開發中需求快速變化的設計最好的方法嗎?

    看過XP的宣言之后,會覺得K.Back肯定了軟件開發中最主要的兩個因素是人和代碼。  回復  更多評論   

    # re: 重視代碼 2007-05-07 14:39 OneEyeWolf

    不要受waterfall的pattern影響, 需求是可變的,那么要求你的設計就足夠的活,什么算是靈活的設計,一方面是依賴于你足夠的開發經驗與設計的原則,另一方面,也是XP與敏捷中,一個重要的原則,最小化的設計,不要試圖去做不可以預測的、臆斷的東西。軟件不是鐵板一塊,大不了重寫。
    這個原理好明白,但不容易被接受。
    就像用戶真實的需求,是一個小汽車,你沒有把握到本質,過度設計,就成了裝甲車,以后用戶再想變動需求,就很難做了。
      回復  更多評論   

    # re: 重視代碼[未登錄] 2007-05-08 13:56 mgh001

    你寫的真好,知音吶,收藏了,但在現實中和領導決不能這么說,他們中的絕大多數更喜歡use case  回復  更多評論   

    # re: 重視代碼 2008-07-16 08:52 chaowei

    前輩寫的真好,我想做你的跟班.  回復  更多評論   

    導航

    留言簿(15)

    隨筆分類

    值得一看的博客

    積分與排名

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久亚洲国产成人影院| 亚洲成人午夜在线| 日本特黄特色AAA大片免费| 毛片基地免费视频a| 最新国产精品亚洲| 国产免费私拍一区二区三区| 亚洲性色精品一区二区在线| 日韩一区二区在线免费观看 | 成人毛片视频免费网站观看| 1区1区3区4区产品亚洲| 6080午夜一级毛片免费看| 亚洲午夜电影在线观看| 国产大片线上免费观看| 亚洲色欲色欲www在线播放| 国产男女猛烈无遮挡免费视频网站 | 国产精品成人69XXX免费视频| 亚洲中文字幕无码久久精品1| 叮咚影视在线观看免费完整版| 色婷婷六月亚洲婷婷丁香| 亚洲欧洲免费无码| 亚洲AV无码男人的天堂| 亚洲一区二区三区乱码A| av永久免费网站在线观看| 亚洲国产成+人+综合| 国产不卡免费视频| 国产午夜精品久久久久免费视| 亚洲日韩国产精品无码av| 永久中文字幕免费视频网站| 久久久久久国产a免费观看不卡| 亚洲国产精品热久久| 国产自产拍精品视频免费看| 最新亚洲成av人免费看| 精品久久亚洲中文无码| 亚洲高清无码在线观看| 在线观看的免费网站无遮挡| 亚洲成av人无码亚洲成av人| 国产亚洲免费的视频看| 大香人蕉免费视频75| 你好老叔电影观看免费| 亚洲最大的成人网| 亚洲AV无码1区2区久久|