軟件項目開發(fā)管理_第1頁
軟件項目開發(fā)管理_第2頁
軟件項目開發(fā)管理_第3頁
軟件項目開發(fā)管理_第4頁
軟件項目開發(fā)管理_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

.net項目開發(fā)管理2011-6-4Agent議程開發(fā)過程團隊組成開發(fā)工具溝通文檔模板開發(fā)規(guī)范軟件開發(fā)過程RUP軟件產(chǎn)品開發(fā)過程.NETProject

Plans

Approved項目計劃確定Scope

Complete開發(fā)完成ReleaseReadiness

Approved產(chǎn)品成型Deployment

Complete部署完成Vision/ScopeApproved規(guī)劃和范圍確定MSF持續(xù)改進TimeFunctionality通過分解成小的迭代周期將大項目的實施風(fēng)險降低,并提高用戶體驗Version1Version2Version3開發(fā)過程應(yīng)用團隊模型CommunicationDeliveringthesolutionwithinprojectconstraintsSatisfiedcustomersEnhancedusereffectivenessSmoothdeploymentandongoingoperationsApprovalforreleaseonlyafterallqualityissuesareidentifiedandaddressedBuildingtospecification開發(fā)測試配置管理用戶體驗產(chǎn)品經(jīng)理項目經(jīng)理團隊建設(shè)角色合并規(guī)則NNNNNNNNNNNNPPPPPPPPPPUUUUUUUUP

PossibleU

UnlikelyN

NotRecommended產(chǎn)品經(jīng)理項目經(jīng)理開發(fā)測試用戶體驗界面設(shè)計配置管理產(chǎn)品經(jīng)理項目經(jīng)理開發(fā)測試用戶體驗界面設(shè)計配置管理角色說明角色責(zé)任主管領(lǐng)導(dǎo)該角色由高層主管領(lǐng)導(dǎo)擔任。該角色對項目的最終成敗負有責(zé)任。在項目進行過程中,該角色有權(quán)力對用戶方進行協(xié)調(diào),代表用戶方做出決定,支持項目組的工作。該角色需要時才出現(xiàn)。程序管理該角色按周檢查項目進展情況,并進行項目的日常管理,協(xié)調(diào)項目組的工作,報告項目進展情況。產(chǎn)品管理由最終用戶或懂業(yè)務(wù)的人員擔任這一角色,在項目進行的全過程中,始終代表著最終用戶的利益,反映最終用戶的要求。擔任這一角色的人員可以不是技術(shù)人員。開發(fā)組開發(fā)組在項目中負有如下責(zé)任:充分了解技術(shù)環(huán)境在項目的整個生命周期中設(shè)計、開發(fā)、模塊測試測試組規(guī)劃和進行新系統(tǒng)的測試用戶教育保證最終用戶在使用系統(tǒng)時的方便性,負責(zé)與最終用戶溝通進行操作方面的要求,負責(zé)用戶界面設(shè)計的合理性,準備最終用戶的培訓(xùn)教材,并進行最終用戶的培訓(xùn)工作。該角色評估各種培訓(xùn)方式,挑選合適的培訓(xùn)項目。系統(tǒng)實施該角色規(guī)劃和進行系統(tǒng)的安裝實施,完成硬件和軟件的規(guī)劃、定貨、采購和安裝。開發(fā)環(huán)境和工具VisualStudioTeamSystemVisualStudioTeamSuiteMSF軟件開發(fā)過程指導(dǎo)VisualStudioTeamFoundationServerVisual

Studio

行業(yè)伙伴Software

ArchitectsSoftware

DevelopersSoftware

TestersVisual

Studio

Team

