溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

代碼大全讀書筆記2---用隱喻來充分理解軟件開發(fā)

發(fā)布時間:2020-07-11 16:43:02 來源:網(wǎng)絡(luò) 閱讀:368 作者:ccbaby830 欄目:軟件技術(shù)

   借助隱喻可以更加深刻地理解軟件開發(fā)的過程。通過把不太理解的東西和一些你較為理解、且十分類似的東西做比較,這樣可以對不太理解的東西產(chǎn)生更深刻的理解,這種使用隱喻的方式叫做建模。

    隱喻的威力在于其生動性,能夠讓你把握整個概念,暗示各種屬性、關(guān)系以及需要查證的部分。但是過度引申時,模型也會誤導(dǎo)人們。

    軟件隱喻的作用更像是啟示,而不是算法,告訴你如何去尋找答案。算法是一套定義明確的指令使你完成某個特定的任務(wù),算法是可預(yù)測的、確定的、不易變化的。

    算法與啟發(fā)式方法之間的區(qū)別就在于其距離最終解決辦法的間接程度:算法直接給你解決問題的指導(dǎo),而啟發(fā)式方法告訴你如何發(fā)現(xiàn)這些指導(dǎo)信息或者至少到哪里去尋找他們。

    對于編程來說,最大的挑戰(zhàn)是將問題概念化(建模),編程中的很多錯誤是概念性的錯誤,因?yàn)槊恳粋€問題在概念上都是獨(dú)特的,所以要找到一套能解決所有問題的指導(dǎo)規(guī)則是很難得,甚至不太可能,所以能夠一般性質(zhì)地知道大致如何解決問題,至少也和知道如何解決特定問題一樣有價(jià)值。

    

    軟件的牡蠣養(yǎng)殖觀點(diǎn):牡蠣制造珍珠的過程隱喻軟件開發(fā),其中關(guān)鍵詞語有“增量的”,“迭代的”,“自適應(yīng)的”以及“演進(jìn)的”。以增量方式進(jìn)行設(shè)計(jì)、編譯和測試,都是目前已知的最強(qiáng)有力的軟件開發(fā)概念。

    在進(jìn)行增量式開發(fā)時,先做出軟件系統(tǒng)的一個盡可能簡單、但能夠運(yùn)行的版本,它不必接受真實(shí)的輸入,無須對數(shù)據(jù)進(jìn)行真正的處理,不用產(chǎn)生真實(shí)的輸出,僅僅只需要一個足夠強(qiáng)壯的骨架,支撐起未來將要開發(fā)的真實(shí)系統(tǒng)。對于標(biāo)志處的每一項(xiàng)基本功能,僅需要調(diào)用虛假的類。在骨架形成之后,要一點(diǎn)點(diǎn)地在其上附著肌肉和皮膚:將虛假的類替換為真正的類,接受真實(shí)的輸入,產(chǎn)生真實(shí)的輸出。

    

    軟件構(gòu)建:首先要決定準(zhǔn)備建一個什么類型的房子---問題定義,接下來與建筑師探討總體設(shè)計(jì)---軟件架構(gòu)設(shè)計(jì),然后畫出詳細(xì)的藍(lán)圖并雇承包人---軟件詳細(xì)設(shè)計(jì),在然后打地基、搭房屋框架、砌墻、通水電等---軟件構(gòu)建,油漆工、裝修工將房子美化---軟件優(yōu)化,檢查人員檢查工地、地基、框架、布線等---軟件評審。

    通常自己編寫現(xiàn)成的、可以買得到的代碼是沒有意義的,除非在特殊情況下需要定制。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI