日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

软件开发不是众人拾柴——《人月神话》读书笔记

發(fā)布時(shí)間:2024/4/17 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件开发不是众人拾柴——《人月神话》读书笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  這里的“人月”指人數(shù)×月數(shù),即勞動(dòng)力×時(shí)間;這里的“神話”指一種理想的想法,即認(rèn)為工作量=勞動(dòng)力×時(shí)間,當(dāng)時(shí)間有限而不能改變時(shí),我們可以通過(guò)增加勞動(dòng)力(人數(shù))來(lái)達(dá)到預(yù)期的工作量。然而,作者通過(guò)許多事實(shí)告訴我們,這是無(wú)法實(shí)現(xiàn)的,這個(gè)神話終將破滅。究其根本,人不是機(jī)器,不具有線性疊加的機(jī)制,尤其是面對(duì)軟件開(kāi)發(fā)這樣需要分解成多個(gè)部分而且處理不同部分的人之間很可能需要充分交流的復(fù)雜工作時(shí),人數(shù)這個(gè)變量的內(nèi)在復(fù)雜度會(huì)指數(shù)上升。

  舉個(gè)簡(jiǎn)單的例子,一個(gè)稍微復(fù)雜些的工作開(kāi)始只有兩個(gè)人在進(jìn)行,當(dāng)另外兩個(gè)人在中途加入時(shí),他們可能對(duì)已開(kāi)展的工作內(nèi)容、整個(gè)工作的目標(biāo)以及需要的技術(shù)都不甚了解,因此就要花費(fèi)時(shí)間對(duì)他們進(jìn)行相應(yīng)的培訓(xùn),之前的兩位工作者也可能需要抽出時(shí)間對(duì)兩位新人進(jìn)行必要的交待,然后工作才能繼續(xù)進(jìn)行。不僅如此,在后續(xù)工作的進(jìn)程中,如果四個(gè)人兩兩間都有必要進(jìn)行充分交流的話,那么在這一塊上花費(fèi)的時(shí)間又將是之前兩個(gè)人工作時(shí)的六倍。總而言之,對(duì)于軟件開(kāi)發(fā)這樣的系統(tǒng)性工作,一味增加人數(shù)并不能解決問(wèn)題縮短工期,反而會(huì)加大內(nèi)耗,產(chǎn)生高成本、低質(zhì)量、無(wú)法滿足用戶需求的產(chǎn)品。

  當(dāng)然,我們小組的人數(shù)已基本確定,也將不再會(huì)變更了,但這件事情對(duì)我們來(lái)說(shuō)仍具有啟發(fā)意義——我們可以采取怎樣的手段來(lái)減少這種內(nèi)耗并提高開(kāi)發(fā)效率呢?一個(gè)行之有效的方法是讓團(tuán)隊(duì)中少數(shù)幾個(gè)有才能和想法的人來(lái)編寫(xiě)產(chǎn)品手冊(cè)(或者說(shuō)是制定出產(chǎn)品的市場(chǎng)定位及功能),他們被稱(chēng)之為結(jié)構(gòu)師,其余的人則是負(fù)責(zé)將這些功能實(shí)現(xiàn),當(dāng)然在此之前需要對(duì)整個(gè)產(chǎn)品體系進(jìn)行合理的劃分,使得各部分間盡量獨(dú)立,從而減少不同部分實(shí)現(xiàn)人員間的糾纏。不過(guò),更加現(xiàn)實(shí)情況是大家都反對(duì)專(zhuān)制,想提出自己的一些想法,而過(guò)多的想法勢(shì)必導(dǎo)致產(chǎn)品結(jié)構(gòu)的松散,開(kāi)發(fā)過(guò)程的混亂以及效率的低下。因此,我們應(yīng)該提倡小而精的結(jié)構(gòu)師團(tuán)隊(duì),而大多數(shù)人只關(guān)注怎樣去實(shí)現(xiàn)即可。

?

  關(guān)于調(diào)試和尋找bug,本書(shū)也提供了一些好的建議,其中不少已成為共識(shí)。調(diào)試是系統(tǒng)編程中很慢和較困難的部分,而漫長(zhǎng)的調(diào)試周轉(zhuǎn)時(shí)間是調(diào)試的禍根,采用交互式編程的方式能大大提高生產(chǎn)效率。因?yàn)闄C(jī)器能對(duì)我們的數(shù)據(jù)立即產(chǎn)生響應(yīng),這樣我們能更及時(shí)的發(fā)現(xiàn)問(wèn)題,而不用等整體工作完成后再來(lái)一個(gè)一個(gè)調(diào)試bug,通常,尋找到最后一個(gè)bug所花費(fèi)的時(shí)間是找到第一個(gè)bug的許多倍。此外,在團(tuán)隊(duì)開(kāi)發(fā)過(guò)程中,每個(gè)成員都應(yīng)該有防范bug的意識(shí),這是因?yàn)椴煌糠值拈_(kāi)發(fā)者都會(huì)做出自己的一些假設(shè),且不同人之間的假設(shè)是不匹配的,這是大多數(shù)致命的和難以察覺(jué)的bug的來(lái)源。為此,我們需要制定細(xì)致的功能定義、詳細(xì)的規(guī)格說(shuō)明、規(guī)范化的功能描述說(shuō)明以及這些方法的實(shí)施,這樣便能大大減少系統(tǒng)中必須查找的bug數(shù)量;在開(kāi)發(fā)時(shí)也應(yīng)該盡量采用自頂向下的設(shè)計(jì)理念,最大限度的將功能獨(dú)立為一個(gè)個(gè)模塊。

轉(zhuǎn)載于:https://www.cnblogs.com/Laplace-s-Trap/p/8587709.html

總結(jié)

以上是生活随笔為你收集整理的软件开发不是众人拾柴——《人月神话》读书笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。