Explorer應(yīng)用建?;A(chǔ)架構(gòu)和部署模型代碼分析性能調(diào)優(yōu)安全分析PerformanceTestingManualTestingTestCaseManagementVisualStudioProfessionalEdition變更管理工作項跟蹤報表項目站點集成服務(wù)項目管理LoadTestAgentVisioandUMLModeling類模型單元測試代碼覆蓋率開發(fā)環(huán)境開發(fā)流程業(yè)務(wù)分析項目經(jīng)理開發(fā)測試使用者需求變更用例非功能性需求Bugs任務(wù)產(chǎn)品缺陷

溝通管理日常溝通工作報告工作會議階段溝通Kickoff項目啟動Tollgatereview階段回顧日常溝通工作周報總結(jié)本周工作安排計劃下周工作工作進度評估工作問題總結(jié)解決方案日常溝通工作會議會議議題參與人員、時間、地點議程結(jié)論實施計劃階段溝通

階段溝通點項目Kickoff會議關(guān)注重點

項目的目標和范圍介紹項目的背景明確項目目標明確項目的范圍和遞交件實施方案綜述系統(tǒng)架構(gòu)介紹

項目的組織和時間計劃項目組織結(jié)構(gòu)設(shè)置及角色職責(zé)項目實施時間計劃和里程碑項目管理綜述溝通管理問題管理風(fēng)險管理:風(fēng)險管理的方法及當前存在的風(fēng)險及其緩解措施變更管理項目領(lǐng)導(dǎo)總結(jié)發(fā)言項目Kickoff會議關(guān)注重點(續(xù))

項目組織結(jié)構(gòu)定義說明PMZhangJiawenConsultant&Architecture:LiWei,WangZhongkun,MSGlobalresourceProgrammer:XuYunfeng,QinLeiTesterXuYunfengQualityAssuranceArchitectTeam(Solution,DataandInfra.)TangZhechuan,WangXuminConfigurationManagementSGM:ZhangJiawenProjectExecutiveSGM:WangYingMicrosoft:WuPengProjectSteeringCommitteeSGM:ChenYingjian,BaoYeBusinessProjectChampionXuLiangsong,HuQionglinSystemOperationOwnerLinBojun,ZhangYuMicrosoftSGMPMWuWeihuaConfigurationManagerWuWeihuaPlan&DefineTollgateReview關(guān)注重點

項目實施情況介紹(本階段完成的主要成果)

需求開發(fā)結(jié)果介紹用戶需求和非功能性需求是否與當初SOW有差異?如何處理?

AD&Solution介紹,AD和SRS中非功能需求中必須提供本項目實際適用的安全設(shè)計,安全設(shè)計的要素按《系統(tǒng)平臺安全管理標準》、《網(wǎng)絡(luò)安全管理標準》、《應(yīng)用開發(fā)安全指南》、《賬戶安全管理標準》界定,安全標準文檔位于\\sisqn211\ITOperationdoc\信息安全體系文檔

Define階段的系統(tǒng)架構(gòu)是否與立項時向IT管理層匯報的架構(gòu)存在差異?如何處理?

SRS設(shè)計文檔是否滿足operation提出的運維支持要求?項目時間進度及其里程碑(計劃與實際比較)針對新系統(tǒng)建設(shè)項目,新應(yīng)用系統(tǒng)名稱要求在plan&definetollgate之前由應(yīng)用總監(jiān)審核最終確定花費的人工工時(timesheet)統(tǒng)計(計劃與實際比較)項目遞交的文檔清單及其簽字情況建立文檔基線的情況(CMBaseline),是否放入PMOVSS?

Dev/SIT/QA/PRD環(huán)境準備(按照ITBOM定義)

QACertification

風(fēng)險控制狀況重要的問題跟蹤與解決

BestPractice&LessonsLearned(Optional)下一步行動(ActionItems)Q&AConstruct&TestTollgateReview關(guān)注重點

項目狀態(tài)介紹(本階段完成的主要任務(wù))

構(gòu)建結(jié)果介紹(是否按照設(shè)計實施?)測試結(jié)果介紹(其中需要對設(shè)計文檔中提及的安全設(shè)計予以測試和驗)培訓(xùn)情況介紹-包括系統(tǒng)管理員、運維人員、最終用戶的培訓(xùn)在本階段發(fā)生過的變更及其影響分析需求的變更解決方案的變更由變更可能影響的相關(guān)文檔是否更新?(BRD,SRS,SDD,AD,RTM,Project

Plan,Project

Schedule,ITBOM)項目時間進度及其里程碑(計劃與實際比較)截至目前,花費的人工工時(timesheet)統(tǒng)計(計劃與實際比較)項目遞交的文檔清單及其簽字情況建立配置管理基線(CMBaseline),是否放入PMOVSS?

QACertification

風(fēng)險控制狀況

重要的問題跟蹤與解決

BestPractice&LessonsLearned(Optional)項目新增/更新的CI是否按照要求申請加入CMDB

-提交CMDB支持人員分組表

上線變更流程是否按照要求執(zhí)行審批完畢?(至少提前兩周提交RFC)

是否存在老系統(tǒng)退役的情況,需要單獨提交RFC,提醒CIOwner及SystemOwner更新CMDB上線計劃OnlineReviewQ&A項目里程碑確定目標和范圍業(yè)務(wù)需求文檔:清晰地描述用戶對應(yīng)用系統(tǒng)的要求和業(yè)務(wù)流程。是由產(chǎn)品管理和程序管理共同完成的。系統(tǒng)目標文檔:是在組隊角色其它成員提供信息的前提下,由產(chǎn)品管理角色組共同創(chuàng)建的。系統(tǒng)設(shè)計范圍文檔:提供了對項目當前所要實現(xiàn)業(yè)務(wù)功能范圍的描述,它可以由程序管理或產(chǎn)品管理來創(chuàng)建。這份文檔應(yīng)確定在功能說明設(shè)計開始前,需要解決的問題和征求的意見。風(fēng)險評估:是隨著項目的進展過程更新的動態(tài)文檔。這個文檔確定了可能影響項目實施的技術(shù)和組織機構(gòu)上的問題。項目組織結(jié)構(gòu)文檔:定義了項目組的管理結(jié)構(gòu),并描述整個項目實施過程的基本階段。項目里程碑制定項目計劃功能說明:描述了最終交付的應(yīng)用系統(tǒng)應(yīng)具有什么樣的功能,包括概要設(shè)計、邏輯流程設(shè)計和詳細設(shè)計,它是這個里程碑上必須提交的文檔。風(fēng)險評估:是由項目組的組長們根據(jù)已知的問題不斷更新的文檔。項目計劃:各種角色的實施方案。根據(jù)功能說明中確定的任務(wù),將其細分為內(nèi)部里程碑。項目計劃的內(nèi)容中包括實現(xiàn)方法、依賴條件、假設(shè)、預(yù)算和費用等信息。項目時間進度:由每種組隊角色的進度安排合并而成。項目里程碑范圍完成/第一次使用全功能的源代碼:這些代碼能夠穩(wěn)定地用于聯(lián)調(diào)測試。風(fēng)險評估:是由項目組的組長們根據(jù)已知的問題不斷更新的文檔。測試規(guī)范文檔:針對代碼的各個方面,給出了需要完成的測試,并定義了特定領(lǐng)域的測試需求。測試的案例:描述出如何測試某一方面的代碼,滿足測試規(guī)定的要求。基于版本的功能說明:在項目設(shè)計核準里程碑上給出的基于版本的功能規(guī)定,這個功能說明是根據(jù)版本的變動不斷被修改的,所有的更改都應(yīng)該反映在功能規(guī)定中。時間進度安排:根據(jù)風(fēng)險和已知的變化,更新項目提交的時間進度安排。項目里程碑系統(tǒng)正式發(fā)布可執(zhí)行代碼發(fā)布的注釋不同版本的源代碼培訓(xùn)手冊、文檔記錄和應(yīng)用系統(tǒng)演示輔助工具安裝的平臺和工具軟件/數(shù)據(jù)的安裝程序和轉(zhuǎn)換遷移工具文檔模板過程的指引文檔與流程確定階段需要提交的文檔SOW制定階段交付物清單通過文檔控制流程開發(fā)規(guī)范總體原則基本命名風(fēng)格及編碼規(guī)范命名空間及層次結(jié)構(gòu)命名規(guī)范類成員使用規(guī)范類型使用規(guī)范注釋規(guī)范異常產(chǎn)生與處理日志和跟蹤使用其它事項數(shù)據(jù)庫規(guī)范總體原則符合.NET框架及具體開發(fā)語言(C#等)通用開發(fā)規(guī)范包層次體系清晰,結(jié)構(gòu)性強接口,類設(shè)計靈活,可擴展性強注釋清晰,程序可讀性高基本命名風(fēng)格及編碼規(guī)范基本命名風(fēng)格Pascal風(fēng)格這種風(fēng)格大寫每個單詞的首字母。(如:BackColor)

Camel風(fēng)格這種風(fēng)格除了第一個單詞的首字母,其他單詞都應(yīng)大寫首字母。(如:backColor)編碼規(guī)范(一)大小寫敏感不要出現(xiàn)必須要大小寫敏感支持的名字不要出現(xiàn)兩個只用大小寫區(qū)分的命名空間不要出現(xiàn)兩個只用大小寫區(qū)分的參數(shù)不要出現(xiàn)只用大小寫區(qū)分的同一命名空間的類型不要出現(xiàn)只用大小寫區(qū)分的同一類型屬性不要出現(xiàn)兩個只用大小寫區(qū)分的方法編碼規(guī)范(二)類型風(fēng)格備注ClassPascal風(fēng)格

EnumerationvaluePascal風(fēng)格

EnumerationtypePascal風(fēng)格

EventPascal風(fēng)格

ExceptionclassPascal風(fēng)格用后綴Exception.Read-onlystaticfieldPascal風(fēng)格

InterfacePascal風(fēng)格用前綴I.MethodPascal風(fēng)格

NamespacePascal風(fēng)格

PropertyPascal風(fēng)格

PublicinstancefieldPascal風(fēng)格很少使用,更多使用properties.ProtectedinstancefieldCamel風(fēng)格很少使用,更多使用properties.ParameterCamel風(fēng)格

在所有由多單詞組成的公共描述符中使用Pascal風(fēng)格在局部變量參數(shù)名或私有類屬性名稱上使用Camel風(fēng)格編碼規(guī)范(三)只在少于兩個字母的縮寫中使用大寫。三個以上字母的縮寫都應(yīng)該使用Pascal風(fēng)格(如:如用HtmlButton而非HTMLButton,但不要用System.Io來取代System.IO)不要使用常用的命名空間的名字做類名(如:System、Forms)不要使用和關(guān)鍵字沖突的識別符不要使用不被廣泛認可的縮寫只有絕對需要時再使用廣為人知的縮寫(如:UI來表示UserInterface)命名空間及層次結(jié)構(gòu)命名空間基本原則<Company>.<Project>.<Module>.<Tier>[.Sub-Module][.Function][.Design]約定<Company>--HYSOFT<Project>--HLMIS 注意事項避免兩個PUBLISED的NAMESPACES名稱一樣的可能 使用一個穩(wěn)定的被廣泛認可的技術(shù)名稱作為層的名稱使用Pascal風(fēng)格命名NAMESPACES的每一層,并用分隔號(.)分開。在適當?shù)牡胤绞褂脧?fù)數(shù)命名不要讓命名空間和類都使用同樣的名字包層次結(jié)構(gòu)名字空間備注HYS.Hlims[BusinessModule]Entity業(yè)務(wù)實體Contract接口契約定義DAL數(shù)據(jù)持久化Biz業(yè)務(wù)邏輯實現(xiàn)HYSFrameworkLog平臺框架日志Audit平臺框架審計ORM平臺框架數(shù)據(jù)統(tǒng)一操作HYSPortalEntity[Function]平臺管理實體定義Contract[Function]平臺管理接口契約定義DAL[Function]平臺管理數(shù)據(jù)持久化BLL[Function]平臺管理業(yè)務(wù)實現(xiàn)命名規(guī)范命名規(guī)范-類命名使用名詞或名詞短語命名類使用Pascal風(fēng)格謹慎使用縮寫命名類不要使用任何類前綴(如C)偶爾可能會出現(xiàn)已I作為類名開頭的情況,而這個類又不是一個接口類。這種情況下只要第二個字母是小寫就可以接受(如:IdentityStore)建議使用組合詞來命名派生類。在此情況下,你應(yīng)該考慮使用基類名稱作為派生類名稱的結(jié)尾。(如:CoffeeCup)命名規(guī)范-枚舉命名使用Pascal風(fēng)格來命名枚舉類型使用Pascal風(fēng)格命名枚舉值不要使用簡寫來命名枚舉值不要在枚舉前加前綴和后綴使用單數(shù)來命名枚舉,除非它是一個BIT類屬性使用復(fù)數(shù)來命名BIT類屬性命名規(guī)范-靜態(tài)類屬性命名使用名詞,名詞短語或簡寫來命名靜態(tài)類屬性使用Pascal風(fēng)格來命名靜態(tài)類屬性

