明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

中國高校勤工助學網(wǎng)站程序開發(fā)質(zhì)量與管理規(guī)范化

[摘要]本標準化文檔主要針對中國高校勤工助學網(wǎng)站(以下簡稱中勤在線)的現(xiàn)有技術和發(fā)展方向,對網(wǎng)站后臺程序的開發(fā)作一份詳細的規(guī)范,僅供中勤在線程序員參考學習。 本文檔分為兩部分,第一、程序開發(fā)標準化,其意義為規(guī)范各程序員在完成本職工作過程的一切操作行為的標準;第二、程序管理標準化,其意義為規(guī)范程序員的管理,...

本標準化文檔主要針對中國高校勤工助學網(wǎng)站(以下簡稱中勤在線)的現(xiàn)有技術和發(fā)展方向,對網(wǎng)站后臺程序的開發(fā)作一份詳細的規(guī)范,僅供中勤在線程序員參考學習。
本文檔分為兩部分,第一、程序開發(fā)標準化,其意義為規(guī)范各程序員在完成本職工作過程的一切操作行為的標準;第二、程序管理標準化,其意義為規(guī)范程序員的管理,考核,培訓,獎懲。

一、 【程序開發(fā)質(zhì)量標準化】
1、開發(fā)環(huán)境
目前,中勤在線的具體開發(fā)/調(diào)試/運行環(huán)境基本為:
程序:Asp 3.0
平臺:Win2K Server + IIS 5.0
數(shù)據(jù)庫:Access 2000/XP
隨著網(wǎng)站的不斷發(fā)展,此開發(fā)/調(diào)試/運行環(huán)境已不再適合一個大型教育類網(wǎng)站的技術要求。程序語言暴露出安全性不夠,擴展性欠佳,移植性較差,代碼混亂等現(xiàn)象。致使開發(fā)人員幾乎很難針對過去的程序進行修改和更新,更不用說跨平臺的應用;Win2k和IIS 5.0的Web平臺工作不夠穩(wěn)定,出現(xiàn)“當機”現(xiàn)象頻率過高;Access數(shù)據(jù)庫在大數(shù)據(jù)量的檢索中出現(xiàn)速度較慢的現(xiàn)象,并且數(shù)據(jù)備份操作煩瑣,更不利于將來實現(xiàn)多臺服務器的數(shù)據(jù)同步問題。
為了提高中勤在線的技術含量,跟上國際主流網(wǎng)站開發(fā)的步伐,目前網(wǎng)站面臨重大改革,拋棄過去程序開發(fā)的道路(采用面向程序語言),及時與國際主流接軌(采用面向?qū)ο蟪绦蛘Z言),我們有兩個開發(fā)環(huán)境可供選擇發(fā)展:
第一、采用Linux+Resin/Apache+Jsp(java)+Oracle/Sql Server環(huán)境方案;
第二、采用Win2K+IIS(含.net框架)+Asp.Net(C#,Vb.net)+Sql Server/Oracle環(huán)境方案;
國外,第一套方案已成為主流,廣泛應用于電子商務領域,發(fā)展穩(wěn)定;第二套方案推出于微軟.net計劃,發(fā)展前途一片光明。
首先,據(jù)中勤在線成立以來開發(fā)人員詳細資料統(tǒng)計分析,中勤在線后臺程序開發(fā)人員90%為非計算機專業(yè)本科學生,10%為計算機專業(yè)本科生與研究生,但由于其站性質(zhì),發(fā)展成為專業(yè)的面向廣大社會的的門戶網(wǎng)站的可能性很小,其開發(fā)人員可能一直局限于學生,尤其是有濃厚網(wǎng)絡開發(fā)興趣的非計算機專業(yè)學生。所以其開發(fā)團隊可能一直存在基礎不夠牢固的缺點。要想靈活掌握Linux系統(tǒng)下的java編程具有一定難度,大部分開發(fā)人員還是習慣于Windows環(huán)境下的程序開發(fā),并且,對于具有一定經(jīng)驗的Asp開發(fā)人員,學習Asp.net較學習java上手要快,關鍵就在于轉(zhuǎn)變由面向程序的概念到面向?qū)ο蟮母拍睿@是中勤在線應選擇第二套方案的第一個原因。
其次,網(wǎng)站初,中期程序開發(fā)所選擇的開發(fā)語言為Asp,目前Asp很難移植到Linux環(huán)境下,要將現(xiàn)有欄目都轉(zhuǎn)為Jsp程序再掛靠于Linux系統(tǒng)下是個浩大的工程,其工作量不下于重新開發(fā)一套完善的系統(tǒng)。再回看第二套方案,其Asp和Asp.net可以共存于新開發(fā)環(huán)境,這樣一來,本站可在不影響正常發(fā)展以及運作的條件下,同時對原有Asp程序進行升級轉(zhuǎn)換為新的Asp.net程序,逐步分塊提高程序執(zhí)行效率和網(wǎng)站整體的技術含量,真正做到發(fā)展與運作兩不誤,這是中勤在線應選擇第二套方案的第二個原因。
綜上所述,中勤在線應選擇第二套開發(fā)環(huán)境,朝著面向?qū)ο蟮陌l(fā)展方向,逐步實現(xiàn)技術的轉(zhuǎn)化和完善。

