最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.Net平臺開發(fā)實踐的一些點滴總結(技術規(guī)范與實踐精華)第1/2頁

 更新時間:2010年04月06日 15:00:41   作者:  
以下是本人對.Net平臺開發(fā)實踐的一些點滴總結。這里的技術規(guī)范主要是開發(fā)過程的代碼規(guī)范、數(shù)據(jù)庫設計規(guī)范、Com和.Net互操作規(guī)范;實踐精華是對技術實踐過程中的部分總結。

以下是本人對.Net平臺開發(fā)實踐的一些點滴總結。這里的技術規(guī)范主要是開發(fā)過程的代碼規(guī)范、數(shù)據(jù)庫設計規(guī)范、Com和.Net互操作規(guī)范;實踐精華是對技術實踐過程中的部分總結。

一、代碼規(guī)范

良好的代碼風格來自于同一的代碼規(guī)范。風格良好的代碼不僅具備可讀性和可維護性,同時也給人行云流水、賞心悅目之快感。

據(jù)Microsoft公司統(tǒng)計,基于微軟平臺的開發(fā)中,有70-80%的印度工程師在完成同類算法或者模塊時,使用的代碼基本一致;而相同的調查中只有20%的中國工程師們是基本一致的。這說明我們的代碼生產(chǎn)過程亟待規(guī)范。

實義命名

類型、變量、常量、方法等標識符一律采用對應的英文實義;如果涉及到兩個獨立的實義單詞,則中間用下劃線間隔或者單詞首字母大寫(兩種方式都可以);如果標識符的長度超過了30個字母,則基本上以英文單詞發(fā)音的重讀音節(jié)取選出三個字母,如Repeater用rpt,Management用mgt。

大小寫規(guī)則

目前一般有兩種大小寫規(guī)則:

Pascal大小寫形式,所有單詞第一個字母大寫,其他字母小寫。

Camel大小寫形式,除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。

類名使用Pascal大小寫形式

public class HelloWorld(或者Hello_World,以下同,不再贅述)
{
...
}

方法使用Pascal大小寫形式

public class HelloWorld()
{
void SayHello(string name)
{
...
}
}

變量和方法參數(shù)使用Camel 大小寫形式

public class HelloWorld()
{
int totalCount = 0;
void SayHello(string name)
{
string fullMessage = "Hello " + name;
...
}
}

不要使用匈牙利方法來命名變量

以前,多數(shù)程序員喜歡把數(shù)據(jù)類型作為變量名的前綴而m_作為成員變量的前綴。例如: string m_sName;int nAge;

然而,這種方式在.NET編碼規(guī)范中是不推薦的。所有變量都用Camel 大小寫形式,而不是用數(shù)據(jù)類型和m_來作前綴。

用name,address,salary等代替nam,addr,sal。

別使用單個字母的變量象i,n,x 等。使用 index,temp等。用于循環(huán)迭代的變量例外:

如果變量只用于迭代計數(shù),沒有在循環(huán)的其他地方出現(xiàn),允許用單個字母的變量命名,而不是另外取實義名。

文件名要和類名匹配,例如,對于類HelloWorld,相應的文件名應為helloworld.cs。

縮進和間隔

縮進用TAB,不用 SPACES。

注釋需和代碼對齊。

遵循VS2005的自動對齊規(guī)則,不要人為的調整。

用一個空行來分開代碼的邏輯分組。

在一個類中,各個方法的實現(xiàn)體必須用空行間隔,大括弧“{}”需獨立一行。

在每個運算符和括號的前后都空一格。如:

If ( showResult == true )
{
for ( int i = 0; i < 10; i++ )
{
//
}
}

而不是:

if(showResult==true)
{
for(int i= 0;i<10;i++)
{
//
}
}

良好的編程習慣

避免使用大文件。如果一個文件里的代碼超過300~400行,必須考慮將代碼分開到不同類中。

避免寫太長的方法。一個典型的方法代碼在1~30行之間。如果一個方法發(fā)代碼超過30行,應該考慮將其分解為不同的方法。

方法名需能看出它作什么。別使用會引起誤解的名字。如果名字一目了然,就無需用文檔來解釋方法的功能了。

一個方法只完成一個任務。不要把多個任務組合到一個方法中,即使那些任務非常小。

