构建之法 第三次心得
構(gòu)建之法 第四、五章心得
學(xué)習(xí)了第四第五章之后,我了解到了兩人合作的注意要點,還有團(tuán)隊和開發(fā)流程。軟件都是在相互合作中完成的,合作的最小單位是兩個人。每個人的標(biāo)準(zhǔn)都不一樣,對于什么是好的代碼規(guī)范未必認(rèn)同,所以我們需要給出一個基準(zhǔn)線,即什么是好的代碼規(guī)范和設(shè)計規(guī)范。
代碼規(guī)范可以分成兩個部分,一是代表風(fēng)格規(guī)范,主要是文字上的規(guī)定,看似是表面文章,實際上非常重要。二是代碼設(shè)計規(guī)范,牽涉到程序設(shè)計、模塊之間的關(guān)系、設(shè)計模式等方方面面的通用原則。代碼風(fēng)格的原則是:簡明、易讀、無二義性。這里可以從幾個方面來闡述代碼風(fēng)格規(guī)范。
1.縮進(jìn),在寫代碼時,4個空格的距離正好。
2.行寬,行寬必須限制,現(xiàn)在可以限定為100字符
3.括號,在復(fù)雜的條件表達(dá)式中,用括號可以清晰地表示邏輯優(yōu)先級
4.斷行與空白的{ }行,這樣可以很容易看清結(jié)構(gòu)和對應(yīng)關(guān)系
5.分行,寫代碼時,不要把多個變量定義在一行上
6.命名,在變量面前加上有意義的前綴,程序員就能一眼看出變量的類型及相應(yīng)的語義
7.下劃線,下劃線用來分隔變量名字中的作用域標(biāo)注和變量的語義
8.大小寫,便于區(qū)分由多個單詞組成的變量名
9.注釋,有了注釋,才能解釋程序做什么,為什么這么做,以及要特別注意的地方。
對于程序的錯誤處理,有參數(shù)處理和斷言兩種,所有的參數(shù)都要驗證其正確性。對于C++中的類有以下幾種處理方法:類,class vs.struct,公共/保護(hù)/私有成員,數(shù)據(jù)成員,虛函數(shù),構(gòu)造函數(shù),析構(gòu)函數(shù),new和delete,運算符,異常,類型繼承。
除了代碼規(guī)范,我們還要進(jìn)行代碼復(fù)審。代碼復(fù)審是看代碼是否在“代碼規(guī)范”的框架內(nèi)正確的解決問題。在軟件工程中,最基本的復(fù)審手段,就是同伴復(fù)審。代碼復(fù)審可以找出代碼的錯誤,或者說一些不符合 團(tuán)隊代碼規(guī)范的地方,也可以讓更多的成員熟悉項目各部分的代碼,同時熟悉和應(yīng)用領(lǐng)域相關(guān)的實際知識。如果我們不開發(fā)實際的軟件,就只能在表面上完全掌握,所以要在實踐中學(xué)習(xí)。
要注意避免不必要的繁文縟節(jié),因為我們做代碼復(fù)審的目的是為了減少錯誤的發(fā)生。我們還需要一個代碼復(fù)審的核查表,在實際項目中,我們可以加上自己認(rèn)為重要的注意事項:概要部分、設(shè)計規(guī)范部分、代碼規(guī)范部分、具體代碼部分、效能、可讀性、可測試性。雖然代碼復(fù)審很好,但是我們還是應(yīng)該進(jìn)行結(jié)對編程。在結(jié)對編程中,因為有隨時的復(fù)審和交流,程序各方面的質(zhì)量取決于一對程序員各方面水平較好的那一位。
軟件團(tuán)隊有很多種形式,適合不同的人員和需求。有主治醫(yī)師模式、明星模式、社區(qū)模式、業(yè)余劇團(tuán)模式、秘密團(tuán)隊、特工團(tuán)隊、交響樂團(tuán)模式、爵士樂模式、功能團(tuán)隊模式、官僚模式。不同的團(tuán)隊?wèi)?yīng)根據(jù)團(tuán)隊本身選擇各自的團(tuán)隊模式。
從瀑布模型開始的各種模型都有一個特點:重計劃、重事先設(shè)計、重文檔表達(dá)。RUP把軟件開發(fā)的各個階段整合在一個統(tǒng)一的框架里。要完成一個復(fù)雜的軟件項目,團(tuán)隊的各種成員要在不同階段做不同的事情,這些不同類型的工作在RUP中叫做規(guī)程或者工作流。不同的軟件設(shè)計有不同的流程,如RUP統(tǒng)一流程,老板驅(qū)動的流程,漸進(jìn)交付的流程。
在團(tuán)隊合作中,我們都應(yīng)該清楚的了解自己的定位,做好自己的本職工作,并且盡力配合團(tuán)隊中其他成員,一起完成設(shè)計。
轉(zhuǎn)載于:https://www.cnblogs.com/hxy-/p/6771606.html
總結(jié)
以上是生活随笔為你收集整理的构建之法 第三次心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 高级系列:web Stora
- 下一篇: 题目1005:Graduate Admi