2、高效原則
作為一個程序員,無論針對哪個領域的程序開發(fā),應該努力追求程序的效率,請各位中勤在線的程序員注意,切記以下這句話:
“不要認為CPU運算速度快就把所有的問題都推給它去做,程序員應該將代碼優(yōu)化再優(yōu)化,我們自己能做的決不要讓CPU做,因為CPU是為用戶服務的,不是為我們程序員服務的!”
針對中勤在線的Web開發(fā),我們將這句話實例化:
·盡量避免大量使用全局變量,刪除無用變量;
·盡量少用Session變量;
·數(shù)據(jù)量較大時盡量使用存儲過程分頁;
·盡量少用“Select * ”,即使需要所有字段也應盡量一個一個按照使用的順序羅列出來,Order By時應該盡量提前使用建立索引或者主鍵的字段排序;
·使用Request對象時,針對具體情況寫名是用QueryString方法還是Form方法;
·所有數(shù)據(jù)庫和文件對象都要在使用后盡可能早的Close,同時賦Nothing
·Asp.net開發(fā)中,盡量少用大型耗資源的系統(tǒng)控件,并且盡量使用CodeBehind技術,將代碼和頁面分開,并編譯動態(tài)鏈接庫文件;
盡量采用SQL Server 數(shù)據(jù)庫;

3、編碼約定
目前,中勤在線已正常運作三年有余,程序員由九七級本科生延續(xù)至現(xiàn)在的零二級,各個年級的程序員編碼的熟悉程度和編碼的方式各不一致,以至于程序編碼五花八門,嚴格的說,從目前中勤在線的網(wǎng)站后臺程序編碼總體來看,中勤在線還停留在個人網(wǎng)站的水準上,看不出一個教育類大型網(wǎng)站的應有的水準,因此,我們的程序員必須統(tǒng)一編碼方式,原因其一,可以體現(xiàn)出整個網(wǎng)站的整體性;其二,可以提高程序的可閱讀性,方便下一階段的程序員修改更新程序。以下為具體內(nèi)容:
1、 變量先定義后使用;
2、 首字大寫,盡量采用英語描述,不宜采用拼音描述;
3、變量命名基本采用匈牙利命名法則;
匈牙利命名法則基本原則是:
變量名=屬性 + 類型 + 對象描述
即一個變量名由三部分信息組成,這樣,程序員很容易理解變量的類型、用途,而且便于記憶。
下邊是根據(jù)我站一些推薦使用的規(guī)則例子(詳細命名規(guī)則請參看匈牙利命名規(guī)則):
·屬性部分
全局變量:g_
常量:c_
·類型部分
指針:p_
句柄:h_
整型:i_
浮 點 型:f_
日 期 型:d_
布 爾 型:b_
字 符 型:s_
數(shù) 組 型:ary_
·描述部分
初 始 化:Init
臨時變量:Tmp
其中部分規(guī)則考慮到將來.net發(fā)展的c# 變量命名規(guī)則,在Asp中可不考慮。
參考實例:c_i_InitBorderColor、g_s_TmpNewsTitle、g_i_ary_VoteNum,程序員可根據(jù)實際情況梢做改動,但必須遵循匈牙利命名法則,能夠使其他程序員看變量名便知其類型和屬性等關鍵標識符意義;
4、所有控件的屬性值都要使用雙引號或者單引號包括起來;
5、控件的命名規(guī)則:
Button: btn
Form:frm
Select:sel
Textarea:txt
Input: ipt
Hidden: hid
6、各控件主要使用規(guī)則:
·img控件
alt:所有展示類圖片都要具有能簡要描述圖片內(nèi)容的文字說明。
·Input控件
maxlength:所有Input控件都需要制定maxlength屬性,默認值為數(shù)據(jù)庫中對應的字段的長度。
readonly:所有不可更改的信息都要使用readonly屬性。
·Form控件
action:所有Form都要指定action,如果提交給本身就指定action=""
method:盡量使用post方式
onsubmit:所有form都要指定提交前需要的檢查程序。
所有form都要有對應的reset button。
·Button控件
Onclick:form中用于提交的button不容許使用此方法,所有數(shù)據(jù)檢查通過form的onsubmit激活。
·head屬性
所有頁面都要具有不為空的head屬性。
·所有中文頁面都要加上如下語句:
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

