技術(shù)支持程序員程序書(shū)寫(xiě)規(guī)范
一、導(dǎo)言
BSHIS的軟件客戶化工作是一個(gè)龐大的系統(tǒng)工程?蛻艋ぷ鞯暮脡,軟件質(zhì)量的好壞直接影響著工程實(shí)施和工程進(jìn)度。為了保證技術(shù)支持部程序員編寫(xiě)程序的質(zhì)量和技術(shù)支持的質(zhì)量,特制定以下技術(shù)規(guī)范和代碼書(shū)寫(xiě)注意事項(xiàng)。
此規(guī)范是個(gè)初稿,在實(shí)際應(yīng)用中,尚需要不斷完善和調(diào)整。另外,請(qǐng)各序員在實(shí)際操作過(guò)程中,提出自己的看法和建設(shè)性的意見(jiàn)和建議,以使規(guī)范不斷完善。
二、系統(tǒng)公用模塊修改
1、 support.pbl和hispublic.pbl要求各個(gè)子系統(tǒng)版本一致
2、 若發(fā)現(xiàn)標(biāo)準(zhǔn)版本錯(cuò)誤,分類(lèi)別處理
若是比較簡(jiǎn)單的錯(cuò)誤,很容易修改的,請(qǐng)自行修改,并及時(shí)將修改資料交到部門(mén)領(lǐng)導(dǎo),到時(shí)候統(tǒng)一提交到質(zhì)量部,以便及時(shí)通報(bào)各個(gè)技術(shù)人員。若是牽涉到很復(fù)雜的或者是有很大的業(yè)務(wù)調(diào)整,請(qǐng)?zhí)峤活I(lǐng)導(dǎo)審批后再進(jìn)行修改。
:如:新增系統(tǒng)公用功能,雖然是可以放在以上兩個(gè)PBL,但為了不致被覆蓋,最好還是自己新建PBL的好。以上PBL中的代碼也不要去擅自去調(diào)整。
3、請(qǐng)不要將客戶化的內(nèi)容放在support.pbl和hispublic.pbl
4、若一定要對(duì)公用模塊要進(jìn)行客戶化修改,可從其繼承,再作修改
DATAWINDOW有修改的話,請(qǐng)?jiān)诶^承的模塊中引用新的從原來(lái)的復(fù)制下來(lái)再進(jìn)行修改過(guò)的DATAWINDOW,而不要直接去修改原來(lái)的DATAWINDOW。
三、程序代碼編制規(guī)范
請(qǐng)參考產(chǎn)品質(zhì)量部的《程序編制規(guī)范.doc》
下面著重講講一些經(jīng)常在工作中出現(xiàn)的不規(guī)范的情況和應(yīng)該注意的地方:
1、 變量命名規(guī)范
典型的不規(guī)范的情況有:
如:局部變量命名為:integer gl_ksdm
實(shí)例變量命名為:integer ll_ksdm
我們命名原則的指定,宗旨是看到這個(gè)變量就應(yīng)該知道是什么變量(全局、局部、實(shí)例、共享),是什么類(lèi)型。良好的變量命名習(xí)慣可以使程序閱讀起來(lái)很輕松,也可提高工作效率和錯(cuò)誤的理解導(dǎo)致的工作不便。
變量的類(lèi)型
對(duì)象 類(lèi)型 前綴 備注
整型數(shù)字 Int I_ 界面中右對(duì)齊
Long L_ 界面中右對(duì)齊
浮點(diǎn)型數(shù)字 Double D_ 界面中右對(duì)齊
Decimal Dc_ 界面中右對(duì)齊
日期 Date D_ 界面中左對(duì)齊或居中
格式一般為:
yyyy.mm.dd
Datetime Dt_ Yyyy.mm.dd hh:mm:ss
Time T_ HH:MM:SS
類(lèi)實(shí)例 可視 Vu_
非可視 U_
字符串 String S_ 界面中左對(duì)齊或居中
結(jié)構(gòu)體 Struct Str_
布爾型 Boolean B_ 居中
變量的范圍:
前綴 含義
G 全局
S 共享
I 實(shí)例
L 局部
A 參數(shù)
變量命名
變量范圍+變量類(lèi)型+‘_’+變量名稱(chēng)
例:全局的日期為Gd_today,門(mén)診號(hào)參數(shù)As_mzhm
注:BSHIS2.2公共全局類(lèi)名:Uo_support::U_supporclass
BSHIS2.2全局參數(shù)結(jié)構(gòu)名:Base_info::Base_info
BSHIS2.2窗口數(shù)據(jù)傳輸變量結(jié)構(gòu):S_Exchange::S_Exchange
2、窗口和窗口相關(guān)的DATAWINDOW命名規(guī)范
一般將窗口相關(guān)的DATAWINDOW,具有和窗口相同的前綴。
這樣做的好處是:復(fù)制模塊或者整理和查看程序的時(shí)候很容易
如:w_yk_jchz (藥庫(kù)系統(tǒng)的進(jìn)出匯總模塊)
相關(guān)的datawindow可命名為 d_yk_jchz
其他相關(guān)的模塊和DATAWINDOW都命名為包含 _yk_jchz_ 做為前綴的名字
目前存在亂命名的情況,嚴(yán)重的甚至出現(xiàn)同個(gè)系統(tǒng)的不同PBL出現(xiàn)名字重復(fù)。
有時(shí)候程序數(shù)據(jù)檢索錯(cuò)誤,就是這個(gè)原因?qū)е碌,有時(shí)候我們還可能花很大的力氣去找原因。
如:his2.1系統(tǒng)藥房系統(tǒng)中 d_ypxx 就出現(xiàn)過(guò)同名異構(gòu)的DATAWINDOW
3、函數(shù)的命名規(guī)范
(1)公用全局函數(shù):
GF_XXXX(GF+_+函數(shù)名稱(chēng))
(2)子系統(tǒng)使用的公共函數(shù):
GF_XX_XXXX(GF+_+系統(tǒng)簡(jiǎn)稱(chēng)+_+函數(shù)名稱(chēng))
(3)窗口函數(shù):
WF_XXXX(WF+_+函數(shù)名稱(chēng))
(4)類(lèi)成員函數(shù):
Object.XXXX(函數(shù)名稱(chēng))
Object.of_XXXX(被其他對(duì)象和模塊調(diào)用)
Object.uf_XXXX(內(nèi)部調(diào)用)
(5)全局?jǐn)U展函數(shù):
GE_XXXX(GE+_+函數(shù)名稱(chēng))
(6)局部擴(kuò)展函數(shù):
LE_XXXX(LE+_+函數(shù)名稱(chēng))
|
|