![代碼編寫管理規(guī)定_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/74f9eca1-03c6-4279-8634-707d5c811447/74f9eca1-03c6-4279-8634-707d5c8114471.gif)
![代碼編寫管理規(guī)定_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/74f9eca1-03c6-4279-8634-707d5c811447/74f9eca1-03c6-4279-8634-707d5c8114472.gif)
![代碼編寫管理規(guī)定_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/74f9eca1-03c6-4279-8634-707d5c811447/74f9eca1-03c6-4279-8634-707d5c8114473.gif)
![代碼編寫管理規(guī)定_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/74f9eca1-03c6-4279-8634-707d5c811447/74f9eca1-03c6-4279-8634-707d5c8114474.gif)
![代碼編寫管理規(guī)定_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/74f9eca1-03c6-4279-8634-707d5c811447/74f9eca1-03c6-4279-8634-707d5c8114475.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 XXX公司 代碼編寫管理規(guī)定編號編制審核批準發(fā)布日期XXX公司修改記錄序號文件更改內(nèi)容 修改日期修改人版本1AV1.0(A- 新增,M-修改,D-刪除)目錄1.目的42.范圍43.職責(zé)44.術(shù)語45.程序46.相關(guān)文件327.相關(guān)記錄321.目的為確保XXX公司軟件開發(fā)項目代碼編寫過程得到有效管控,以確保代碼的安全性、可讀性、適用性,特制定本規(guī)定。2.范圍適用于軟件開發(fā)項目的代碼編寫活動。3.職責(zé)產(chǎn)品事業(yè)部:負責(zé)代碼的編寫、評審。增值業(yè)務(wù)部:負責(zé)代碼的編寫、評審。4.術(shù)語編碼:編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過程。5.程序5.1. 編碼規(guī)范5.1.1 頁面設(shè)計部分5.1.1.1
2、Img控件所有展示類圖片都要具有能簡要描述圖片內(nèi)容的文字說明。5.1.1.2 Input控件maxlength:所有INPUT控件都需要制定maxlength屬性,默認值為數(shù)據(jù)庫中對應(yīng)的字段的長度。 readonly:所有不可更改的信息都要使用readonly屬性。 5.1.1.3 控件的命名將默認名稱中的序號用有意義的名稱代替,如:存儲按鈕默認為Button1 改為 Button_Save5.1.2 客戶端程序部分5.1.2.1 提示每次操作都應(yīng)該返回提示。5.1.2.2 錯誤提示信息的處理所有錯誤提示信息全部使用中文,標點使用中文半角符號,格式如下:"錯誤:"+提示信息
3、+"!" 5.1.2.3 成功提示信息的處理所有成功提示信息全部使用中文,標點使用中文半角符號,格式如下:"成功:"+提示信息+"!" 5.1.2.4 提交前數(shù)據(jù)的驗證 1) 是否為數(shù)字2) 長度判斷3) 為空判斷5.1.2.5 刪除數(shù)據(jù)前的提示所有涉及刪除的操作,在用戶選定以后都要再進行一次確認操作。5.1.3 服務(wù)器端程序部分5.1.3.1 對象的關(guān)閉所有數(shù)據(jù)庫和文件對象都要在使用后盡可能早的close,同時賦nothing。5.1.3.2 可移植配置管理將可能在部署或升級時可能發(fā)生變化的信息進行動態(tài)設(shè)置處理。例如:數(shù)據(jù)適配器中連
4、接串動態(tài)配置。5.1.4 模糊查詢在文本框中輸入!表示匹配單個字符、%表示匹配多個字符。5.1.5 必輸內(nèi)容標示用*標示必輸內(nèi)容。5.2. C#編程規(guī)范5.2.1 命名規(guī)范命名總體原則:將默認名稱中的序號用有意義的名稱代替,如:存儲按鈕默認為Button1 改為 Button_Save。 其他命名原則是:1)使名稱足夠長以便有一定的意義,并且足夠短以避免冗長;2)使用容易讓人理解的名稱,避免容易被主觀解釋的難懂的名稱;3)盡量減少使用縮寫;4)鑒于大多數(shù)名稱都是通過連接若干單詞構(gòu)造的,請使用大小寫混合的格式以簡化它們的閱讀。5.2.1.1 類以Class聲明的類,都必須以名詞或名詞短語命名,體
5、現(xiàn)類的作用。如:Class Indicator當(dāng)類是一個特性(Attribute)時,以Attribute結(jié)尾,當(dāng)類是一個異常(Exception)時,以Exception結(jié)尾:Class ColorSetExceptionClass CauseExceptionAttribute當(dāng)類只需有一個對象實例(全局對象,比如Application等),必須以Class結(jié)尾,如:Class ScreenClassClass SystemClass當(dāng)類只用于作為其他類的基類,根據(jù)情況,以Base結(jié)尾:MustInherit Class IndicatorBase如果定義的類是一個窗體,那么名字的后面必須
6、加后綴Form,如果是Web窗體,必須加后綴Page:Class PrintForm : Inherits Form '* Windows窗體Class StartPage : Inherits Page '* Web窗體其他原則:1) 使用Pascal大寫。2) 減少類名中縮寫的使用量。3) 不要使用任何類前綴(比如C)。4) 不要使用帶下劃線的字符。下面是一些正確命名的類名的例子。public class FileStream public class Button public class String 5.2.1.2 枚舉和結(jié)構(gòu)同樣必須以名詞或名詞短語命名。最好體現(xiàn)枚舉
7、或結(jié)構(gòu)的特點,如:Enum ColorButtons '以復(fù)數(shù)結(jié)尾,表明這是一個枚舉Structure CustomerInfoRecord '以Record結(jié)尾,表明這是一個結(jié)構(gòu)體5.2.1.3 委派類型普通的委派類型以描述動作的名詞命名,以體現(xiàn)委派類型實例的功能:Delegate String DataSeeker (String SeekString)用于事件處理的委派類型,必須以EventHandler結(jié)尾,如:Delegate void DataChangedEventHandler (Sender Object, DataChangedEventArgs e)5.2
8、.1.4 接口與其他類型不同,接口必須要由I作為前綴,并用形容詞命名,突出表現(xiàn)實現(xiàn)接口的類將具有什么能力,如:Interface Isortable。使用Pascal大寫。減少接口名中縮寫的使用量。不要使用帶下劃線的字符。不要在類名前加上前綴C。偶而情況下,需要在類名前加上I而并不表示它是一個接口。在這種情況下,只要I后面的字符是小寫就可(例如,IdentityStore。)當(dāng)類是接口的標準執(zhí)行時,定義這一對類/接口組合就要使用相似的名稱。兩個名稱的不同之處只是接口名前有一個I前綴。下面我們舉個例子,來看看接口IComponent和它的標準執(zhí)行,類Component。public interf
9、ace IComponent public class Component : IComponent public interface IServiceProviderpublic interface IFormatable 5.2.1.5 模塊模塊不是類型,他的名稱除了必須以名詞命名外,必須加以后綴Module,如:Module SharedFunctionsModule。上述所有規(guī)則的共同特點是,每個組成名稱的詞語都必須是大寫開頭,禁止完全大寫或小寫的名稱。5.2.1.6 方法無論是函數(shù)還是子程序,方法都必須以動詞或動詞短語命名。無需區(qū)分函數(shù)和子程序,也無需指明返回類型。public vo
10、id SetCopyNumber(Int CopyNumber)參數(shù)需要區(qū)分ref還是out,這一點寫起來會讓程序變長,但非常必要。如果沒有特別情況,都使用默認。參數(shù)的命名方法,參考后面變量的命名方法。需要重載的方法,一般不寫Overloads,根據(jù)需要編寫重載的方法。5.2.1.7 屬性原則上,字段(Field)是不能公開的,要訪問字段的值,一般使用屬性。屬性以簡潔清晰的名詞命名:public int Concentrationgetreturn 0;set5.2.1.8 變量和常數(shù)常數(shù)以表明常數(shù)意義的名詞命名:public const int DefaultConcentration =
11、12在嚴格要求的代碼中,常數(shù)以c_開頭,如c_DefaultConcentration,但最好不要用它,它會帶來輸入困難。普通類型的變量,只要用有意義的名字命名即可,不可使用簡稱和無意義的名稱諸如A,x1等5.2.1.9 標簽 標簽就是用于Goto跳轉(zhuǎn)的代碼標識,由于Goto并不推薦使用,所以標簽的使用也比較苛刻。標簽必須全部大寫,中間的空格用下劃線_代替,而且應(yīng)該以_開頭,比如:_A_LABEL_EXAMPLE:如此定義標簽是為了與其他代碼元素充分區(qū)別。5.2.1.10 名稱空間命名名稱空間的一般規(guī)則如下:CompanyName.TechnologyName這樣,我們看到的名稱空間應(yīng)該是這樣
12、的:Microsoft.OfficePowerSoft.PowerBuilder注意:這只是一個原則。第三方公司可以選擇其它的名字。避免用公司名稱或其它著名品牌的名稱作為名稱空間的前綴,這樣會造成兩個公布的名稱空間有同一個名稱的可能性。(例如,將微軟提供的Office自動類命名為Microsoft.Office。)使用Pascal大寫方式,用逗號分隔邏輯成分(例如,Microsoft.Office.PowerPoint)。如果你的品牌使用的是非傳統(tǒng)大寫方式,那么一定要遵循你的品牌所確定使用的大寫方式,即使這種方式背離了通常的名稱空間大寫規(guī)則(例如,NeXT.WebObjects,和ee.cum
13、mings。)該用復(fù)數(shù)的時候要使用復(fù)數(shù)的名稱空間名。例如,使用System.Collections而不是System.Collection。本規(guī)則的特例是品牌名稱和縮寫。例如:使用System.IO而不是System.IOs。名稱空間和類不能使用同樣的名字。例如,有一個類被命名為Debug后,就不要再使用Debug作為一個名稱空間名5.2.2 書寫格式規(guī)范5.2.2.1 總則格式化使代碼的邏輯結(jié)構(gòu)很明顯。5.2.2.2 要求書寫格式1) 使用四個空格作為標準的縮進大小,并一致地使用此標準;2) 括號位于下一行,要求相匹配的大括號在同一列;3) 每一行上放置的語句避免超過一條;4) 對繼行則要求
14、再縮進4格。5.2.3 注釋規(guī)范5.2.3.1 一般性問題1) 其他人得到了代碼是否能夠很快的理解它;2) 注釋是否解釋了代碼的意圖,而不僅僅是描述重復(fù)描述流程;3) 技巧性過強的代碼是否重新編寫了而不是僅僅加一些注釋;4) 注釋是否及時更新了,以正確反應(yīng)最新的程序含義;5) 注釋的風(fēng)格是否能夠保證修改注釋很容易;6) 使用 XML 文檔功能;7) 修改代碼時,總是使代碼周圍的注釋保持最新;8) 在每個函數(shù)的開始,說明函數(shù)的用途、假設(shè)和限制等;9) 除了批注變量聲明外,避免在代碼行的末尾添加注釋;10) 在部署之前,移除所有臨時或無關(guān)的注釋;11) 注釋應(yīng)該闡明代碼,而不應(yīng)該增加多義性;12)
15、 在編寫代碼時就注釋,因為以后很可能沒有時間這樣做;13) 避免多余的或不適當(dāng)?shù)淖⑨?,如幽默的不主要的備注?4) 使用注釋來解釋代碼的意圖,而不是作為代碼的聯(lián)機翻譯;15) 為了防止問題反復(fù)出現(xiàn),對錯誤修復(fù)和解決方法代碼總是使用注釋;16) 對由循環(huán)和邏輯分支組成的代碼使用注釋。5.2.3.2 語句和段落1) 代碼是否避免了在程序語句末尾的注釋;2) 注釋是否更側(cè)重于解釋“為什么這么做”,而不是“如何做”;3) 注釋是否能夠引導(dǎo)讀者的思路;4) 每一個注釋是否都是有價值的,多余的,無關(guān)的或自相矛盾的注釋是否刪除了或改正了;5) 縮寫單詞是否替換為完全拼寫形式了;6) 主要注釋和次要注釋的區(qū)分
16、是否明顯;7) 代碼繞過了一個錯誤或者未在文檔中記載的特性的情況是否在注釋中說明了。5.2.3.3 數(shù)據(jù)定義1) 數(shù)據(jù)的單位是否說明了;2) 數(shù)值型數(shù)據(jù)的取值范圍是否說明了;3) 輸入數(shù)據(jù)的限制是否說明了;4) 使用標志的注釋是否細到了每一個位;5) 使用的全局變量的地方是否在注釋中說明了該全局變量是在那里定義的;6) 使用了全局變量的任何地方能否通過注釋或命名規(guī)則看出它是一個全局變量;7) 每個控制語句是否都有注釋;8) 比較長的或復(fù)雜的控制結(jié)構(gòu)結(jié)束的地方是否有注釋,以便于閱讀;9) 需要使用特定數(shù)值的數(shù)據(jù)是否在注釋中記載了,或者采用更好的方式:使用命名常量或變量。 5.2.3.4 例程例程
17、的目的是否在注釋中說明了。注釋能夠找得到例程相關(guān)的其他方面的信息,包括:輸入輸出參數(shù)、調(diào)用條件假設(shè)、限制、錯誤數(shù)據(jù)糾正、算法來源等。5.2.3.5 文件、模塊和程序程序有沒有全局性描述,介紹程序的總體結(jié)構(gòu)和組織方式。每一個文件的用途是否都有記載。5.3. JAVA編程規(guī)范5.3.1 命名規(guī)則5.3.1.1 Package 的命名Package 的名字應(yīng)該都是由一個小寫單詞組成。5.3.1.2 Class 的命名Class 的名字必須由大寫字母開頭而其他字母都小寫的單詞組成。5.3.1.3 Class 變量的命名變量的名字必須用一個小寫字母開頭。
18、后面的單詞用大寫字母開頭。5.3.1.4 Static Final 變量的命名Static Final 變量的名字應(yīng)該都大寫,并且指出完整含義。5.3.1.5 參數(shù)的命名參數(shù)的名字必須和變量的命名規(guī)范一致。5.3.1.6 數(shù)組的命名數(shù)組應(yīng)該總是用下面的方式來命名:byte buffer; 而不是: byte buffer;5.3.1.7 方法的參數(shù)使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字:SetCounter(int size)this.size = size;5.3.
19、2 文件樣式所有的 Java 文件(*.java)都必須遵守如下的樣式規(guī)則。5.3.2.1 版權(quán)信息版權(quán)信息必須在 java 文件的開頭,比如:/* <p>Title: </p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2005</p>* <p>Company: </p>* author not attributable* version 1.0*/其他不需要出現(xiàn)在 JavaDoc
20、0;的信息也可以包含在這里。5.3.2.2 Package/Importspackage 行要在 import 行之前,import 中標準的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個包中的不同子目錄,則應(yīng)該用 * 來處理。package .stats;import java.io.*;import java.util.Observable;import hotlava.util.Application;這里 java.io.
21、* 使用來代替InputStream and OutputStream 的。5.3.3 類5.3.3.1 類的注釋一般是用來解釋類的。/* A class representing a set of packet and byte counters* It is observable to allow it to be watched, but o
22、nly* reports changes when the current set is complete*/5.3.3.2 類定義包含了在不同的行的 extends 和 implements。public class CounterSetextends Observableimplements Cloneable5.3.3.3 Class Fields類的成員變量。/* Packet counters*/prote
23、cted int packets;public 的成員變量必須生成文檔(JavaDoc)。proceted、private和 package 定義的成員變量如果名字含義明確的話,可以沒有注釋。5.3.3.4 存取方法接下來是類變量的存取的方法。它只是簡單的用來將類的變量賦值獲取值的話,可以簡單的寫在一行上。/* Get the counters* return an array containing the statistical data.
24、160;This array has been* freshly allocated and can be modified by the caller.*/public int getPackets() return copyArray(packets, offset); public int getBytes() return copyArray(b
25、ytes, offset); public int getPackets() return packets; public void setPackets(int packets) this.packets = packets; 其它的方法不要寫在一行上。5.3.3.5 構(gòu)造函數(shù)接下來是構(gòu)造函數(shù),它應(yīng)該用遞增的方式寫(比如:參數(shù)多的寫在后面)。訪問類型 ("public","private&q
26、uot; 等) 和 任何 "static", "final" 或 "synchronized" 應(yīng)該在一行中,并且方法和參數(shù)另寫一行,這樣可以使方法和參數(shù)更易讀。publicCounterSet(int size)this.size = size;5.3.3.6 克隆方法如果這個類是可以被克隆的,那么下一步就是 clone 方法:publicObject clone() try
27、;CounterSet obj = (CounterSet)super.clone();obj.packets = (int)packets.clone();obj.size = size;return obj;catch(CloneNotSupportedException e) throw new InternalError("Unexpected CloneNotSUpportedException: " +
28、e.getMessage();5.3.3.7 類方法下面開始寫類的方法:/* Set the packet counters* (such as when restoring from a database)*/protected finalvoid setArray(int r1, int r2, int r3, int r4)throws IllegalArgumentExcepti
29、on/ Ensure the arrays are of equal size/if (r1.length != r2.length | r1.length != r3.length | r1.length != r4.length)throw new IllegalArgumentException("Arrays must be of the&
30、#160;same size");System.arraycopy(r1, 0, r3, 0, r1.length);System.arraycopy(r2, 0, r4, 0, r1.length);5.3.3.8 toString 方法無論如何,每一個類都應(yīng)該定義 toString 方法:publicString toString() String retval = "CounterSet:
31、"for (int i = 0; i < data.length(); i+) retval += data.bytes.toString();retval += data.packets.toString();return retval;5.3.3.9 main 方法如果main(String) 方法已經(jīng)定義了, 那么它應(yīng)該寫在類的底部。5.3.4 代碼格式5.3.4.1 代碼樣式代碼應(yīng)該用 uni
32、x 的格式,而不是 windows 的(比如:回車變成回車+換行)。5.3.4.2 文檔化必須用JavaDoc 來為類生成文檔。不僅因為它是標準,這也是被各種 java 編譯器都認可的方法。使用 author 標記是不被推薦的,因為代碼不應(yīng)該是被個人擁有的。5.3.4.3 縮進縮進應(yīng)該是每行2個空格. 不要在源文件中保存Tab字符。在使用不同的源代碼管理工具時Tab字符將因為用戶設(shè)置的不同而擴展為不同的寬度。如果你使用 UltrEdit 作為你的 Java 源代碼編
33、輯器的話,你可以通過如下操作來禁止保存Tab字符,方法是通過 UltrEdit中先設(shè)定 Tab 使用的長度室2個空格,然后用 Format|Tabs to Spaces 菜單將 Tab 轉(zhuǎn)換為空格。5.3.4.4 頁寬頁寬應(yīng)該設(shè)置為80字符。源代碼一般不會超過這個寬度,并導(dǎo)致無法完整顯示,但這一設(shè)置也可以靈活調(diào)整。在任何情況下, 超長的語句應(yīng)該在一個逗號或者一個操作符后折行。 一條語句折行后,應(yīng)該比原來的語句再縮進2個字符。 必須成對出現(xiàn)。 中的語句應(yīng)該單獨作為一行
34、。 例如, 下面的第1種格式是錯誤的, 第2種格式是正確的:if (i>0) i + / 錯誤, 和 在同一行if (i>0) i +; / 正確, 單獨作為一行 永遠單獨作為一行。 應(yīng)該與相對應(yīng)的 縱向?qū)R。5.3.4.5 括號左括號和后一個字符之間不應(yīng)該出現(xiàn)空格,同樣,右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格。下面的例子說
35、明括號和空格的錯誤及正確使用:CallProc( AParameter ); / 錯誤CallProc(AParameter); / 正確不要在語句中使用無意義的括號。括號只應(yīng)該為達到某種目的而出現(xiàn)在源代碼中。下面的例子說明錯誤和正確的用法:if (I) = 42) / 錯誤 - 括號毫無意義if (I = 42) or (J = 42) then / 正
36、確 - 的確需要括號5.3.5 編程規(guī)范5.3.5.1 exit()exit 除了在 main 中可以被調(diào)用外,其他的地方不應(yīng)該調(diào)用。因為這樣做不給任何代碼代碼機會來截獲退出。一個類似后臺服務(wù)地程序不應(yīng)該因為某一個庫模塊決定了要退出就退出。5.3.5.2 異常申明的錯誤應(yīng)該拋出一個RuntimeException或者派生的異常。頂層的main()函數(shù)應(yīng)該截獲所有的異常,并且打?。ɑ蛘哂涗浽谌罩局校┰谄聊簧?。5.3.5.3 垃圾收集JAVA使用成熟的后臺垃圾收集技術(shù)來代替引用計數(shù)。但是這樣會導(dǎo)致一個問題:你必須在使用完對象的實例以后進行清場工作。
37、比如一個prel的程序員可能這么寫:.FileOutputStream fos = new FileOutputStream(projectFile);project.save(fos, "IDE Project File");.除非輸出流一出作用域就關(guān)閉,非引用計數(shù)的程序語言,比如JAVA,是不能自動完成變量的清場工作的。必須象下面一樣寫:FileOutputStream fos = new FileOutputStream(projectFile);projec
38、t.save(fos, "IDE Project File");fos.close();5.3.5.4 Clone下面是一種有用的方法:implements CloneablepublicObject clone()try ThisClass obj = (ThisClass)super.clone();obj.field1 = (int)field1.clone();obj.field2 = field2;return obj;
39、60;catch(CloneNotSupportedException e) throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage();5.3.5.5 final 類 絕對不要因為性能的原因?qū)㈩惗x為 final 的(除非程序的框架要求) 如果一個類還沒有準備好被繼承,最好在類文檔中注明,而不要將她定義為 final 的。這是因為
40、沒有人可以保證會不會由于什么原因需要繼承她。5.3.5.6 訪問類的成員變量大部分的類成員變量應(yīng)該定義為 protected 的來防止繼承類使用他們。注意,要用"int packets",而不是"int packets",后一種永遠也不要用。public void setPackets(int packets) this.packets = packets; CounterSet(int size)this.size
41、0;= size;5.4. 數(shù)據(jù)庫命名規(guī)范5.4.1 數(shù)據(jù)庫對象命名的總原則數(shù)據(jù)庫對象命名的總原則是一個通用性的原則,任何項目中定義的命名規(guī)范都應(yīng)當(dāng)符合這些總原則。這里所指的對象包括:數(shù)據(jù)庫、表、字段、存儲過程、觸發(fā)器、用戶自定義函數(shù)、缺省、規(guī)則和索引。5.4.1.1 一般性規(guī)則1) 對數(shù)據(jù)對象的命名應(yīng)當(dāng)選定一種語言(一般為英語)作為命名基準,在整個命名規(guī)范中堅持使用一種語言,避免多種語言混合使用。2) 對象名稱應(yīng)當(dāng)準確完整地描述了對象的含義。3) 名稱是反映了業(yè)務(wù)上的問題而不是技術(shù)上或編程上的解決方法。4) 名稱的長度應(yīng)當(dāng)足夠長。5) 名稱的最后一部分應(yīng)當(dāng)有限定符。6) 應(yīng)用Nbr
42、或Number代替Num, No.7) 數(shù)據(jù)庫對象的命名應(yīng)當(dāng)避免和系統(tǒng)原有的對象名稱(如:系統(tǒng)表、系統(tǒng)存儲過程等)混淆。8) 對于包含了若干子系統(tǒng)的大型應(yīng)用系統(tǒng),對各數(shù)據(jù)庫對象的命名應(yīng)加上子系統(tǒng)名稱的縮寫作為前綴。子系統(tǒng)的縮寫不應(yīng)當(dāng)超過三個字符。9) 對象名稱中不同的單詞間應(yīng)當(dāng)能夠方便的區(qū)分開。5.4.1.2 對特定類型數(shù)據(jù)的命名1) 臨時對象的命名應(yīng)當(dāng)有意義。2) 所有布爾型字段或變量的命名能夠直接從名稱上看出為真的條件。3) 從數(shù)據(jù)庫對象的名稱上能夠看出其所屬的對象類型,如:表、視圖、存儲過程、觸發(fā)器等。4) 對象的名稱中不同的單詞首字母要大寫,以方便閱讀。5) 對于通過數(shù)據(jù)傳輸?shù)玫降钠渌?/p>
43、系統(tǒng)的表,應(yīng)當(dāng)保留其在原有系統(tǒng)中的命名并加上“tfs”前綴(tfs是英文transfer的縮寫)。5.4.1.3 關(guān)于短名稱的使用1) 如果不是絕對必須,盡量避免使用短的名稱,以易于理解。2) 如果對象中單詞的縮寫只能縮短一兩個字符則使用單詞的完全拼寫。3) 所有單詞的縮寫規(guī)則應(yīng)當(dāng)一致。5.4.1.4 其它應(yīng)當(dāng)避免的命名問題1) 名稱具有誤導(dǎo)性。2) 同一意義的對象具有不同的命名,即異名同義。3) 不同意義的對象具有相同的命名,即同名異義。4) 不同的命名拼寫很相似,僅差一兩個字符。5) 在對象名稱中使用數(shù)字。6) 完全和對象含義不相關(guān)的命名。5.4.2 數(shù)據(jù)庫命名規(guī)范5.4.2.1 數(shù)據(jù)庫數(shù)
44、據(jù)庫命名根據(jù)數(shù)據(jù)庫的功能/用途,以其英文或其縮寫組合進行命名?,F(xiàn)以計費信息庫為例,舉例如下:庫名規(guī)則一舉例規(guī)則二舉例用戶信息庫UserInfouser_info計費信息庫BillingInfobilling_info5.4.2.2 表(Table)在一個數(shù)據(jù)表中,可能需要存儲許多相關(guān)數(shù)據(jù)。表的名稱可根據(jù)應(yīng)用而定,以其英文或其縮寫組合進行命名?,F(xiàn)以計費信息庫為例,舉例如下:表名規(guī)則一舉例規(guī)則二舉例帳戶信息AccountInfoaccount_info信用卡信息CreditCardInfocredit_card_info系統(tǒng)服務(wù)SystemServiceSystem_service收費標準Char
45、gingStandardcharging_standard原始日志RawLograw_log用戶服務(wù)UserServiceuser_service其它Miscmisc系統(tǒng)日志SystemLogsystem_log銀行賬號tfsBankAccounttfs_bank_account如果系統(tǒng)包含了若干子系統(tǒng),則應(yīng)當(dāng)為個子系統(tǒng)規(guī)定縮寫,各表名前應(yīng)當(dāng)加上所屬子系統(tǒng)的縮寫作為前綴。例如:子系統(tǒng)名前綴規(guī)則一舉例規(guī)則二舉例庫存管理子系統(tǒng)stkstkWarehousesstkCheckInOrderstkCheckInOrderItemstk_warehousestk_check_in_orderstk_check_in_order_item訂單管理子系統(tǒng)ordordCustomerordInvoiceord_customerord_invoice人力資源管理子系統(tǒng)hrhrEmployeehrSkillLevelhr_employeehr_skill_level運輸管理子系統(tǒng)tsptspTransportationOrdertspStationtsp_transportation_ordertsp_station5.4.2.3 字段(Col
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化營銷在零售行業(yè)中的應(yīng)用
- 2025年全球及中國虛擬購物平臺行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球長焊頸法蘭行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球碳纖維管狀編織物行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球集成存儲解決方案行業(yè)調(diào)研及趨勢分析報告
- 思想道德修養(yǎng)與法律基礎(chǔ)
- 羅湖區(qū)政府投資項目代建合同范本
- 水電專業(yè)承包合同
- 政府采購項目的采購合同
- 大型高炮廣告牌制作合同
- 人教版五年級上冊數(shù)學(xué)簡便計算大全600題及答案
- 2016-2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年考點試題甄選合集含答案解析
- 政治單招考試重點知識點
- 專題01 中華傳統(tǒng)文化-中考英語時文閱讀專項訓(xùn)練
- 北京四合院介紹課件
- 頁眉和頁腳基本知識課件
- 《國有企業(yè)采購操作規(guī)范》【2023修訂版】
- 土法吊裝施工方案
- BLM戰(zhàn)略規(guī)劃培訓(xùn)與實戰(zhàn)
- GB/T 16475-2023變形鋁及鋁合金產(chǎn)品狀態(tài)代號
- 鎖骨遠端骨折伴肩鎖關(guān)節(jié)脫位的治療
評論
0/150
提交評論