4、數(shù)據(jù)庫設計
程序員在進行數(shù)據(jù)庫設計前應先仔細閱讀由市場部做的各項分析文檔(包括可行性分析,需求分析等),查看由信息部擬訂的項目所需功能列表后,仔細斟酌后進行數(shù)據(jù)庫初步設計,設計完后提交數(shù)據(jù)庫設計報表。詳細規(guī)范如下:
·所有表必須以字符“t”(table)開頭,如表tUsers,tAffriches,tMessages等等;
·所以字段必須以字符“f”(field)開頭,如字段fID,fName,fTitle等等;
·較重要表中,最少創(chuàng)建2個預留字段,命名為fPre_Int (數(shù)字型),fPre_Str (字符型);
·設計Access數(shù)據(jù)庫應有較長數(shù)據(jù)庫文件名,或者與網(wǎng)絡部協(xié)商,做成ODBC連接,防止數(shù)據(jù)庫被非法下載。
·設計SQL Server數(shù)據(jù)庫還應備份數(shù)據(jù)庫創(chuàng)建SQL腳本,即備份數(shù)據(jù)庫結(jié)構(gòu)。
數(shù)據(jù)庫設計基本

5、文件夾設置
隨著中勤在線的發(fā)展,其欄目設置越來越多,經(jīng)過三年的開發(fā),現(xiàn)已有十多個欄目,各個欄目均由不同人員開發(fā),各欄目文件夾的設置也是七臨八亂,不成規(guī)矩,很難讓別的開發(fā)人員一目了然其欄目結(jié)構(gòu)。因此為了更加規(guī)范程序和頁面文件夾的設置,現(xiàn)規(guī)定如下:
·必須設有Connections文件夾,存放數(shù)據(jù)庫連接文件;
·必須設有Inc文件夾,存放包含文件和其他頁面調(diào)用程序;
·必須設有Images文件夾,存放圖片文件;
·必須設有Css文件夾,存放樣式表文件;
·必須設有Doc文件夾,存放開發(fā)文檔;
·必須設有Original Files文件夾,存放圖片源文件;
·必須設有Js文件夾,存放腳本文件;
·在有上傳功能的欄目中,必須設有Upload文件夾,存放上傳的圖片及文件;
·Asp.net欄目中,必須設置Source文件夾,存放程序C#或者Vb.net源文件;
·Asp.net欄目中,必須設置Bin文件夾,存放動態(tài)連接庫文件;
·使用SQL Server庫欄目中,必須設置Sql文件夾,存放數(shù)據(jù)庫結(jié)構(gòu)SQL腳本文件;
·必須設置Backup文件夾,存放更新前的備份文件。

6、注釋與縮進
在過去的開發(fā)中,中勤在線使用的大部分為Asp腳本語言,此語言程序與頁面嵌套在一起,通常被稱為“意大利面條”式代碼,所以閱讀程序往往很費時間,在.net開發(fā)中,出現(xiàn)了CodeBehind技術可將代碼和頁面分開,在一定程度上可以減輕程序員的負擔,但是要讓程序更快的閱讀代碼,還必須在適當?shù)牟糠痔砑幼⑨,并且請合理采用代碼縮進,在模塊與模塊之間,循環(huán)區(qū)塊,條件區(qū)塊等等都應該使用代碼縮進,縮進一級為兩個半角空格。

7、安全與調(diào)試
開發(fā)后期,程序員還擔負著代碼的調(diào)試和漏斗檢測任務,其中就包括如下內(nèi)容
·所有頁面要在800*600,1024*768兩種分辨率下運行通過;
·所有頁面要在IE5.0,5.5以及6.0下運行通過沒有JavaScript錯誤;
·所有涉及刪除的操作,在用戶選定以后都要再進行一次確認操作;
·檢查Sql漏洞,以及每個傳遞參數(shù),排除入侵可能性;
·開發(fā)完畢后必須掛在工作機房調(diào)試經(jīng)內(nèi)部調(diào)試一周方可正式發(fā)布;

二、 【程序開發(fā)管理標準化】
1、項目管理
程序開發(fā)總體由開發(fā)部長全面負責,開發(fā)部長根據(jù)當前人力資源分配程序員到各項目組,每個項目組必須設置一個組長,負責整個項目的進度,首先畫出項目進度表,和項目操作流程和必要的開發(fā)文檔。項目組長每周制定周報,由開發(fā)部長審核查閱,并且指定每周討論會時間,每周最少兩次,項目組長記錄討論具體內(nèi)容。具體操作見《項目開發(fā)質(zhì)量和管理標準化》。

2、獎懲機制
項目組長每周必須檢查成員開發(fā)的程序,嚴格按照程序開發(fā)質(zhì)量標準化實施,并做記錄,每周統(tǒng)計上周報,并且每周給組員記分,提交部長查閱。項目開發(fā)完畢后,項目組全體成員必須集中討論和相互檢查程序,做出最后修改,項目組長提交項目本組開發(fā)明星,獎金體現(xiàn)在當月工資。另外,項目組長應根據(jù)每個組員的工作量,代碼編寫的效率,規(guī)范方面對每個員工有不同的評價體現(xiàn)在項目總開發(fā)文檔中,以便人力資源部考察和發(fā)放酬勞。