欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C#編碼規(guī)范及命名規(guī)范

      時(shí)間:2019-05-14 19:49:55下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《C#編碼規(guī)范及命名規(guī)范》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《C#編碼規(guī)范及命名規(guī)范》。

      第一篇:C#編碼規(guī)范及命名規(guī)范

      山東鋒士自動(dòng)化系統(tǒng)有限公司

      C# 編碼規(guī)范

      指導(dǎo)規(guī)則和最佳實(shí)踐 Version 1.0

      董毅 2010/4/26

      第一條 編碼的風(fēng)格和細(xì)節(jié)要求

      編碼風(fēng)格

      至少在單一文件中縮進(jìn)和風(fēng)格要保持一致,同一行中內(nèi)容不要太長(zhǎng),最好不要大于10個(gè)單詞。不要隨意地或者以容易混淆作用域嵌套關(guān)系的方式放置括號(hào),要盡量遵循每個(gè)文件中已經(jīng)使用的體例。

      命名約定和規(guī)范

      1.不要使用晦澀的名稱,起名要簡(jiǎn)單易懂

      a.避免使用單字母做變量名,比如:i 或者 t。應(yīng)使用index或者temp進(jìn)行替代 b.不要縮寫單詞,比如用num代替number 2.使用全大寫字母表示宏,常量,如:LIKE_THIS 3.類,函數(shù)和枚舉的名稱的單詞首字母大寫,如:LikeThis public class SomeClass {

      const int DefaultSize = 100;public void SomeMethod(){ } } 4.變量的首字母小寫,其他單詞首字母大寫,如:likeThis void MyMethod(int someNumber){ int number;} 5.接口的第一個(gè)字母用I開頭

      interface IMyInterface {...} 6.私有成員變量以m_開頭,剩余內(nèi)容遵從首字母大寫的規(guī)范

      public class SomeClass { private int m_Number;} 7.屬性類以Attribute做后綴,異常類以Exception做后綴

      8.命名方法以【動(dòng)詞】-【目標(biāo)】組成,比如:ShowDialog()

      9.擁有返回值的方法應(yīng)該以返回值描述其方法名,比如:GetObjectState()10.總是使用C#的預(yù)定義類型,而不是System命名空間中的別名,比如:

      object 而不是

      Object string 而不是

      String int

      而不是

      Int32 11.對(duì)于基類,類型描述采用大寫字母。當(dāng)處理.NET中的類型時(shí)才保留后綴Type //正確

      public class LinkedList { } //避免

      public class LikedList { }

      12.使用有意義的名字空間,比如項(xiàng)目名稱或者公司名稱 13.避免使用類的全稱,而是使用using語(yǔ)句進(jìn)行引用 14.避免在命名空間內(nèi)使用using語(yǔ)句

      15.將所有framework命名空間嗎放在一起,后面放自定義或第三方的命名空間名

      using System;using System.Collections;using System.ComponentModel;using System.Data;using MyCompany;using MyControls;

      16.采用委托推斷,不要顯式實(shí)例化委托

      delegate void SomeDelegate();public void SomeMethod(){ } SomeDelegate someDelegate = SomeMethod;

      17.縮進(jìn)至少在同一文件中要保持統(tǒng)一風(fēng)格,注釋縮進(jìn)和其注釋的代碼在同一層次 18.所有注釋要經(jīng)過(guò)認(rèn)真檢查,不要有不明語(yǔ)義或者錯(cuò)別字 19.所有成員變量應(yīng)該定義在前面,和屬性或方法間空開一行

      public class MyClass { int m_Number;string m_Name;

      public void SomeMethod1(){ } public void SomeMethod2(){ } }

      20.局部變量的定義盡可能靠近它的初次使用 21.文件名應(yīng)該體現(xiàn)其包含的類

      22.當(dāng)使用partial類型且每部分分配一個(gè)文件時(shí),以類名+邏輯部分的方式來(lái)命名文件

      //MyClass.cs public partial class MyClass { } //MyClass.Designer.cs public partial class MyClass { } 23.做大括號(hào)總是放在新行中

      24.匿名方法模仿普通方法布局,但是大括號(hào)要和委托聲明對(duì)其

      delegate void SomeDelegate(string someString);//正確

      void InvokeMethod(){ SomeDelegate someDelegate = delegate(string name){ MessageBox.Show(name);};someDelegate(“Juval”);} //錯(cuò)誤

      void InvokeMethod(){ SomeDelegate someDelegate = delegate(string name){ MessageBox.Show(name);};someDelegate(“Juval”);}

      25.沒(méi)有參數(shù)的匿名方法使用空括號(hào),僅當(dāng)匿名方法被用于任何委托時(shí)才可以省略括號(hào)

      delegate void SomeDelegate();//正確

      SomeDelegate someDelegate1 = delegate(){ MessageBox.Show(“Hello”);};//錯(cuò)誤

      SomeDelegate someDelegate1 = delegate { MessageBox.Show(“Hello”);};

      26.在使用Lambda表達(dá)式時(shí),模仿一般的方法規(guī)范。

      delegate void SomeDelegate(string someString);

      SomeDelegate someDelegate =(name)=> { Trace.WriteLine(name);MessageBox.Show(name);};

      27.當(dāng)內(nèi)聯(lián)Lambda表達(dá)式僅包含一個(gè)簡(jiǎn)單的語(yǔ)句時(shí),應(yīng)避免多語(yǔ)句或者返回語(yǔ)句出現(xiàn)在大括號(hào)中??梢院?jiǎn)單使用小括號(hào)表達(dá):

      delegate void SomeDelegate(string someString);

      void MyMethod(SomeDelegate someDelegate){ }

      //正確

      MyMethod(name=>MessageBox.Show(name));

      //錯(cuò)誤

      MyMethod((name)=>{Trace.WriteLine(name);MessageBox.Show(name);});注釋

      編寫有用的注釋,不要在注釋中重復(fù)寫代碼語(yǔ)義。應(yīng)該編寫的是解釋方法和原理的說(shuō)明性注釋。

      函數(shù)

      不要在一個(gè)函數(shù)中包含太多內(nèi)容,函數(shù)的功能要簡(jiǎn)單,短小,使人更容易理解,也有利于防錯(cuò)。

      第二條 盡量在代碼中不包含被警告的內(nèi)容

      高度重視警告:使用編譯器的最高警告級(jí)別。構(gòu)建盡量做到干凈利落(沒(méi)有警告)。理解所有的警告。通過(guò)修改代碼而不是降低警告級(jí)別來(lái)排除警告。

      即使程序一開始似乎能夠正確運(yùn)行,也還是要這樣做。即使你能夠肯定警告是良心的,仍然要這樣做。因?yàn)榱夹跃娴谋澈罂赡茈[藏著未來(lái)指向真正危險(xiǎn)的警告。

      項(xiàng)目設(shè)置和項(xiàng)目結(jié)構(gòu)

      1. 總是以4級(jí)警告建立項(xiàng)目

      2. 在發(fā)布版中將警告當(dāng)作錯(cuò)誤(注意這不是VS.NET的缺省設(shè)置)

      3. 永遠(yuǎn)不要抑制特定的編譯警告

      4. 總是在應(yīng)用程序的配置文件中顯式地說(shuō)明支持的運(yùn)行時(shí)版本

      5. 避免顯式的自定義版本改向和綁定到CLR程序集

      6. 不要在AssemblyInfo.cs中放任何邏輯。除了在AssemblyInfo.cs中,不要在任何文件中放程序集屬性(應(yīng)包括公司名稱、描述、版權(quán)等)7. 所有程序集應(yīng)該使用相對(duì)路徑引用 8. 不允許在程序集中循環(huán)引用

      9. 努力對(duì)同一邏輯應(yīng)用程序中(通常是一個(gè)解決方案)的所有程序集和客戶端使用統(tǒng)一的版本號(hào)

      10.將Visual Studio.NET應(yīng)用配置文件命名為App.config,并將其包括在項(xiàng)目中 11. 將Visual Studio.NET缺省的項(xiàng)目結(jié)構(gòu)改為標(biāo)準(zhǔn)的布局,對(duì)項(xiàng)目文件夾和文件應(yīng)用統(tǒng)一的結(jié)構(gòu) 12. 一個(gè)發(fā)布版本應(yīng)該包含Debug標(biāo)記

      第三方頭文件

      無(wú)法修改的庫(kù)頭文件可能包含引起警告的構(gòu)造。如果這樣,可以用自己的包含原頭文件的版本將此文件包裝起來(lái),并有選擇的為該作用域關(guān)閉警告,然后在整個(gè)項(xiàng)目的其他地方包含此包裝文件。

      代碼中盡量不包含未使用的函數(shù),變量

      經(jīng)確認(rèn)確實(shí)不需要使用的函數(shù),變量(不包括為未來(lái)使用而設(shè)的占位符),可以進(jìn)行刪除處理。

      不要遺漏return語(yǔ)句

      PS:例外情況

      有時(shí)候編譯器可能會(huì)發(fā)出一些確實(shí)無(wú)意義的警告。這些警告要經(jīng)過(guò)團(tuán)隊(duì)確認(rèn)后盡量在局部進(jìn)行屏蔽,但要做出明確的注釋,說(shuō)明為什么必須禁用。

      第三條 使用自動(dòng)構(gòu)建系統(tǒng) 第四條 使用版本控制系統(tǒng)

      應(yīng)確保每次提交的代碼都可以構(gòu)建成功。

      第五條 定期進(jìn)行代碼審查

      互相閱讀彼此的代碼不但可以盡快提高自己的編碼水平,也可以相互借鑒更好的方法。

      第六條 一個(gè)實(shí)體應(yīng)該只有一個(gè)緊湊的職責(zé)

      一次只解決一個(gè)問(wèn)題:只給一個(gè)實(shí)體(變量、類、函數(shù)、名稱空間、模塊和庫(kù))賦予一個(gè)定義良好的職責(zé)。應(yīng)該只選擇目的單一的函數(shù),小而且目的單一的類,和邊界清晰的緊湊模塊。

      應(yīng)該用較小的低層抽象構(gòu)建更高層次的抽象,要避免將幾個(gè)低層抽象集合成一個(gè)較大的低層次抽象聚合體。用幾個(gè)簡(jiǎn)單的行為來(lái)實(shí)現(xiàn)一個(gè)復(fù)雜的行為,比反其道而行之更加容易。

      第七條 正確,簡(jiǎn)單和清晰第一

      軟件簡(jiǎn)單為美:正確優(yōu)于速度,簡(jiǎn)單優(yōu)于復(fù)雜,清晰優(yōu)于機(jī)巧,安全優(yōu)于不安全。

      要避免使用程序設(shè)計(jì)語(yǔ)言中的冷僻特性。應(yīng)該使用最簡(jiǎn)單的有效技術(shù)。不要使用不必要的操作符重載

      構(gòu)造函數(shù)的參數(shù),應(yīng)該使用命名變量,而不要使用臨時(shí)變量

      這能夠避免可能的聲明二義性,還經(jīng)常能使代碼的意圖更加清晰,從而更容易維護(hù),而且也更安全。

      第八條 編程中應(yīng)該知道何時(shí)和如何考慮可伸縮性

      當(dāng)數(shù)據(jù)爆炸性增長(zhǎng)時(shí):不要進(jìn)行不成熟的優(yōu)化,如果能夠證明優(yōu)化必要而且非常重要,則應(yīng)該集中精力改善算法的復(fù)雜性,而不是進(jìn)行小型的優(yōu)化,比如節(jié)省一個(gè)多余的加法運(yùn)算。

      為了避免未來(lái)可能遭遇到的數(shù)據(jù)處理容量上的瓶頸問(wèn)題,應(yīng)該預(yù)先做這些事情:

      使用靈活的、動(dòng)態(tài)分配的數(shù)據(jù),不要使用固定大小的數(shù)組

      那種“比現(xiàn)在所需要的最大數(shù)組還要大”的數(shù)組,在正確性和安全性方面都存在嚴(yán)重問(wèn)題。只有在編譯時(shí)大小固定不變的數(shù)組才是可接受的。

      了解算法的實(shí)際復(fù)雜性

      要留心那些不易發(fā)覺(jué)的陷阱,比如看似線性的算法實(shí)際上要調(diào)用其他線性操作,結(jié)果算法實(shí)際上是二次的。

      優(yōu)先使用線性算法或者盡可能快的算法 盡可能避免劣于線性復(fù)雜性的算法

      如果面對(duì)的是一個(gè)O(NlogN)或者O(N2)算法,就必須花費(fèi)精力尋找替代方案,只有代碼才不至于在數(shù)據(jù)量顯著增長(zhǎng)的情況下陷入深度激增的性能深潭。例如:建議使用范圍成員函數(shù)(通常是線性的)而不是反復(fù)調(diào)用單元素替代函數(shù),后者會(huì)很容易在一個(gè)線性的操作要調(diào)用另一個(gè)線性操作時(shí)變成二次復(fù)雜性。永遠(yuǎn)不要使用指數(shù)復(fù)雜性的算法,除非真的別無(wú)選擇

      在決定接受指數(shù)算法之前,必須盡力尋找替代方案,因?yàn)閷?duì)于指數(shù)算法來(lái)說(shuō),即使是數(shù)據(jù)量的有限增加,也會(huì)使算法的性能急劇下降。

      總而言之,要盡可能優(yōu)先使用線性(或者更好的)算法,盡可能合理的避免使用比線性算法差的多項(xiàng)式算法。竭盡全力避免使用指數(shù)算法。

      第九條 不要進(jìn)行不成熟的優(yōu)化

      我們將不成熟的優(yōu)化定義為這樣的行為:以性能為名,使設(shè)計(jì)或代碼更加復(fù)雜,從而導(dǎo)致可讀性更差,卻沒(méi)有經(jīng)過(guò)驗(yàn)證的性能需求(比如實(shí)際的度量數(shù)據(jù)與目標(biāo)的比較結(jié)果)作為正當(dāng)理由,因此本質(zhì)上對(duì)程序沒(méi)有真正的好處。

      因此,默認(rèn)時(shí),不要把注意力集中在如何使代碼更快上;首先關(guān)注的應(yīng)該是使代碼盡可能的清晰和易讀。

      第十條 不要進(jìn)行不必要的劣化

      所謂不成熟的劣化一詞,指的就是編寫如下這些沒(méi)有必要的、可能比較低效的程序:

      在可以用通過(guò)引用傳遞的時(shí)候,卻定義了通過(guò)值傳遞的參數(shù) 在使用前綴++操作符很合適的場(chǎng)合,卻使用后綴版本 在構(gòu)造函數(shù)中使用賦值操作而不是初始化列表

      第十一條 盡量減少全局和共享數(shù)據(jù)

      共享會(huì)導(dǎo)致沖突:避免共享數(shù)據(jù),尤其是全局?jǐn)?shù)據(jù)。共享數(shù)據(jù)會(huì)增加耦合度,從而降低可維護(hù)性,通常還會(huì)降低性能。

      名字空間作用域中的對(duì)象、靜態(tài)成員對(duì)象或者跨線程或跨進(jìn)程共享的對(duì)象會(huì)減少多線程和多處理器環(huán)境中的并行性,往往是產(chǎn)生性能和可伸縮性瓶頸的源頭。建議用通信方式(比如消息隊(duì)列)代替數(shù)據(jù)共享。盡量降低類之間的耦合,盡量減少交互

      第十二條 隱藏信息

      不要泄密:不要公開提供抽象的實(shí)體的內(nèi)部信息。而應(yīng)該公開抽象(至少是get/set抽象),而不是數(shù)據(jù)。

      數(shù)據(jù)只是抽象、概念性狀態(tài)的一種可能的具體化而已。如果將注意力集中在概念而不是其表示形式上,就能夠提供富于提示性的接口,并按需要對(duì)實(shí)現(xiàn)進(jìn)行調(diào)整。比如緩存還是實(shí)時(shí)地計(jì)算,又比如使用不同的表示方式,針對(duì)某種使用模式進(jìn)行優(yōu)化。

      絕對(duì)不要將類的數(shù)據(jù)成員設(shè)為public,僅對(duì)最需要的類型標(biāo)記為public,其他的標(biāo)記為internal。它同樣適用于更大的實(shí)體比如程序庫(kù)。模塊和程序庫(kù)同樣應(yīng)該提供定義抽象和其中信息流的接口,從而使與調(diào)用代碼的通信比采用數(shù)據(jù)共享方式更安全,耦合度更低。

      第十三條 盡量在編譯和連接時(shí)檢查錯(cuò)誤,而不要等到運(yùn)行時(shí)

      運(yùn)行時(shí)檢查取決于控制流和數(shù)據(jù)的具體情況,這意味著很難知道檢查是否徹底。相比而言,編譯時(shí)檢查與控制流和數(shù)據(jù)無(wú)關(guān),一般情況下能夠獲得更高的可信度。

      第十四條 盡量合理的使用const常量

      不變的值更易于理解、跟蹤和分析,所以應(yīng)該盡可能地使用常量代替變量,定義值的時(shí)候,應(yīng)該把常量作為默認(rèn)的選項(xiàng):常量很安全,在編譯時(shí)會(huì)對(duì)其進(jìn)行檢查。盡量不要強(qiáng)制轉(zhuǎn)換常量的類型。

      例如:

      const int x = 0;public const double productWeight = 11.7;private const string productName = “Visual C#”;

      第十五條 避免使用語(yǔ)義不清的參數(shù)

      要避免在代碼中使用諸如42和3.14159這樣的文字常量。它們本身沒(méi)有提供任何說(shuō)明,并且因?yàn)樵黾恿藱z測(cè)的重復(fù)而使維護(hù)更加復(fù)雜。可以用符號(hào)名稱和表達(dá)式替換它們,比如width*aspectRatio

      名稱能夠增加信息,并提供單一的維護(hù)點(diǎn),而程序中到處重復(fù)的原始數(shù)據(jù)是無(wú)名的,維護(hù)起來(lái)很麻煩。常量應(yīng)該是枚舉或者const值,有合適的作用域和名稱。

      重要的特定于領(lǐng)域的常量應(yīng)該放在名字空間一級(jí)

      第十六條 盡可能局部的使用變量 第十七條 避免函數(shù)過(guò)長(zhǎng),避免嵌套過(guò)深

      過(guò)長(zhǎng)的函數(shù)和嵌套過(guò)深的代碼塊的出現(xiàn),經(jīng)常是因?yàn)闆](méi)能賦予一個(gè)函數(shù)以一個(gè)緊湊的職責(zé)所致,這兩種情況通常都能夠通過(guò)更好的重構(gòu)予以解決。每個(gè)函數(shù)都應(yīng)該是顧其名而能思其義,易于理解的工作單元,要避免將多個(gè)小概念單元合并到一個(gè)長(zhǎng)的函數(shù)體中的做法。

      一些建議:

      盡量緊湊:對(duì)一個(gè)函數(shù)只賦予一種職責(zé)

      不要自我重復(fù):優(yōu)先使用命名函數(shù),而不要讓相似的代碼片斷反復(fù)出現(xiàn) 優(yōu)先使用&&:在可以使用&&條件判斷的地方要避免使用連續(xù)嵌套的if 不要過(guò)分使用try 優(yōu)先使用標(biāo)準(zhǔn)算法

      不要根據(jù)類型標(biāo)簽(type tag)進(jìn)行分支(switch)第十八條 盡量減少定義性依賴,避免循環(huán)依賴

      循環(huán)依賴是指兩個(gè)模塊直接或者間接地相互依賴。所謂模塊就是一個(gè)緊湊的發(fā)布單元,而互相依賴的多個(gè)模塊并不是真正的獨(dú)立模塊,而是緊緊膠著在一起的一個(gè)更大的模塊,因此,循環(huán)依賴有礙于模塊性,是大型項(xiàng)目的禍根。請(qǐng)避免循環(huán)依賴。

      第十九條 不要引用多余的資源文件 第二十條 盡量不要重載默認(rèn)的操作符,至少應(yīng)保證操作符的自然語(yǔ)義不被破壞 第二十一條 優(yōu)先使用++和—的標(biāo)準(zhǔn)形式。優(yōu)先調(diào)用前綴形式。第二十二條 用小類代替巨類

      小類更易于編寫,更易于保證正確、測(cè)試和使用。小類更有可能適用于各種不同情況。應(yīng)該用這種小類體現(xiàn)簡(jiǎn)單概念,不要用大雜燴式的類。

      第二十三條 要避免使用隱式轉(zhuǎn)換

      在做類型提供隱式轉(zhuǎn)換之前,請(qǐng)三思而行,應(yīng)該依賴的是顯式轉(zhuǎn)換。

      隱式轉(zhuǎn)換有兩個(gè)主要的問(wèn)題:

      1.它們會(huì)在最意料不到的地方拋出異常

      2.它們并不總是能與語(yǔ)言的其他元素有效地配合 第二十四條 將數(shù)據(jù)成員設(shè)為私有的,無(wú)行為的聚集

      要避免將公用數(shù)據(jù)和非公用數(shù)據(jù)混合在一起,因?yàn)檫@幾乎總是設(shè)計(jì)混亂的標(biāo)志。信息隱藏是優(yōu)秀軟件工程的關(guān)鍵,應(yīng)該將所有數(shù)據(jù)成員都設(shè)為私有的,這是類用來(lái)保持其不變式的最佳方式。

      第二十五條 不要允許異??缭侥K邊界傳播

      最低限度,應(yīng)用程序必須在以下位置有捕獲所有異常的catch(…)兜底語(yǔ)句,其中大多數(shù)都直接適用于模塊:

      1.在main函數(shù)的附近:捕獲并用日志記錄任何將使程序不正常終止而其他地方又沒(méi)有捕獲的異常。

      2.在從無(wú)法控制的代碼中執(zhí)行回調(diào)附近3.在現(xiàn)場(chǎng)邊界的附近4.在模塊接口邊界的附近

      5.在IO,數(shù)據(jù)庫(kù)連接等高危操作附近

      第二十六條 如有可能,盡量用算法調(diào)用代替手工編寫的循環(huán)

      對(duì)非常簡(jiǎn)單的循環(huán)而言,手工編寫的循環(huán)有可能是最簡(jiǎn)單也是最有效的解決方案。但是編寫算法調(diào)用代替手工編寫的循環(huán),可以使表達(dá)力更強(qiáng)、維護(hù)性更好、更不易出錯(cuò),而且同樣高效。

      第二十七條 編碼慣例

      1. 避免在一個(gè)文件中放多個(gè)類

      2. 一個(gè)文件應(yīng)該只對(duì)一個(gè)命名空間提供類型,避免在同一文件中有多個(gè)命名空間 3. 避免一個(gè)文件的長(zhǎng)度超過(guò)500行(除了機(jī)器生成的代碼)4. 避免方法定義超過(guò)25行

      5. 避免超過(guò)5個(gè)參數(shù)的方法,使用結(jié)構(gòu)傳遞多個(gè)參數(shù) 6. 每行應(yīng)該不超過(guò)80個(gè)字符,或者10個(gè)單詞 7. 不要手工編輯任何機(jī)器生成的代碼

      A.如果修改機(jī)器生成的代碼,修改代碼格式和風(fēng)格以符合本編碼標(biāo)準(zhǔn) B.盡可能使用partial類以分解出需要維護(hù)的部分 8. 避免對(duì)顯而易見的內(nèi)容作注釋

      A.代碼應(yīng)該是自解釋的,由可讀性強(qiáng)的變量和方法組成的好的代碼應(yīng)該不需要注釋 B.參加第一條中的注釋部分

      9. 僅對(duì)操作的前提、內(nèi)在的算法等寫文檔 10. 避免方法級(jí)的文檔

      A.對(duì)API文檔采用大量的外部文檔

      B.方法級(jí)注釋僅作為對(duì)其他開發(fā)人員的提示 11. 決不要硬編碼數(shù)值,聲明一個(gè)常量是最好的選擇 12. 僅對(duì)本輪就是常量的值使用const修飾符,例如一周的天數(shù) 13. 避免對(duì)只讀變量使用const修飾符。在此情況下,采用readonly修飾符

      public class MyClass { public const int DaysInWeek = 7;public readonly int Number;public MyClass(int someValue){ Number = someValue;} }

      14.對(duì)任何假設(shè)采用assert。平均來(lái)講,每五行代碼中就有一行是斷言

      using System.Diagnostics;object GetObject(){} object someObject = GetObject();Debug.Assert(someObject!= null);

      15. 16. 17. 每行代碼都應(yīng)該經(jīng)過(guò)白盒測(cè)試 僅捕獲已經(jīng)顯式處理了的異常

      在拋出異常的catch語(yǔ)句中,總是拋出最初異常以保持最初錯(cuò)誤的堆棧位置

      catch(Exception exception){ MessageBox.Show(exception.Message);throw;}

      18. 定義自定義的異常時(shí)

      A.從ApplicationException繼承 B.提供自定義的序列化 19. 避免采用friend程序集,因?yàn)檫@樣增加了程序集間的耦合度 20. 避免使用依賴于從特定位置運(yùn)行的程序集的代碼。21. 盡量減少應(yīng)用程序集(客戶端EXE程序集)的代碼,采用類庫(kù)而不要包含業(yè)務(wù)邏輯層代碼。22. 避免對(duì)枚舉提供明確的值

      //正確

      public enum Color { Red,Green,Blue } //錯(cuò)誤

      public enum Color { Red=1,Green=2,Blue=3 }

      23. 避免對(duì)枚舉指定類型

      //錯(cuò)誤

      public enum Color : long { Red, Green, Blue }

      24. 25. 26. If語(yǔ)句總是使用括號(hào),即使它只包含一句語(yǔ)句 避免使用?:條件運(yùn)算符 避免使用(#if…#endif),應(yīng)使用conditional方法代替

      [Conditianal(“MySpecialCondition”] public void MyMethod(){}

      27. 避免在布爾條件語(yǔ)句中調(diào)用函數(shù),賦值到局部變量并檢查它們的值。

      bool IsEverythingOK(){} //錯(cuò)誤

      if(IsEverythingOK()){} //正確

      bool ok=IsEverythingOK();if(ok){}

      28.29. 總是使用從0開始的數(shù)組

      總是使用一個(gè)for循環(huán)顯式地初始化一個(gè)引用類型數(shù)組

      public class MyClass {} const int ArraySize=100;MyClass[] array=new MyClass{ArraySize];for(int index=0;index

      30. 31. 不用提供public或protected成員變量,而是使用屬性 應(yīng)盡量使用get/set的自動(dòng)返回屬性

      //錯(cuò)誤

      class MyClass { int m_Number;

      public int Number { get { return m_Number;} set { m_Number=value;} } } //正確

      class MyClass { public int Number { get;set;} }

      32. 33. 34. 35. 避免使用new,應(yīng)使用override替代

      在一個(gè)密封的類里總是把public和protected方法標(biāo)記為virtual 永遠(yuǎn)不要使用不安全的代碼 合理使用as操作符進(jìn)行映射

      Dog dog = new GermanShepherd();GermanSheperd shepherd = dog as GermanShepherd;if(shepherd!= null){} 36. 37.

      { 在使用一個(gè)委托前總是要先檢查它是否為空(null)

      不要提供公有成員變量,使用存取器(accessors)進(jìn)行替代

      public class MyPublisher MyDelegate m_SomeEvent;public event MyDelegate SomeEvent { add { m_SomeEvent += value;} remove { m_SomeEvent-= value;} } }

      38. 避免定義事件處理委托,使用EventHandler或者GenericEventHandler進(jìn)行替代 39. 使用EventsHelper安全的發(fā)布事件 40. 總是優(yōu)先使用接口,但要避免一個(gè)接口只包含一個(gè)成員,包含3-5個(gè)成員較為合適。上限為12。41. 避免事件成為接口成員 42. 提供明確定義的接口描述 43. 不要假設(shè)一個(gè)接口是可以安全運(yùn)作的,永遠(yuǎn)都要做好處理意外的準(zhǔn)備

      SomeType obj1;IMyInterface obj2;

      obj2=obj1 as IMyInterface;if(obj2!= null){ obj2.Method1();} else { //處理可能出現(xiàn)的錯(cuò)誤

      }

      44. 不要將可能改變的,或用于數(shù)據(jù)庫(kù)連接的,或者交付給最終客戶使用的任何字符串進(jìn)行硬編碼,要使用資源文件定義他們 45. 使用String.Empty代替””

      //錯(cuò)誤

      string name = “";//正確

      string name = String.Empty;

      46. 47. 48.

      定義長(zhǎng)字符串的時(shí)候,應(yīng)該使用StringBuilder,而不是string 永遠(yuǎn)不要使用goto語(yǔ)句,除非迫不得已

      在switch代碼塊中總要包含一個(gè)default項(xiàng),并且為其設(shè)置斷言

      int number = SomeMethod();switch(number){ case 1: Trace.WriteLine(”Case 1:“);break;case 2: Trace.WriteLine(”Case 2:“);break;default: Debug.Assert(false);break;}

      49.不要使用this引用,除非某些特殊情況,比如從一個(gè)構(gòu)造器中運(yùn)行另外一個(gè)

      //一個(gè)正確使用this的例子

      public class MyClass { public MyClass(string message){} public MyClass():this(”Hello"){} }

      50. 不要使用base關(guān)鍵詞。除非你想要解決一個(gè)子類成員和基類間的名稱沖突,或者運(yùn)行一個(gè)基類構(gòu)造器

      //一個(gè)正確使用base的例子

      public class Dog { public Dog(string name){} virtual public void Bark(int howLong){} } public class GermanShepherd:Dog { public GermanShepherd(string name):base(name){} public override void Bark(int howLong){ base.Bark(howLong);} }

      51. 不要使用GC.AddMemortyPressure(),不要依賴HandleCollector。合理的使用Dispose()和Finalize()方法 52. 一般情況下不要使用check來(lái)檢查代碼(防止性能損失),但是在可能的溢出區(qū)則使用check來(lái)保持代碼的安全性。安全性的優(yōu)先級(jí)永遠(yuǎn)高于性能。

      int CalcPower(int number,int power){ int result=1;for(int count=1;count<=power;count++){ checked { result*=number;} } return result;}

      53. 在代碼中要避免直接使用object數(shù)據(jù)類型(System.Object),可以使用約束或者as進(jìn)行替代。

      class SomeClass {} //錯(cuò)誤

      class MyClass { void SomeMethod(T t){ object temp=t;SomeClass obj=(SomeClass)temp;} } //正確

      class MyClass where T: SomeClass { void SomeMethod(T t){ SomeClass obj =t;} }

      54.{} 一般而言,不要在通用接口中定義約束。接口級(jí)別的約束經(jīng)常會(huì)被強(qiáng)類型所覆蓋

      public class Customer //錯(cuò)誤

      public interface IList where T: Customer {} //正確

      public interface ICustomerList:IList {} 第二十八條 安全

      1. 總是對(duì)應(yīng)用程序私有的組件,集合等使用強(qiáng)名,這樣可以保證安全性

      2. 在應(yīng)用程序配置文件中使用加密算法,進(jìn)行安全保護(hù)

      3. 對(duì)不受控制的引用方法,要做適當(dāng)?shù)陌踩幚?,如加入斷言控?/p>

      4. 不要使用SuppressUnmanagedCodeSecurity屬性 5. 不要使用/unsafe來(lái)切換TlbImp.exe的默認(rèn)行為。

      6. 在服務(wù)器端要使用自定義的安全規(guī)則來(lái)擴(kuò)展Microsoft的默認(rèn)配置,以保證更高級(jí)別的安全性

      7. 為防止引誘性攻擊,應(yīng)修改組件級(jí)別的運(yùn)行權(quán)限,限制其可能的不安全行為

      8. 在編寫Windows程序時(shí),在每個(gè)Main()中都要使用相應(yīng)的安全規(guī)則

      第二篇:C 編碼規(guī)范之命名空間

      C++編碼規(guī)范之命名空間

      C++編碼規(guī)范之命名空間Namespaces在.cc文件中,提倡使用不具名的命名空間。使用具名命名空間時(shí),其名稱可基于項(xiàng)目或路徑名稱,不要使用using指示符。定義:命名空間將全局作用域細(xì)分為不同的,具名的作用域,可有效防止全局作用域的命名沖突。優(yōu)點(diǎn):命名空間提供了命名軸線.當(dāng)然類也提供了命名軸線。缺點(diǎn):命名空間具有迷惑性,因?yàn)樗鼈兒皖愐粯犹峁┝祟~外的命名軸線。在頭文件中使用不具名的空間容易違背C++的唯一定義原則。1)不具名命名空間在.cc文件中,允許甚至提倡使用不具名命名空間,以避免運(yùn)行時(shí)的命名沖突:namespace{//命名空間的內(nèi)容無(wú)需縮進(jìn)enum{UNUSED,EOF,ERROR};bool AtEof(){return pos_ == EOF;}}//namespace然而,與特定類關(guān)聯(lián)的文件作用域聲明在該類中被聲明為類型,靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù),而不是不具名命名空間的成員。像上文展示的那樣,不具名命名空間結(jié)束時(shí)用注釋//namespace標(biāo)識(shí)。注:不能在.h文件中使用不具名命名空間。2)具名命名空間命名空間將除文件包含,全局標(biāo)識(shí)的聲明/定義以及類的前置聲明外的整個(gè)源文件封裝起來(lái),以同其他命名空間相區(qū)分。//.h文件namespace mynamespace{class MyClass{public:...void Foo();};}//namespace mynamespace//.cc文件namespace mynamespace{//函數(shù)定義都置于命名空間中void MyClass::Foo(){...} }//namespace mynamespace禁止污染命名空間using namespace foo;

      第三篇:C# 注釋規(guī)范

      C# 注釋(Comment)規(guī)范

      注釋規(guī)范包括:模塊(類)注釋規(guī)范、類的屬性、方法注釋規(guī)范、代碼間注釋

      1.模塊(類)注釋規(guī)范

      模塊開始必須以以下形式書寫模塊注釋:

      ///

      ///模塊編號(hào):<模塊編號(hào),可以引用系統(tǒng)設(shè)計(jì)中的模塊編號(hào)> ///作用:<對(duì)此類的描述,可以引用系統(tǒng)設(shè)計(jì)中的描述> ///作者:作者中文名

      ///編寫日期:<模塊創(chuàng)建日期,格式:YYYY-MM-DD> ///

      如果模塊有修改,則每次修改必須添加以下注釋:

      ///

      ///Log編號(hào):

      ///修改描述:<對(duì)此修改的描述> ///作者:修改者中文名

      ///修改日期:<模塊修改日期,格式:YYYY-MM-DD> ///

      2.類屬性注釋規(guī)范

      在類的屬性必須以以下格式編寫屬性注釋:

      ///

      ///屬性說(shuō)明 ///

      3.方法注釋規(guī)范

      在類的方法聲明前必須以以下格式編寫注釋

      ///

      /// 說(shuō)明:<對(duì)該方法的說(shuō)明>

      ///

      ///

      "><參數(shù)說(shuō)明> /// ///<對(duì)方法返回值的說(shuō)明,該說(shuō)明必須明確說(shuō)明返回的值代表什么含義> ///

      4.代碼間注釋規(guī)范

      代碼間注釋分為單行注釋和多行注釋:

      單行注釋: //<單行注釋>

      多行注釋: /*多行注釋1 多行注釋2 多行注釋3*/

      代碼中遇到語(yǔ)句塊時(shí)必須添加注釋(if,for,foreach,……),添加的注釋必須能夠說(shuō)明此語(yǔ)句塊的作用和實(shí)現(xiàn)手段(所用算法等等)。

      詳細(xì)介紹見:

      http://

      第四篇:金融機(jī)構(gòu)編碼規(guī)范

      金融機(jī)構(gòu)編碼規(guī)范

      中國(guó)人民銀行發(fā)布《金融機(jī)構(gòu)編碼規(guī)范》

      日前,中國(guó)人民銀行發(fā)布了《金融機(jī)構(gòu)編碼規(guī)范》(以下簡(jiǎn)稱《規(guī)范》),從宏觀層面統(tǒng)一了我國(guó)金融機(jī)構(gòu)分類標(biāo)準(zhǔn),首次明確了我國(guó)金融機(jī)構(gòu)涵蓋范圍,界定了各類金融機(jī)構(gòu)具體組成,規(guī)范了金融機(jī)構(gòu)統(tǒng)計(jì)編碼方式與方法?!兑?guī)范》是加強(qiáng)金融業(yè)管理,維護(hù)金融安全的基礎(chǔ),也是構(gòu)建金融信息系統(tǒng),促進(jìn)金融信息共享的前提?!兑?guī)范》的發(fā)布是提高我國(guó)金融業(yè)管理水平的必然要求,為宏觀管理信息與微觀統(tǒng)計(jì)數(shù)據(jù)、國(guó)民經(jīng)濟(jì)運(yùn)行信息與金融運(yùn)行信息之間搭建了協(xié)調(diào)、溝通的橋梁。

      金融機(jī)構(gòu)編碼規(guī)范

      1.范圍

      本規(guī)范規(guī)定了金融機(jī)構(gòu)的編碼對(duì)象、編碼結(jié)構(gòu)和表示形式,使每個(gè)編碼對(duì)象獲得一個(gè)唯一的代碼,以適應(yīng)金融機(jī)構(gòu)信息系統(tǒng)

      建設(shè)和數(shù)據(jù)交換的需求。

      本規(guī)范適用于金融機(jī)構(gòu)新建信息系統(tǒng)的開發(fā)、數(shù)據(jù)倉(cāng)庫(kù)的建

      設(shè),也可用于指導(dǎo)已有信息系統(tǒng)的升級(jí)改造。

      2.規(guī)范性引用文件

      下列文件中的條款通過(guò)本規(guī)范的引用而成為本規(guī)范的條款。

      凡是注日期的引用文件,其隨后所有的修改單(不包括勘誤的內(nèi)

      容)或修訂版均不適用于本標(biāo)準(zhǔn),然而,鼓勵(lì)根據(jù)本規(guī)范達(dá)成協(xié)

      議的各方研究是否可使用這些文件的最新版本。

      GB/T 2260-2007中華人民共和國(guó)行政區(qū)劃代碼

      GB/T 2659-2000世界各國(guó)和地區(qū)名稱代碼(eqv ISO

      3166-1:1997)

      3.術(shù)語(yǔ)和定義

      下列術(shù)語(yǔ)和定義適用于本規(guī)范。

      3.1 貨幣當(dāng)局

      代表國(guó)家制定并執(zhí)行貨幣政策、金融運(yùn)行規(guī)則,管理國(guó)家儲(chǔ)

      備,從事貨幣發(fā)行與管理,與國(guó)際貨幣基金組織交易及向其他存

      款性公司提供信貸,以及承擔(dān)其他相關(guān)職能的金融機(jī)構(gòu)或政府部

      門。

      3.2 監(jiān)管當(dāng)局

      對(duì)金融機(jī)構(gòu)及其經(jīng)營(yíng)活動(dòng)實(shí)施全面的、經(jīng)常性的檢查和督

      促,實(shí)行領(lǐng)導(dǎo)、組織、協(xié)調(diào)和控制,行使實(shí)施監(jiān)督管理職能的政

      府機(jī)構(gòu)或準(zhǔn)政府機(jī)構(gòu)。

      3.3 銀行

      依法設(shè)立的吸收公眾存款、發(fā)放貸款、辦理結(jié)算等業(yè)務(wù)的企

      業(yè)法人。

      3.4 城市信用合作社

      依照有關(guān)規(guī)定在城市市區(qū)內(nèi)由城市居民、個(gè)體工商戶和中小 企業(yè)法人出資設(shè)立的,主要為社員提供服務(wù),具有獨(dú)立企業(yè)法人 資格的合作金融組織。

      3.5 農(nóng)村信用合作社

      經(jīng)相關(guān)國(guó)家部門批準(zhǔn)設(shè)立,由社員入股組成、實(shí)行社員民主 管理、主要為社員提供金融服務(wù)的農(nóng)村合作金融機(jī)構(gòu)。

      3.6 農(nóng)村合作銀行

      由轄內(nèi)農(nóng)民、農(nóng)村工商戶、企業(yè)法人和其它經(jīng)濟(jì)組織入股組 成的股份合作制社區(qū)性地方金融機(jī)構(gòu)。

      3.7 農(nóng)村商業(yè)銀行

      由轄內(nèi)農(nóng)民、農(nóng)村工商戶、企業(yè)法人和其它經(jīng)濟(jì)組織共同發(fā) 起成立的股份制地方性金融機(jī)構(gòu)。

      3.8 村鎮(zhèn)銀行

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)依據(jù)有關(guān)法律、法規(guī)批準(zhǔn),由 境內(nèi)外金融機(jī)構(gòu)、境內(nèi)非金融機(jī)構(gòu)企業(yè)法人、境內(nèi)自然人出資,在農(nóng)村地區(qū)設(shè)立的主要為當(dāng)?shù)剞r(nóng)民、農(nóng)業(yè)和農(nóng)村經(jīng)濟(jì)發(fā)展提供金 融服務(wù)的金融機(jī)構(gòu)。

      3.9 農(nóng)村資金互助社

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理機(jī)構(gòu)批準(zhǔn),由鄉(xiāng)(鎮(zhèn))、行政村農(nóng)民

      和農(nóng)村小企業(yè)自愿入股組成,為社員提供存款、貸款、結(jié)算等業(yè) 務(wù)的社區(qū)互助性金融機(jī)構(gòu)。

      3.10 財(cái)務(wù)公司

      以加強(qiáng)企業(yè)集團(tuán)資金集中管理和提高企業(yè)集團(tuán)資金使用效

      率為目的,為企業(yè)集團(tuán)成員單位提供財(cái)務(wù)管理服務(wù)的金融機(jī)構(gòu)。

      3.11 信托公司

      依照《中華人民共和國(guó)公司法》和《信托公司管理辦法》設(shè) 立的主要經(jīng)營(yíng)信托業(yè)務(wù)的金融機(jī)構(gòu)。

      3.12 金融資產(chǎn)管理公司

      經(jīng)國(guó)務(wù)院決定設(shè)立的,收購(gòu)、管理和處置金融機(jī)構(gòu)、公司及 其他企業(yè)(集團(tuán))不良資產(chǎn),兼營(yíng)金融租賃、投資銀行等業(yè)務(wù)的 金融機(jī)構(gòu)。

      3.13 金融租賃公司

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)批準(zhǔn),以經(jīng)營(yíng)融資租賃業(yè)務(wù)為 主的金融機(jī)構(gòu)。

      3.14 汽車金融公司

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立的,為中國(guó)境內(nèi)的汽 車購(gòu)買者及銷售者提供金融服務(wù)的金融機(jī)構(gòu)。

      3.15 貸款公司

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)依據(jù)有關(guān)法律、法規(guī)批準(zhǔn),由 境內(nèi)商業(yè)銀行或農(nóng)村合作銀行在農(nóng)村地區(qū)設(shè)立的專門為縣域農(nóng) 民、農(nóng)業(yè)和農(nóng)村經(jīng)濟(jì)發(fā)展提供貸款服務(wù)的金融機(jī)構(gòu)。

      3.16 貨幣經(jīng)紀(jì)公司

      經(jīng)中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)批準(zhǔn)在中國(guó)境內(nèi)設(shè)立的,通過(guò) 電子技術(shù)或其他手段,專門從事促進(jìn)金融機(jī)構(gòu)間資金融通和外匯 交易等經(jīng)紀(jì)服務(wù),并從中收取傭金的金融機(jī)構(gòu)。

      3.17 證券公司

      依照《中華人民共和國(guó)公司法》規(guī)定設(shè)立的并經(jīng)國(guó)務(wù)院證券 監(jiān)督管理機(jī)構(gòu)審查批準(zhǔn)而成立的專門經(jīng)營(yíng)證券業(yè)務(wù),具有獨(dú)立法 人地位的金融機(jī)構(gòu)。

      3.18 證券投資基金管理公司

      經(jīng)中國(guó)證券監(jiān)督管理委員會(huì)批準(zhǔn),在中華人民共和國(guó)境內(nèi)設(shè) 立,從事證券投資基金管理業(yè)務(wù)的企業(yè)法人。

      3.19 期貨公司

      依照《中華人民共和國(guó)公司法》和《期貨交易管理?xiàng)l例》規(guī) 定設(shè)立的經(jīng)營(yíng)期貨業(yè)務(wù)的金融機(jī)構(gòu)。

      3.20 投資咨詢公司

      經(jīng)中國(guó)證券監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立,為證券、期貨投資人 或者客戶提供證券、期貨投資分析、預(yù)測(cè)或者建議等直接或者間 接有償咨詢服務(wù)的金融機(jī)構(gòu)。

      3.21 財(cái)產(chǎn)保險(xiǎn)公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立,依法登記注冊(cè),從事 經(jīng)營(yíng)財(cái)產(chǎn)損失保險(xiǎn)、責(zé)任保險(xiǎn)、信用保險(xiǎn)、短期健康保險(xiǎn)和意外 傷害保險(xiǎn)等財(cái)產(chǎn)保險(xiǎn)業(yè)務(wù)的保險(xiǎn)公司。

      3.22 人身保險(xiǎn)公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立,依法登記注冊(cè),從事

      意外傷害保險(xiǎn)、健康保險(xiǎn)、人壽保險(xiǎn)等人身保險(xiǎn)業(yè)務(wù)的保險(xiǎn)公司。5

      3.23 再保險(xiǎn)公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理機(jī)構(gòu)批準(zhǔn)設(shè)立,并依法登記注冊(cè)的,專 門從事再保險(xiǎn)業(yè)務(wù)、不直接向投保人簽發(fā)保單的保險(xiǎn)公司。

      3.24 保險(xiǎn)資產(chǎn)管理公司

      經(jīng)中國(guó)保監(jiān)會(huì)會(huì)同有關(guān)部門批準(zhǔn),依法登記注冊(cè)、受托管理 保險(xiǎn)資金的金融機(jī)構(gòu)。

      3.25 保險(xiǎn)經(jīng)紀(jì)公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立,基于投保人的利益,為投保人與保險(xiǎn)人訂立保險(xiǎn)合同提供中介服務(wù),并依法收取傭金 的金融機(jī)構(gòu)。

      3.26 保險(xiǎn)代理公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立,根據(jù)保險(xiǎn)公司的委

      托,向保險(xiǎn)公司收取代理傭金,并在保險(xiǎn)公司授權(quán)的范圍內(nèi)代為 辦理保險(xiǎn)業(yè)務(wù)的金融機(jī)構(gòu)。

      3.27 保險(xiǎn)公估公司

      經(jīng)中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)批準(zhǔn)設(shè)立的,接受保險(xiǎn)當(dāng)事人委 托,專門從事保險(xiǎn)標(biāo)的的評(píng)估、勘驗(yàn)、鑒定、估損、理算等業(yè)務(wù) 的單位。

      3.28 企業(yè)年金

      指企業(yè)及其職工在依法參加基本養(yǎng)老保險(xiǎn)的基礎(chǔ)上,自愿建 立的補(bǔ)充養(yǎng)老保險(xiǎn)制度。

      3.29 交易所

      經(jīng)國(guó)家有關(guān)主管部門批準(zhǔn)設(shè)立的,提供證券、商品、期貨等 集中競(jìng)價(jià)交易場(chǎng)所,不以營(yíng)利為目的的法人。

      3.30 登記結(jié)算類機(jī)構(gòu)

      經(jīng)國(guó)家有關(guān)主管部門批準(zhǔn)設(shè)立的,為金融交易提供集中的登 記、托管與結(jié)算服務(wù),不以營(yíng)利為目的的法人。

      3.31 金融控股公司

      依據(jù)《中華人民共和國(guó)公司法》設(shè)立,擁有或控制一個(gè)或多 個(gè)金融性公司,并且這些金融性公司凈資產(chǎn)占全部控股公司合并 凈資產(chǎn)的50%以上,所屬的受監(jiān)管實(shí)體應(yīng)是至少明顯地在從事兩 種以上的銀行、證券和保險(xiǎn)業(yè)務(wù)獨(dú)立企業(yè)法人。

      3.32 小額貸款公司

      由自然人、企業(yè)法人或其他社會(huì)組織依法設(shè)立,不吸收公眾 存款,經(jīng)營(yíng)小額貸款業(yè)務(wù)的有限責(zé)任公司或股份有限公司。4 編碼對(duì)象

      本規(guī)范的編碼對(duì)象是中華人民共和國(guó)的貨幣當(dāng)局、監(jiān)管當(dāng)局 及其境內(nèi)外派出機(jī)構(gòu);境內(nèi)銀行、證券、保險(xiǎn)類金融機(jī)構(gòu)的法人 機(jī)構(gòu)及其境內(nèi)外具有經(jīng)營(yíng)許可的分支機(jī)構(gòu);交易結(jié)算類金融機(jī)構(gòu) 及其境內(nèi)分支機(jī)構(gòu);境內(nèi)設(shè)立的金融控股公司;國(guó)外金融機(jī)構(gòu)在 我國(guó)境內(nèi)設(shè)立的具有經(jīng)營(yíng)許可的非法人分支機(jī)構(gòu),中國(guó)人民銀行 認(rèn)定的其他有關(guān)金融機(jī)構(gòu)?!熬硟?nèi)”指中華人民共和國(guó)(不含港、澳、臺(tái)地區(qū))境內(nèi)的地區(qū)。編碼的結(jié)構(gòu)和表示形式

      5.1 結(jié)構(gòu)

      金融機(jī)構(gòu)編碼是特征組合碼,長(zhǎng)度為十四位,分別為大寫拉 丁字母或阿拉伯?dāng)?shù)字。編碼分為六段,從左至右分別為:一位金 融機(jī)構(gòu)一級(jí)分類碼;一位金融機(jī)構(gòu)二級(jí)分類碼;四位金融機(jī)構(gòu)三 級(jí)分類碼;兩位地區(qū)代碼;五位順序碼;一位校驗(yàn)碼。7

      5.1.1 金融機(jī)構(gòu)一級(jí)分類碼

      長(zhǎng)度為一位,采用大寫拉丁字母或阿拉伯?dāng)?shù)字編碼,表示金 融機(jī)構(gòu)的一級(jí)分類。

      A-貨幣當(dāng)局

      B-監(jiān)管當(dāng)局

      C-銀行業(yè)存款類金融機(jī)構(gòu)

      D-銀行業(yè)非存款類金融機(jī)構(gòu)

      E-證券業(yè)金融機(jī)構(gòu)

      F-保險(xiǎn)業(yè)金融機(jī)構(gòu)

      G-交易及結(jié)算類金融機(jī)構(gòu)

      H-金融控股公司

      Z-其他

      J~Y(I、O除外),1~9(0除外)-預(yù)留

      5.1.2 金融機(jī)構(gòu)二級(jí)分類碼

      長(zhǎng)度為一位,采用阿拉伯?dāng)?shù)字編碼在同一一級(jí)分類內(nèi)按順序 編碼,表示金融機(jī)構(gòu)的二級(jí)分類。

      A-貨幣當(dāng)局

      1-中國(guó)人民銀行

      2-國(guó)家外匯管理局

      B-監(jiān)管當(dāng)局

      1-中國(guó)銀行業(yè)監(jiān)督管理委員會(huì)

      2-中國(guó)證券監(jiān)督管理委員會(huì)

      3-中國(guó)保險(xiǎn)監(jiān)督管理委員會(huì)

      C-銀行業(yè)存款類金融機(jī)構(gòu)

      1-銀行

      2-城市信用合作社(含聯(lián)社)

      3-農(nóng)村信用合作社(含聯(lián)社)

      4-農(nóng)村資金互助社

      5-財(cái)務(wù)公司

      D-銀行業(yè)非存款類金融機(jī)構(gòu)

      1-信托公司

      2-金融資產(chǎn)管理公司

      3-金融租賃公司

      4-汽車金融公司

      5-貸款公司

      6-貨幣經(jīng)紀(jì)公司

      E-證券業(yè)金融機(jī)構(gòu)

      1-證券公司

      2-證券投資基金管理公司

      3-期貨公司

      4-投資咨詢公司

      F-保險(xiǎn)業(yè)金融機(jī)構(gòu)

      1-財(cái)產(chǎn)保險(xiǎn)公司

      2-人身保險(xiǎn)公司

      3-再保險(xiǎn)公司

      4-保險(xiǎn)資產(chǎn)管理公司

      5-保險(xiǎn)經(jīng)紀(jì)公司

      6-保險(xiǎn)代理公司

      7-保險(xiǎn)公估公司

      8-企業(yè)年金

      G-交易及結(jié)算類金融機(jī)構(gòu)

      1-交易所

      2-登記結(jié)算類機(jī)構(gòu)

      H-金融控股公司

      1-中央金融控股公司

      2-其他金融控股公司

      Z-其他

      1-小額貸款公司

      5.1.3 金融機(jī)構(gòu)三級(jí)分碼

      長(zhǎng)度為四位,采用阿拉伯?dāng)?shù)字0001~9999在同一二級(jí)分類內(nèi) 按順序編碼,表示金融機(jī)構(gòu)的三級(jí)分類,三級(jí)分類指境內(nèi)單家法 人金融機(jī)構(gòu)或境外金融機(jī)構(gòu)直接在境內(nèi)設(shè)立的不具備法人資格 的機(jī)構(gòu)。

      5.1.4 地區(qū)代碼

      長(zhǎng)度為兩位,采用拉丁字母和阿拉伯?dāng)?shù)字編碼,表示金融機(jī) 構(gòu)所在地區(qū)的代碼。

      按金融機(jī)構(gòu)所在地不同,分別按照如下兩種方式賦碼: ——當(dāng)為境內(nèi)金融機(jī)構(gòu)時(shí),采用《GB/T 2260-2007 中華人

      民共和國(guó)行政區(qū)劃代碼》,取其數(shù)字碼前兩位為金融機(jī)構(gòu)所屬省、自治區(qū)、直轄市代碼。

      ——當(dāng)為境外金融機(jī)構(gòu)時(shí),采用《GB/T 2659-2000 世界各 國(guó)和地區(qū)名稱代碼(eqv ISO 3166-1:1997)》,取其兩字符拉 丁字母代碼為金融機(jī)構(gòu)屬地國(guó)家或地區(qū)的代碼。(臺(tái)灣、香港、澳門視為境外)

      5.1.5 順序碼

      長(zhǎng)度為五位,采用阿拉伯?dāng)?shù)字編碼,表示金融機(jī)構(gòu)的順序號(hào)。同一金融機(jī)構(gòu)(三級(jí))分類、同一地區(qū)代碼下,多個(gè)不同營(yíng) 業(yè)機(jī)構(gòu)的順序編號(hào)從00001-99999順序連續(xù)編碼。

      5.1.6 校驗(yàn)碼

      長(zhǎng)度為一位,采用阿拉伯?dāng)?shù)字編碼,使用The Luhn Mod-10Method算法生成。

      5.2 編碼的表示形式

      金融機(jī)構(gòu)編碼的各段依次連接,不留空格,其表示形式如下。位置***1314 編碼 XXXXXXXXXXXXXX 碼段 一 二 三四五六 其中:各碼段的含義如下。

      一:金融機(jī)構(gòu)一級(jí)分類碼

      二:金融機(jī)構(gòu)二級(jí)分類碼

      三:金融機(jī)構(gòu)三級(jí)分類碼

      四:地區(qū)代碼

      五:順序碼

      六:校驗(yàn)碼

      第五篇:Java命名規(guī)范

      Java包的名字都是由小寫單詞組成。但是由于Java面向?qū)ο缶幊痰奶匦?,每一名Java程序員都可以編寫屬于自己的Java包,為了保障每個(gè)Java包命名的唯一性,在最新的Java編程規(guī)范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。由于互聯(lián)網(wǎng)上的域名稱是不會(huì)重復(fù)的,所以程序員一般采用自己在互聯(lián)網(wǎng)上的域名稱作為自己程序包的唯一前綴。例如: net.frontfree.javagroup

      類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫,如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來(lái)代表對(duì)象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。

      例如: Circle

      interface RasterDelegate;

      interface Storing;

      方法的名字的第一個(gè)單詞應(yīng)以小寫字母作為開頭,后面的單詞則用大寫字母開頭。例如: sendMessge

      變量(Variables)除了變量名外,所有實(shí)例,包括類,類常量,均采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。變量名不應(yīng)以下劃線或美元符號(hào)開頭,盡管這在語(yǔ)法上是允許的。

      變量名應(yīng)簡(jiǎn)短且富于描述。變量名的選用應(yīng)該易于記憶,即,能夠指出其用途。盡量避免單個(gè)字符的變量名,除非是一次性的臨時(shí)變量。臨時(shí)變量通常被取名為i,j,k,m和n,它們一般用于整型;c,d,e,它們一般用于字符型。char c;

      int i;

      float myWidth;

      實(shí)例變量(Instance Variables)大小寫規(guī)則和變量名相似,除了前面需要一個(gè)下劃線 int _employeeId;

      String _name;

      Customer _customer;

      常量的名字應(yīng)該都使用大寫字母,并且指出該常量完整含義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來(lái)分割這些單詞。

      例如: MAX_VALUE

      下載C#編碼規(guī)范及命名規(guī)范word格式文檔
      下載C#編碼規(guī)范及命名規(guī)范.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        oracle命名規(guī)范

        1、 編寫目的 使用統(tǒng)一的命名和編碼規(guī)范,使數(shù)據(jù)庫(kù)命名及編碼風(fēng)格標(biāo)準(zhǔn)化,以便于閱讀、理解和繼承。 2、 適用范圍 本規(guī)范適用于公司范圍內(nèi)所有以O(shè)RACLE作為后臺(tái)數(shù)據(jù)庫(kù)的應(yīng)用系......

        資源上傳命名規(guī)范

        資源上傳命名規(guī)范 【導(dǎo)語(yǔ)】 為了提高資源可讀性,讓您更加方便查閱資料,網(wǎng)站制定了《第二教育網(wǎng)資源命名規(guī)范》文檔,所有上傳的資料必須符合文檔中要求。具體如下: 【高中上傳資......

        POP店鋪命名規(guī)范

        POP店鋪命名規(guī)范 一、POP店鋪命名總則: 1.1店鋪名不得超過(guò)30個(gè)字符; 1.2店鋪名不得與已經(jīng)開通的店鋪名稱重復(fù),如兩個(gè)店鋪同時(shí)申請(qǐng)同一店鋪名的,則依照申請(qǐng)?jiān)谙仍瓌t審批開通店鋪,......

        C語(yǔ)言命名規(guī)范10條

        C語(yǔ)言命名規(guī)范10條從事C語(yǔ)言的教學(xué)也有兩年了,在教學(xué)中發(fā)現(xiàn)學(xué)生們?cè)诰幊谭矫嬗幸粋€(gè)極不好的習(xí)慣,就是隨意命名,這不僅給自己日后閱讀自己程序時(shí)帶來(lái)不便,也給其他的程序閱讀者帶......

        前端開發(fā)命名規(guī)范范文

        前端開發(fā)工作規(guī)范 為提高團(tuán)隊(duì)協(xié)作效率,便于后臺(tái)人員添加功能及前端后期優(yōu)化維護(hù),輸出高質(zhì)量的文檔,特制訂此文檔。本規(guī)范文檔一經(jīng)確認(rèn),前端開發(fā)人員必須按本文檔規(guī)范進(jìn)行前臺(tái)頁(yè)......

        css命名規(guī)范(英文命名)5篇

        一.文件命名規(guī)范 [b]樣式文件命名[/b] [quote]主要的 master.css 布局,版面 layout.css 專欄 columns.css 文字 font.css 打印樣式 print.css 主題 themes.css [/quote] [b]C......

        C# System命名空間簡(jiǎn)介

        System 命名空間 類 Activator 包含特定的方法,用以在本地或從遠(yuǎn)程創(chuàng)建對(duì)象類型,或獲取對(duì)現(xiàn)有遠(yuǎn)程對(duì)象的引用。 AppDomain 表示應(yīng)用程序域,它是一個(gè)應(yīng)用程序在其中執(zhí)行的獨(dú)立環(huán)......

        金圖影像檔案命名規(guī)范

        金圖影像檔案命名規(guī)范 金圖影像檔案命名規(guī)范 方案一: 方案一:基于建庫(kù)的影像檔案掃描 存放內(nèi)容 基于建庫(kù)的影像檔案掃描主要存放初始登記的資料,支持各種圖形文件類型.......