命名規(guī)范-參數(shù)命名使用有意義的參數(shù)名.在所有場合,參數(shù)名稱和類型應(yīng)該清楚地描述以決定其反映的意義用Camel風(fēng)格來命名參數(shù)使用名稱來表現(xiàn)其作用而非表現(xiàn)其類型不要使用reserved參數(shù)。在下個版本中需要更多的數(shù)據(jù)那么就使用重載請不要使用匈牙利命名法來在名稱前加前綴命名規(guī)范-方法屬性命名方法命名使用動詞或動詞短語來命名方法使用Pascal風(fēng)格來命名方法屬性命名使用名詞或名詞短語來命名屬性使用Pascal來命名屬性命名規(guī)范-事件命名使用事件EventHandler來命名HANDLER(代理類型)publicdelegatevoidMouseEventHandler(objectsender,MouseEventArgse)兩個參數(shù)取名叫sender和e使用EventArgs后綴來命名事件的參數(shù)使用現(xiàn)在時態(tài)和過去時態(tài)來命名有“前”、“后”概念的事件。不要使用BeforeXxx\AfterXxx,而是應(yīng)該使用有意義的詞。(如:一個可以取消的關(guān)閉事件可以表示為Closing和Closedevent)考慮使用動詞來命名事件類成員使用規(guī)范類成員使用規(guī)范-屬性使用使用Pascal風(fēng)格來命名屬性不要使用匈牙利命名法建議不要使用相同的類的屬性名字和類型名字當對一個類中屬性作賦值操作時發(fā)生了異常(Exception)時,一定要保證這個屬性中還保留著以前保存的屬性值。避免這個屬性的內(nèi)容處于不確定狀態(tài)

