構建之法現代軟體工程(第四次)

2022-08-24 07:33:09 字數 2244 閱讀 7644

構建之法現代軟體工程(第四次)

本週閱讀了《構建之法》第四章和第五章

**規範:

雖然計算機只關心編譯生成的機器碼,但是由於現代軟體工程一般都是在乙個團隊裡工作,所以**是要給同事看的,因此乙個良好的**規範相當重要。

**規範可以分成兩個部分:

1.**風格規範:簡明,易讀,無二義性。

其中又包括縮排,行寬,括號,斷行,命名,下劃線,大小寫,注釋等一系列規範,這些規範有助於程式設計師們更好地理解和維護程式。

縮排:4個空格,而不是tab;

關於斷行與空白的{}行:單獨佔一行;中間的**縮排

下劃線:用來分割變數名字中的作用域標註和變數的語義

大小寫:通用的做法是,所有的類/函式名都採用所有單詞首字母大寫(pascal)的形式;所有的變數首字母小寫,隨後的單詞首字母大寫(camel);

注釋:解釋程式做什麼、為什麼這樣做以及要特別注意的地方。注釋只用ascii碼字元,不要用中文或者其他特殊字元,否則會影響可移植性

2.**設計規範:牽扯到程式設計,模組之間的關係,設計模式等等

函式:只做一件事,並且要做好。

goto:函式最好由單一的出口

錯誤處理:耗時長,使用斷言驗證引數的正確性

**複審:

**是否在**規範的框架內正確地解決了問題,這是有必要的,因為如果有問題的**已經嵌入到產品**中,再要把所有的問題找出來就更困難了,而且修復的代價就會更大。

根據**複審的核查表一一對應。

結對程式設計:

一對程式設計師一起面對乙個電腦,一起分析,設計,編碼,測試,寫文件等,一直處於複審狀態。

這樣的程式設計有助於互相督促,減少錯誤,初始質量的提高,並且兩個程式設計師互相學習傳遞經驗,如果運用得當,可以取得更高的投入產出比。

兩個人如何進行交流:

要學會與人進行思想交流,富有情商地與同伴相處。

軟體團隊的模式:

1.窩蜂模式:一群人直接寫**,並且希望能藉此寫出好軟體(大型專案不現實);

2.主治醫師模式:主要核心在於首席程式設計師,其他成員從各種角度支援他的工作(ibm system 360專案)

3.明星模式:主治醫師模式運用到極點,需要考慮團隊利益最大化問題。

4.社群模式:需要嚴格的**複審和簽入的質量控制。

5.業餘劇團模式:不同人承擔不同角色。

6.秘密團隊:團隊內部有極大的自由,較高熱情,沒有外界干擾。

7.**團隊:軟體團隊由一些有特殊技能的專業人士組成,負責解決一些棘手而又緊迫性的問題。

8.交響樂團模式:適合某個軟體領域處於穩定成長階段的時候。

9.爵士樂模式:於交響樂團模式對立,比較強調個性化的表述。

10.功能團隊模式:具備不同能力的同事們平等協作,共同完成乙個功能。(很多軟體公司的團隊最後都成為的模式)

11.官僚模式:組織上有領導和被領導的關係

開發流程:

1.寫了再改模式:

與蜂窩模式大相徑庭,大家上來就寫**,寫不出就直接改。

2.瀑布模型:

由別的成熟行業借用的模型轉化而成軟體行業的設計模型,適合於:定義非常穩定的產品,技術成熟,不能頻繁交流的團隊。

(1).生魚片模型

解決了各個步驟之間分離的缺點,但仍存在不知道上乙個階段何時會結束的問題。

(2).大瀑布帶著小瀑布

解決不同子系統之間進度不一的問題,使用者只有等到最後才能看到結果。

3.統一流程:

重計畫,重事先設計,重文件表達。

具體規程有:業務建模、需求、分析和設計、實現、測試、部署、配置和變更管理、專案管理、環境、初始階段、細化階段、構造階段、交付階段。

4.老闆驅動的流程:

開發流程由公司老闆驅動,適合於:軟體訂單靠個人關係,老闆比一般技術人員更懂市場和競爭,團隊尚未成熟。

存在的問題:領導技術上是外行,領導不懂得管理軟體專案,精力有限。

5.漸進交付的流程

很接近迭代式開發流程,當系統的主要需求和架構明確之後,軟體團隊進入了乙個不斷演進的evolution迴圈中:開發→發布→聽取反饋→根據反饋做改進

mvp:

由於團隊在軟體開發流程中要到最後才能給客戶乙個軟體反饋,所以可先將最小可行產品開發出,來得到使用者的反饋,比如先做乙個ios軟體,而不是同時開發android軟體。

mbp:

適合極高水平的產品團隊,把產品最全最美的形態展現出來,征服使用者,比如iphone

軟體工程第四次作業

部落格資訊 瀋陽航空航天大學計算機學院2020軟體工程作業 作業要求 課程目標 熟悉乙個 高質量 軟體的開發過程 作業目標 結對程式設計練習 一 題目 二 位址 三 執行結果 四 與隊友合作 工作記錄表 專案預計 實際設計時間 1h3h 編碼時間 3h5h 測試時間 30min 30min 行數 2...

軟體工程第四次作業

功能模組名稱 簡單的語法分析程式 審查人王澤鵬 審查日期 2017.4.4 名稱 黑白棋遊戲 作者 白璐檔案結構 重要性審查項 結論標頭檔案和定義檔案的名稱是否合理?合理標頭檔案和定義檔案的目錄結構是否合理?合理版權和版本宣告是否完整?不完整重要 標頭檔案是否使用了 ifndef define en...

軟體工程第四次作業

成員一 031702612 陳志超 成員二 031702338鄭學貴 pdf 傳送門 html演示 傳送門 墨刀老師的困擾 都說鐵打的營盤流水的兵。老師,總會經歷結識新生 相處多年的本科生和研究生畢業 又一批新生加入等年復一年周而復始的過程。這既是老師這個職業的悲哀,也許也是老師這個職業有活力的地方...