使用C# 的特有類型,而不是System命名空間中定義的別名類型。如:

int age;

string name;

object contactInfo;

而不是:

Int16 age;

String name;

Object contactInfo;

這么做是基于如下兩點原因:(1)規(guī)范性和一致性;(2)便于跨語言平臺的移植。

別在程序中使用固定數(shù)值,用常量代替。別用字符串常數(shù),盡量用資源文件。

避免使用很多成員變量,聲明局部變量,并傳遞給方法。

不要在方法間共享成員變量,如果在幾個方法間共享一個成員變量,那就很難知道是哪個方法在什么時候修改了它的值。必要時使用enum,別用數(shù)字或字符串來指示離散值。

別把成員變量聲明為 public或 protected。都聲明為private 而使用 public/protected 的Properties。

不在代碼中使用具體的路徑和驅動器名,使用相對路徑,并使路徑可編程。永遠別設想你的代碼是在"C:"盤運行。你不會知道,一些用戶在網(wǎng)絡或"Z:"盤運行程序。

應用程序啟動時作些“自檢”并確保所需文件和附件在指定的位置。必要時檢查數(shù)據(jù)庫連接,出現(xiàn)任何問題給用戶一個友好的提示。

如果需要的配置文件找不到,應用程序需能自己創(chuàng)建使用默認值。如果在配置文件中發(fā)現(xiàn)錯誤值,應用程序要拋出錯誤,給出提示消息告訴用戶正確值。錯誤消息需能幫助用戶解決問題。

注釋

別每行代碼,每個聲明的變量都做注釋。在需要的地方注釋。

可讀性強的代碼需要很少的注釋,如果所有的變量和方法的命名都很有意義,會使代碼可讀性很強并無需太多注釋。行數(shù)不多的注釋會使代碼看起來優(yōu)雅。

如果因為某種原因使用了復雜艱澀的原理,必須為程序配備良好的文檔和詳細的注釋。

對注釋做拼寫檢查,保證語法和標點符號的正確使用。

二、數(shù)據(jù)庫設計規(guī)范

表格分類與命名

數(shù)據(jù)表的分類

系統(tǒng)表   支撐業(yè)務模型的數(shù)據(jù)表,如流程模型、系統(tǒng)管理相關表。

業(yè)務表   產(chǎn)品提供的針對業(yè)務的通用功能模塊相關表,如通用業(yè)務查詢等。

用戶表   用戶二次開發(fā)使用的與具體業(yè)務相關的數(shù)據(jù)表。

數(shù)據(jù)表的命名

所有表格命名一律以字母“T”開頭(Table),并且用實義單詞以下劃線“_”間隔。

系統(tǒng)表   系統(tǒng)表前綴為:TSYS_

業(yè)務表前綴為:TBIZ_

用戶表由用戶自行定義,但是建議不要與系統(tǒng)表和業(yè)務表的命名規(guī)則重復。

字段的命名

字段的命名規(guī)則參照代碼標識符的命名規(guī)則,但是注意避開數(shù)據(jù)庫的保留字。比如不要采用這樣的字段名:index,field,password,id,Oracle,SQL等等。

對于涉及到技術核心的系統(tǒng)表,為了防止剖析,建議采用類似“F1,F(xiàn)2,F(xiàn)3……Fn”的方式命名。但是不要采用“F0”,因為這個名稱在某些數(shù)據(jù)庫中不被允許,比如Interbase。

索引的建立

索引是一把雙刃劍,索引將提高查詢的效率,但是卻降低了insert/delete/update 的效率。

通常情況下,對數(shù)據(jù)的編輯頻度和時限要求遠遠低于對數(shù)據(jù)庫的查詢要求,因此對于記錄很多且頻繁查詢的數(shù)據(jù)表,必須建立索引。

大多數(shù)數(shù)據(jù)庫為主鍵字段自動創(chuàng)建索引,注意為外鍵創(chuàng)建索引。

不要索引大字段,這樣作會讓索引占用太多的存儲空間。

盡量不要索引頻繁編輯的小型表。

identify字段不要作為表的主鍵與其它表關聯(lián),這將會影響到該表的數(shù)據(jù)遷移。如果考慮支持多數(shù)據(jù)庫,建議主鍵采用程序生成的唯一值。