必須允許類的屬性可以以任意的順序賦值。屬性與其他屬性間應(yīng)該是沒有狀態(tài)關(guān)系的只讀和只寫的屬性

:當在邏輯上要求用戶不能改變類的屬性時,需要使用只讀屬性。

禁止使用只寫屬性類成員使用規(guī)范-事件使用使用Pascal風(fēng)格來命名事件不要使用匈牙利命名法。應(yīng)該使用“raise”(“產(chǎn)生”)術(shù)語來表示產(chǎn)生事件而不是使用“fire”或“trigger”。(如:當在文檔中描述事件時,應(yīng)該使用“aneventwasraised”而不是“aneventwasfired”或“aneventwastriggered.”)應(yīng)考慮用動詞來命名一個事件事件處理程序應(yīng)返回void值應(yīng)該從System.EventArgs類中派生出事件處理數(shù)據(jù)類。

應(yīng)該假設(shè)在事件處理過程中會發(fā)生任何事情(要注意異常處理)。

考慮在事件處理中使用try/finally程序塊處理異常類成員使用規(guī)范-方法使用使用Pascal風(fēng)格來命名事件不要使用匈牙利命名法缺省使用非虛函數(shù)的方法一個類中有兩個同名的方法可以使用,只不過他們有不同的調(diào)用參數(shù)時,我們需要方法重載類成員使用規(guī)范-構(gòu)造函數(shù)使用只有當一個類中僅有靜態(tài)的方法和屬性時,我們才能使用私有的構(gòu)造方法在構(gòu)造函數(shù)中盡量做最少的工作.多余的功能應(yīng)該留到后續(xù)的代碼中,當客戶代碼調(diào)用這個功能時再做相應(yīng)的工作建議不要在“struct”(valuetypes)中定義一個空的構(gòu)造函數(shù)類成員使用規(guī)范-類成員變量使用不要將類成員變量設(shè)為外界可直接訪問的.應(yīng)考慮提供get和set的成員存取方法來代替將成員變量設(shè)為public避免在類成員的名字中使用縮寫

