數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計風格和注釋要求_第1頁
數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計風格和注釋要求_第2頁
數(shù)據(jù)結(jié)構(gòu)與算法程序設(shè)計風格和注釋要求_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、“數(shù)據(jù)結(jié)構(gòu)與算法”程序設(shè)計風格和注釋要求1誠實代碼保證在“數(shù)據(jù)結(jié)構(gòu)與算法”課程今后的實習報告中,同學們提交的每個程序都應(yīng)該遵循Honor Code(誠實代碼保證)的要求。請大家特別注意一定要在每個程序首部的注釋中加上以下保證: / 我真誠地保證: / 我自己獨立地完成了整個程序從分析、設(shè)計到編碼的所有工作。/ 如果在上述過程中,我遇到了什么困難而求教于人,那么,我將在程序?qū)嵙晥蟾嬷? 詳細地列舉我所遇到的問題,以及別人給我的提示。/ 在此,我感謝 XXX, , XXX對我的啟發(fā)和幫助。下面的報告中,我還會具體地提到/ 他們在各個方法對我的幫助。 / 我的程序里中凡是引用到其他程序或文檔之處,/

2、 例如教材、課堂筆記、網(wǎng)上的源代碼以及其他參考書上的代碼段,/ 我都已經(jīng)在程序的注釋里很清楚地注明了引用的出處。/ 我從未抄襲過別人的程序,也沒有盜用別人的程序,/ 不管是修改式的抄襲還是原封不動的抄襲。 / 我編寫這個程序,從來沒有想過要去破壞或妨礙其他計算機系統(tǒng)的正常運轉(zhuǎn)。 / <學生姓名> 如果沒有在提交程序時加上這段保證,將被認為違背了Honor Code規(guī)則。本次上機題記零分或根據(jù)抄襲情況倒扣分。2.內(nèi)部文檔要求 .每個源文件和頭文件都必須在文件首部的注釋中注明設(shè)計者姓名,項目名(即我們的上機題目名),創(chuàng)建日期和最近一次修改日期。包含main()函數(shù)的源文件必須在首部注釋

3、后另加一段注釋,簡要描述一下程序的目的和用到的主要數(shù)據(jù)結(jié)構(gòu)。文件注釋格式如下:文件名稱:項目名稱:創(chuàng)建者:創(chuàng)建時間:最后修改時間:功能: 文件中的函數(shù)名稱和簡單功能描述:文件中定義的全局變量和簡單功能描述:文件中用到的他處定義的全局變量及其出處:與其他文件的依賴關(guān)系: .每個類必須包含首部注釋塊,適度地描述這個類的目的。類的首部注釋應(yīng)該緊挨著放在類的聲明(一般在頭文件里)前面。類的注釋格式如下:類名稱:定義該類的目的:類屬性:類中函數(shù)及功能:與其他類的關(guān)系(調(diào)用/被調(diào)用哪類對象中的什么函數(shù)): .每個函數(shù)必須有首部注釋塊,描述該函數(shù)的簡要功能,每個參數(shù)的邏輯含義(包括它是輸入還是輸出或者輸入/

4、輸出),函數(shù)調(diào)用之前的預(yù)備條件,返回后的處理,返回值(如果有的話),該函數(shù)要調(diào)用到的函數(shù)列表(如果有)。這些函數(shù)頭注釋可能和函數(shù)原型或函數(shù)實現(xiàn)放在一起。應(yīng)該注意到:這項要求不僅適合于單獨的函數(shù),同樣適合于類的成員函數(shù)。函數(shù)的注釋格式如下:函數(shù)名稱:函數(shù)功能描述:函數(shù)調(diào)用之前的預(yù)備條件:返回后的處理:返回值(如果有的話):函數(shù)的輸入?yún)?shù):函數(shù)的輸出參數(shù):函數(shù)的抽象算法(偽碼): 函數(shù)與其他對象中函數(shù)的調(diào)用和被調(diào)用關(guān)系: .所有局部變量或常量的聲明后應(yīng)該簡要說明一下他們的含義和用途。 .主要的控制結(jié)構(gòu),例如循環(huán)或分支結(jié)構(gòu),應(yīng)該在前面注明以下代碼將要完成什么功能。 .采用清晰一致的縮進格式和其他格式

5、化風格(例如括號的定位)來提高代碼可讀性。3. 過程代碼要求 .標識符名稱(常量、變量、函數(shù)、類等等)應(yīng)該具有描述性,便于理解。 .要用到某個常數(shù)時,最好設(shè)置一個常量來代替這個數(shù)字。 .采用枚舉類型來表示內(nèi)部標簽和狀態(tài)的分類。 .盡量不要用全局或文件范圍變量。但是允許采用全局范圍內(nèi)的類型定義(包括類定義)。 .采用適當?shù)耐緩絺鬟f函數(shù)參數(shù)。當被調(diào)用函數(shù)需要修改實參的值時一般只采用引用傳參或指針傳參。當傳遞結(jié)構(gòu)較大而不被修改的參數(shù)時,采用常量引用傳參或者常量指針傳參。當被調(diào)用函數(shù)只需改變形參(調(diào)用內(nèi)部)而保持實參不變的時候采用傳值傳參。 .采用string對象來存儲字符串數(shù)據(jù)(除了單個字符),而不

6、用字符數(shù)組來表示。 .任何時候都采用新式的c+。例如:采用<iostream>代替<iostream.h>。不要混合使用舊式c+和新式 c+。 .采用I/O流代替C風格的I/O。4. 面向?qū)ο蟮拇a要求 .盡量采用類。不要用成員函數(shù)來實現(xiàn)結(jié)構(gòu)類型。 .一般來講,建議采用類模板來表示容器型結(jié)構(gòu),如列表、樹等,以提高可重用性。 .設(shè)計類時,每個類都具有比較好的完整性(即該類的數(shù)據(jù)成員和函數(shù)成員具有比較好的內(nèi)聚性和一致性,不要把不相干的東西湊合在一起,也不要把相關(guān)的東西生生拆散)。 .類的所有數(shù)據(jù)成員都應(yīng)該是私有的。.很多情況下,類的某些成員函數(shù)應(yīng)該也是私有的。視情況而定。 .所有訪問型指針都盡可能加const修飾(以區(qū)別于引用型指針)。 .如果一個類數(shù)據(jù)成員是一個指向動態(tài)分配內(nèi)存的指針,要求寫出析構(gòu)函數(shù)來釋放內(nèi)存;并寫出一個用于復(fù)制對象的構(gòu)造函數(shù)(copy constructor),而且寫出賦值操作的重載運算(assignment operator overload)。 .僅當有必要時才采用繼承機制。 .盡量少使用MFC庫中的類,可以適當?shù)厥褂肧TL的類(但是,如果同學們對于最基本的數(shù)據(jù)結(jié)構(gòu),例如棧、隊列等還不熟悉的情況下,還是盡量自己來編寫基本類)。如果要編圖

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論