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

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

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

    幫助IT團(tuán)隊(duì)快速構(gòu)建符合jt808協(xié)議部標(biāo)的基于java技術(shù)的GPS和視頻平臺(tái)(2379423771@qq.com)

    如何用代碼推動(dòng)設(shè)計(jì)


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

    ??????? 我認(rèn)為回避代碼是可恥的,只要編碼有意義,我們?cè)谌魏坞A段,都應(yīng)當(dāng)投入到編碼當(dāng)中。

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


    ?? 以往自身的設(shè)計(jì)經(jīng)歷,談一下:
    ?????? 我第一次給另一個(gè)組做一個(gè)子模塊的設(shè)計(jì)時(shí),心里很緊張,因?yàn)槲也辉谒麄兡莻€(gè)組中,也不參與他們的開(kāi)發(fā),這個(gè)設(shè)計(jì)對(duì)于他們的項(xiàng)目進(jìn)度來(lái)說(shuō),又是一個(gè)關(guān)鍵路徑,我生怕我自己設(shè)計(jì)的不好,考慮問(wèn)題考慮的不周到,在項(xiàng)目后期,如果出現(xiàn)問(wèn)題,自己責(zé)任重大。

    ?????? 我對(duì)他們說(shuō),這個(gè)設(shè)計(jì)需要兩個(gè)星期,其實(shí)我只化了三天,就把接口文檔寫(xiě)好了,我對(duì)著接口考慮來(lái)考慮去,還是覺(jué)得沒(méi)有底,我忍不住想寫(xiě)代碼,來(lái)驗(yàn)證這樣做對(duì)不對(duì),又怕別人說(shuō)我的設(shè)計(jì)能力不強(qiáng)。我就偷偷摸摸的寫(xiě)代碼,又和他們的組的主要使用者反復(fù)溝通了幾次,根據(jù)需求,設(shè)計(jì)了幾種不同的案例,來(lái)驗(yàn)證我的設(shè)計(jì)是否有漏洞。

    ?? 最后,又對(duì)接口修復(fù)了幾次,覺(jué)得接口相對(duì)穩(wěn)定和健壯了,就讓他們過(guò)來(lái)看看,提出問(wèn)題,結(jié)果也沒(méi)有提出什么問(wèn)題。于是我就交工了。

    ?? 實(shí)事上,這個(gè)接口,在開(kāi)發(fā)后期,還是有一點(diǎn)修改,但并沒(méi)有給他們的項(xiàng)目造成很大的影響,他們自己也認(rèn)為能考慮的這么全面,已經(jīng)不易。
    ?????? 做開(kāi)發(fā)這么多年,越來(lái)越覺(jué)得設(shè)計(jì)是一個(gè)很復(fù)雜的東東,他不像建筑工程中的設(shè)計(jì)一樣,可以用工程化的方法去中規(guī)中矩的驗(yàn)證,并交給工人進(jìn)行構(gòu)造。但如果沒(méi)有好的驗(yàn)證方法,一個(gè)設(shè)計(jì)就交工了,大家都沒(méi)底。就好像選擇是獅子還是公主,只有把門打開(kāi)才能知道。

    ????? 這幾年,我經(jīng)歷的每個(gè)項(xiàng)目,幾乎都有評(píng)審,需求評(píng)審,設(shè)計(jì)評(píng)審等等,但我現(xiàn)在回想過(guò)來(lái),我想不出對(duì)我的項(xiàng)目有太多的意義,很多人癡迷于通過(guò)文檔和評(píng)審來(lái)試圖證明設(shè)計(jì)是正確的,而通過(guò)評(píng)審,對(duì)于PM和Architect,似乎也被當(dāng)做是一個(gè)項(xiàng)目當(dāng)中非常重大的milestone,直到現(xiàn)在,我的上級(jí)和我的同事,似乎從未改變。而我的自己觀點(diǎn)的表白在OP會(huì)上,迎來(lái)的是批判。

    ?????? 我認(rèn)為文檔必須要有,總體的架構(gòu)設(shè)計(jì)和模塊的詳細(xì)設(shè)計(jì),都是需要的,但是設(shè)計(jì)者,往往忘記了,文檔只是設(shè)計(jì)者自己對(duì)已經(jīng)構(gòu)思好的設(shè)計(jì)的一種反映,這種反映只是讓別人去分析、理解、修正、接受并按照它來(lái)進(jìn)行開(kāi)發(fā)的一個(gè)工具,它絕對(duì)不是一個(gè)證明自己完成一個(gè)良好設(shè)計(jì)的方法。

    ??????? 編碼、測(cè)試、調(diào)試、交付用戶UAT,都應(yīng)當(dāng)視為是設(shè)計(jì)的過(guò)程,也應(yīng)當(dāng)是驗(yàn)證設(shè)計(jì)是否正確的最好的辦法。

    ??????? 盡早的進(jìn)入代碼開(kāi)發(fā),是敏捷開(kāi)發(fā)中一個(gè)很重要的標(biāo)志,所謂的標(biāo)志,我認(rèn)為如果在項(xiàng)目前期的前一兩個(gè)月,你仍然徘徊在需求分析、文檔編寫(xiě)的工作當(dāng)中,而沒(méi)有代碼產(chǎn)生,你絕對(duì)不是敏捷。這個(gè)觀點(diǎn)是我自己加的,我很難容忍,我的設(shè)計(jì)、分析人員天天在寫(xiě)文檔,開(kāi)發(fā)人員在心猿意馬的看長(zhǎng)遍大論的需求和設(shè)計(jì)文檔。
    ????????? 一句話,越早進(jìn)入開(kāi)發(fā),我就越主動(dòng)。

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

    ?? 好的設(shè)計(jì)應(yīng)當(dāng)交付什么:
    ?? 1. 有簡(jiǎn)潔注釋的代碼
    ?? 2. TestCase
    ?? 3. Demo
    ?? 4. 模型
    ?? 5. 文檔

    ???

    ?

    ?

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

    評(píng)論

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

    寫(xiě)得很棒!  回復(fù)  更多評(píng)論   

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

    我們不搞敏捷開(kāi)發(fā)模式,但是在設(shè)計(jì)階段做demo的確非常有價(jià)值。  回復(fù)  更多評(píng)論   

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

    現(xiàn)在的人啊,才寫(xiě)了兩三年代碼就去做分析設(shè)計(jì),唉,編碼都沒(méi)入門就跑去寫(xiě)文檔,害死人啊。  回復(fù)  更多評(píng)論   

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

    寫(xiě)得很深刻,受益匪淺。  回復(fù)  更多評(píng)論   

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

    能一次就做好一個(gè)方面,哪怕是做好90%,也是夢(mèng)想了,越到后期越心驚膽戰(zhàn),一點(diǎn)改動(dòng)就無(wú)語(yǔ)了  回復(fù)  更多評(píng)論   

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

    不覺(jué)得TDD是應(yīng)對(duì)軟件開(kāi)發(fā)中需求快速變化的設(shè)計(jì)最好的方法嗎?

    看過(guò)XP的宣言之后,會(huì)覺(jué)得K.Back肯定了軟件開(kāi)發(fā)中最主要的兩個(gè)因素是人和代碼。  回復(fù)  更多評(píng)論   

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

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

    # re: 重視代碼[未登錄](méi) 2007-05-08 13:56 mgh001

    你寫(xiě)的真好,知音吶,收藏了,但在現(xiàn)實(shí)中和領(lǐng)導(dǎo)決不能這么說(shuō),他們中的絕大多數(shù)更喜歡use case  回復(fù)  更多評(píng)論   

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

    前輩寫(xiě)的真好,我想做你的跟班.  回復(fù)  更多評(píng)論   

    導(dǎo)航

    留言簿(15)

    隨筆分類

    值得一看的博客

    積分與排名

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 国产亚洲美女精品久久久| 亚洲AV日韩AV永久无码绿巨人| 七次郎成人免费线路视频| 国产精品国产亚洲精品看不卡| 国产免费的野战视频| 精品免费AV一区二区三区| 亚洲人成人一区二区三区| 美女被免费喷白浆视频| 一级特黄a大片免费| 亚洲一区二区在线免费观看| 全部免费a级毛片| 97在线视频免费| 杨幂最新免费特级毛片| 亚洲理论片中文字幕电影| 亚洲精品在线视频| 久久这里只有精品国产免费10| 亚洲阿v天堂在线2017免费| 亚洲H在线播放在线观看H| 亚洲啪啪AV无码片| 啦啦啦手机完整免费高清观看| 热99RE久久精品这里都是精品免费| 亚洲一区二区三区高清在线观看| 亚洲乱码国产一区三区| 免费看AV毛片一区二区三区| 久久久久成人片免费观看蜜芽| 香蕉视频在线观看免费| 亚洲欧洲日产韩国在线| 亚洲精品乱码久久久久久中文字幕| 大学生高清一级毛片免费| 日韩在线不卡免费视频一区| 日韩大片在线永久免费观看网站 | 亚洲精品亚洲人成在线| 久久亚洲精品视频| 亚洲Av无码国产情品久久| 免费高清av一区二区三区| 黄色成人免费网站| 精品熟女少妇a∨免费久久| 成全动漫视频在线观看免费高清版下载| 亚洲另类无码专区丝袜| 日本亚洲色大成网站www久久| 久久亚洲AV无码精品色午夜|