不要使用匈牙利命名法。好的名字應(yīng)該描述語法而不是類型類型使用規(guī)范類型使用規(guī)范-總述類型是在運行時封裝的單元.有三種基本的類型類

類是最基本的一種通用類型。類可以是抽象的或密封的。抽象類需要子類來實現(xiàn)相應(yīng)的方法。密封的類不允許被繼承。

值類型

值類型代表一系列存儲在堆棧中的二進制值。

接口類型

一個接口類型是對值的部分描述。它可以被許多對象類型所支持類型使用規(guī)范-類使用盡量使用類代替其他類型。在被管理的運行環(huán)境中,類應(yīng)該是最普遍使用的類型。

基類使用場合

基類是將一組有共同功能的對象組織起來的非常有用的方法?;惪梢蕴峁┮唤M缺省的功能,而同時又允許擴展和定制。只有當你有一個非常明確的用戶場景時,才應(yīng)該在設(shè)計中加入對象的擴展和多態(tài)等功能。

類型使用規(guī)范-基類VS接口接口適用于下列條件下:多個不相關(guān)的類必須支持同一個協(xié)議類已經(jīng)有了基類(forexample,someareUIcontrols,someareWebservices),而c#中是不支持多重繼承的.這個時候我們需要使用接口實際情況不適合使用聚合對于其他的情況,類的繼承是一個更好的模式類型使用規(guī)范-結(jié)構(gòu)使用在如下的情況中,建議使用struct類型來滿足要求

只作為簡單的類型。

類型實例的大小要在16個字節(jié)以下

類型是不可變的值類型是更符合要求的不要在結(jié)構(gòu)類型中提供一個缺省構(gòu)造函數(shù).運行時環(huán)境會自動加入一個構(gòu)造函數(shù)將所有的值初始化為0.這在實例化結(jié)構(gòu)數(shù)組時能夠大大提高效率類型使用規(guī)范-枚舉使用應(yīng)該使用枚舉類型來作為強類型的參數(shù),屬性和返回值。這樣程序會更有意義且很難出錯。同時在參數(shù)或?qū)傩灾惺褂妹杜e類型(enum)可以讓開發(fā)工具知道這個屬性或參數(shù)所有的可能值,從而自動提示給程序員。這樣可以提高開發(fā)的效率。

