軟件開(kāi)發(fā)項(xiàng)目具有風(fēng)險(xiǎn)大,周期長(zhǎng)的特點(diǎn),由于行業(yè)的復(fù)雜性,對(duì)于很多開(kāi)發(fā)小組,人員的更替是十分頻繁的,而軟件開(kāi)發(fā)項(xiàng)目的特點(diǎn)又恰恰是需要統(tǒng)一定義的信息非常多,包括組件名、對(duì)象名、變量名、界面、版本號(hào)、配置文件、功能清單等等,而人員的更替往往帶來(lái)的結(jié)果是是新成員需要長(zhǎng)時(shí)間的適應(yīng)項(xiàng)目規(guī)范、定義等,而由于定義混淆而造成的編碼錯(cuò)誤占軟件開(kāi)發(fā)錯(cuò)誤很大比重,因此,軟件項(xiàng)目組如果能有一個(gè)很好的規(guī)范定義體系,可以大幅度提高軟件開(kāi)發(fā)的效率及軟件質(zhì)量。
由于面向?qū)ο蟮能浖_(kāi)發(fā)模式在減少代碼冗余,解除項(xiàng)目組成員過(guò)多耦合等軟件項(xiàng)目管理問(wèn)題中具有特殊的優(yōu)勢(shì),現(xiàn)代的絕大多數(shù)軟件開(kāi)發(fā)項(xiàng)目都采用了此種模式進(jìn)行開(kāi)發(fā)。 在此種模式下,數(shù)據(jù)層、業(yè)務(wù)層、界面層的對(duì)象被分別封裝在了各自的組件中,有不同的項(xiàng)目組成員負(fù)責(zé)編碼及調(diào)試工作,因此在軟件開(kāi)發(fā)小組中,經(jīng)常會(huì)進(jìn)行組件間的方法調(diào)用、不同成員編碼檢查等工作,但一個(gè)令人痛苦的問(wèn)題是,現(xiàn)在的變量命名都是用英文字母,結(jié)果是變量的含義在不同人理解中會(huì)千奇百怪,難以理解的程序八成是對(duì)變量或方法的不理解,尤其對(duì)于剛進(jìn)入小組的程序員。
我們的做法是,在軟件架構(gòu)設(shè)計(jì)時(shí),即按照對(duì)象所屬的不同功能區(qū)域進(jìn)行編號(hào),如U01表示用戶(hù)管理系統(tǒng)用戶(hù)對(duì)象基類(lèi)等,在擴(kuò)展開(kāi),可以用U01_1表示用戶(hù)對(duì)象的一個(gè)子類(lèi),比如管理員用戶(hù),在命名設(shè)計(jì)中,還可以添加U01_1_Admin來(lái)幫助理解對(duì)象內(nèi)容,而在軟件設(shè)計(jì)的編碼時(shí),也按照此類(lèi)編碼進(jìn)行,對(duì)象處于不同層次時(shí),還可以在前面加輔助識(shí)別碼,如B_U01_1表示位于業(yè)務(wù)層的用戶(hù)對(duì)象基類(lèi)。這樣成員間就很容易相互理解變量的含義了。
對(duì)于對(duì)象關(guān)聯(lián)的現(xiàn)象,也可以用編碼來(lái)解決,比如部門(mén)用U02表示,而對(duì)象所屬部門(mén)就可以表示為U01.U02_Dept.
現(xiàn)代的大部分軟件項(xiàng)目都采用了分層軟件開(kāi)發(fā)方式,同一個(gè)對(duì)象會(huì)出現(xiàn)數(shù)據(jù)層、業(yè)務(wù)層、界面層等出現(xiàn),采用了此種編號(hào)方式后,可以實(shí)現(xiàn)界面層、業(yè)務(wù)層、數(shù)據(jù)層甚至是數(shù)據(jù)庫(kù)的對(duì)象編號(hào)統(tǒng)一,這樣一套編號(hào)體系可以很容易的進(jìn)行演繹及繼承,大幅度的降低編號(hào)的工作量。項(xiàng)目經(jīng)理在組織項(xiàng)目管理的其他工作,如架構(gòu)設(shè)計(jì)、功能設(shè)計(jì)、測(cè)試方案、進(jìn)度跟蹤、實(shí)施測(cè)試等工作時(shí),也可以采用此統(tǒng)一的編碼體系,以提高效率及質(zhì)量。