如果一個大型表需要頻繁的做insert/delete/update操作,同時也需要做高并發(fā)量的查詢,那么建議根據(jù)數(shù)據(jù)的訪問頻度對表作拆分,而后建立索引。

相關文章

  • asp.net ckeditor編輯器的使用方法

    asp.net ckeditor編輯器的使用方法

    Fckeditor相信大家都知道。ckeditor是fckeditor的重寫版,它的載入速度更快,界面更漂亮,更強的課定制性。試用了一下,下面介紹一下它在asp.net中的配置。
    2009-11-11
  • .Net消息隊列的使用方法

    .Net消息隊列的使用方法

    這篇文章主要介紹了.Net消息隊列的使用方法,需要的朋友可以參考下
    2014-02-02
  • C#各種集合操作的性能總結

    C#各種集合操作的性能總結

    本文主要記錄的是C#各種集合操作的性能,下面的標記說明描述標記的時間,下面的表格對比各種集合各種操作的時間,需要了解的朋友可以參考下
    2012-12-12
  • HttpHandler HttpModule入門篇

    HttpHandler HttpModule入門篇

    ASP.Net處理Http Request時,使用Pipeline(管道)方式,由各個HttpModule對請求進行處理,然后到達 HttpHandler,HttpHandler處理完之后,仍經(jīng)過Pipeline中各個HttpModule的處理,最后將HTML發(fā)送到客戶端瀏覽器中。
    2010-01-01
  • ASP.NET Core擴展庫之Http通用擴展庫的使用詳解

    ASP.NET Core擴展庫之Http通用擴展庫的使用詳解

    這篇文章主要介紹了ASP.NET Core擴展庫之Http通用擴展庫的使用詳解,幫助大家更好的理解和學習使用.net技術,感興趣的朋友可以了解下
    2021-04-04
  • ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境詳解

    ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境詳解

    這篇文章主要為大家詳細介紹了ASP.NET Core程序發(fā)布到Linux生產(chǎn)環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • .NET?6中為record類型自定義Equals方法

    .NET?6中為record類型自定義Equals方法

    這篇文章主要介紹了.NET?6中為record類型自定義Equals方法,record類型,這是一種新引用類型,而不是類或結構。record與類不同,區(qū)別在于record類型使用基于值的相等性,下文小編將介紹更多詳細資料,需要的朋友可以參考一下
    2022-03-03
  • asp.net 根據(jù)漢字的拼音首字母搜索數(shù)據(jù)庫(附 LINQ 調用方法)

    asp.net 根據(jù)漢字的拼音首字母搜索數(shù)據(jù)庫(附 LINQ 調用方法)

    我們經(jīng)常需要使用拼音首字母來檢索數(shù)據(jù)庫,特別是應用于醫(yī)院、商店等行業(yè)軟件中。譬如搜索“zgr”就可以搜索所有包含“中國人”的記錄。那么如果來實現(xiàn)才能即高效又方便呢?
    2010-04-04
  • asp.net如何進行mvc異步查詢

    asp.net如何進行mvc異步查詢

    這篇文章主要介紹了asp.net如何進行mvc異步查詢,Asp.net mvc 有自己獨特的優(yōu)勢,有需要的朋友可以來了解一下。
    2016-10-10
  • asp.net中顯示1至20相同數(shù)字相乘的結果,若值比50小就不顯示

    asp.net中顯示1至20相同數(shù)字相乘的結果,若值比50小就不顯示

    感興趣的網(wǎng)友也可以練習練習?,F(xiàn)在Insus.NET的作答如下,但老師還沒有看,因此答案是否正確或是最好的,還不能確定,只是供參考
    2012-05-05

最新評論

黎平县| 阳春市| 呼伦贝尔市| 长兴县| 沛县| 昌宁县| 封开县| 陇西县| 靖边县| 杭锦旗| 淄博市| 广安市| 波密县| 城固县| 商洛市| 鹿泉市| 张家川| 民乐县| 恭城| 乳源| 富川| 抚顺市| 唐山市| 河间市| 东乡族自治县| 石屏县| 明星| 克拉玛依市| 连南| 南宁市| 丰县| 清原| 华坪县| 吉首市| 禄劝| 宜城市| 惠东县| 涿州市| 华亭县| 大安市| 临夏县|