如果二進制的OR操作符會作用在枚舉類型里的數(shù)值上時,一定要在此枚舉類型上加上System.Flags屬性。不要假設(shè)枚舉類型(enum)的參數(shù)會在定義的范圍之內(nèi),一定要做參數(shù)校驗。

如果你用了多個相關(guān)的常量(staticfinalconstants),那應(yīng)該考慮用enum類型代替他們。

注釋規(guī)范注釋規(guī)范-模塊注釋在一個程序模塊的開始,應(yīng)用注釋說明模塊的名字、功能、開發(fā)者和日期和版本變更歷史//-------------------------------------------------------------------//版權(quán)所有:版權(quán)所有(C)2008,Microsoft//系統(tǒng)名稱:EBOM//文件名稱:BenBLL.cs//模塊名稱:BENManager//模塊編號://功能說明:BENManager//修改人修改時間修改內(nèi)容//WY2009.12.1新建BenBLL類注釋規(guī)范-類的注釋在定義一個類之前,應(yīng)用“///”注釋說明類的功能、使用方法和特殊的屬性注釋規(guī)范-類成員方法的注釋在定義類成員方法前,應(yīng)說明該過程/函數(shù)的名字、功能、輸入/輸出和版本變更歷史注釋規(guī)范-類成員屬性、常量、變量注釋在定義類成員屬性前,應(yīng)描述該屬性注釋規(guī)范-程序注釋在代碼實現(xiàn)時,應(yīng)對其目的和實現(xiàn)的功能進行說明采用了特殊的語法需要對語法注釋為實現(xiàn)部分功能需要注釋不能通過上下文立即明白其功能需要注釋異常產(chǎn)生與處理異常產(chǎn)生與處理(一)使用Exception作為異常類的后綴publicclassFileNotFoundException:IOException{}推薦使用預(yù)定義的異常類型.只有為場景定義了新的例外類型才能讓使用你程序庫的用戶能根據(jù)例外的類型做恰當?shù)奶幚韯幼?/p>

不要直接從Exception中派生一個新類。在System*命名空間中,可以直接繼承SystemException。在其他命名空間中,從ApplicationException中繼承異常消息要支持本地化(用中文描述異常消息),并且對開發(fā)人員和用戶具有較好的可讀性異常產(chǎn)生與處理(二)只在例外情況下才甩出異常

不要為正?;蝾A(yù)期之中的錯誤使用異常

不要在正常的控制流程中使用異常推薦返回null來作為通常的錯誤返回.如文件沒有找到,那么File.Open就返回一個null,但如果文件被鎖住了就應(yīng)該激發(fā)一個異常類在設(shè)計時在正常流程中不應(yīng)拋出異常寧愿用異常而不要使用內(nèi)定的錯誤代碼(ErrorCode)日志和跟蹤使用日志綜述當判斷系統(tǒng)出現(xiàn)異常(錯誤的時候)或者進行關(guān)鍵的系統(tǒng)操作的時候,請使用日志把相應(yīng)信息記錄下來

其中需要記錄的信息包括:

系統(tǒng)出現(xiàn)異常和出現(xiàn)運行結(jié)果錯誤:一般是在try{…}catch{}結(jié)構(gòu)中的catch代碼塊中,或者在函數(shù)調(diào)用返回出現(xiàn)錯誤碼不為零的時候?qū)懭?。需求中明確要求記錄的操作。對系統(tǒng)運行有重大影響的操作,如添加、刪除用戶,更改管理員權(quán)限等其它事項數(shù)組vs集合(一)特性對比。數(shù)組是固定大小的,不能伸縮;集合是可變長的。(System.Array.Resize支持重定義數(shù)組大小,但需要額外初始化開銷)

數(shù)組要聲明元素的類型,集合類的元素類型卻是object。(.NETFramework2.0支持泛型)數(shù)組可讀可寫,不能聲明只讀數(shù)組。集合類可以提供ReadOnly方法以只讀方式使用集合。

數(shù)組要有整數(shù)下標才能訪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論