讓你提前認識軟體開發(26):資料庫指令碼的凝視

來源:互聯網
上載者:User

標籤:create   名稱   man   origin   modify   代碼結構   proc   arc   sql語言   

第2部分 資料庫SQL語言

資料庫指令碼的凝視

 

1. 概述

        凝視在程式語言的編寫中佔有非常重要的地位。優美的、得當的凝視不僅有助於研發人員理解程式,還能夠提高編程效率(進而提高辦事效率)。

        可是,可能是因為工作比較忙的緣故,很多開發人員不重視凝視的書寫,這也導致了項目交接的時候,其它開發人員理解程式困難。甚至不知道程式究竟要做什麼事情。因此,良好凝視的書寫是對一個開發人員的基本要求,大家一定要重視。

        對於指令碼的凝視。建議大家一律採用英文,這樣能夠體現出國際化、專業性與規範性。

 

2. 資料庫指令碼檔案頭部的凝視

        非常多指令檔都沒有頭部的凝視,大家覺得它不重要。但作者覺得一定要把這部分內容加上,這樣為以後追蹤版本號碼資訊提供了方便。

        在檔案頭部的凝視中,要包含著作權、資料庫類型、建立日期、作者、改動記錄等資訊,能夠採用下面的樣式:

--*********************************************************************

-- copy right (C)2014, company name.

-- DB Type: XXX

-- Content: XXX

-- Created: YYYY.MM.DD

-- Modify1: The name of the author

-- Date1: YYYY.MM.DD

-- version1: The original version of the product

-- Modify2: The name of who modified the file

-- Date2: YYYY.MM.DD

-- version2: The updated version of the product

--**********************************************************************

 

3. 資料庫指令碼檔案摘要資訊的凝視

        在頭部凝視之後。不要立即就開始建立表及預存程序,而應該有一個摘要。假設是建表指令碼,摘要就是該檔案裡包含的表的名稱和用途。假設是建立預存程序的指令碼,摘要就是該檔案裡包含的預存程序的名稱和用途。

這個摘要能夠起到索引的作用,協助開發人員瞭解指令檔的主要內容。

        摘要資訊的凝視能夠採用下面的樣式:

--********* XXX(Version)DataBase Table Creating*********

--*  1    table1                : description1

--*  2    table2                : description2

--*  3    table3                : description3

    . . . . . .

--***************************************************

 

4. 表或預存程序開頭處的凝視

        在表或預存程序的開頭處加入凝視,能夠起到方便定位、易於查閱的作用。能夠採用下面的樣式:

-- XXX(The name of the table or procedure, and what it is used for)

The definition of the table or procedure

 

5. 表的各欄位之後的凝視

        在定義了一個表的各欄位之後,須要對每一個欄位進行凝視。以方便研發人員瞭解其作用。避免推測和錯誤理解。

這樣,使用起來也會得心應手。

        表的定義及欄位凝視能夠採用下面的樣式:

create table tb_XXX

 (

    AAA               int                                   not null,          -- description1

    BBB              varchar(256)                 not null,          -- description2

    CCC              int default(0)                        null,          -- description3

    DDD             varchar(256)  default(‘‘‘‘)   null,         -- description4

    . . . . . .

)

 

6. 預存程序的凝視

        一般說來。預存程序包含的SQL語句比較多,因此凝視也會比較的複雜。即便是這樣,在一些關鍵語句的地方,一定要有凝視。否則其它開發人員閱讀起來就會比較費勁。

       預存程序的編寫及凝視能夠採用下面的樣式(以Sybase資料庫中的文法為例):

create procedure pr_XXX

    @AAA          varchar(30),        -- description1

    @BBB          int,                       -- description2

    . . . . . .

as

begin

declare

    @CCC          int,                       -- description3

@DDD          varchar(100),        -- description4

    . . . . . .

   . . . . . .

    -- YYY(name) add YYYYMMDD for ZZZ begin

    . . . . . .

    -- YYY(name) add YYYYMMDD for ZZZ end

    . . . . . .

    statement1                    -- YYY add YYYYMMDD description5

    . . . . . .

    statement2                    -- YYY modify YYYYMMDD description6

     . . . . . .

    statement3                    -- YYY delete YYYYMMDD description7

    . . . . . .

    . . . . . .

    statement4                    -- description8(important statement)

    . . . . . .

end

 

7. 有關凝視的一些規則和建議

(1) 統一使用“--”進行凝視(不要使用“/* */進行凝視”)。
(2) 指令檔頭部必須進行凝視。

(3) 每段完畢一定功能的指令碼前(如建立資料表、預存程序、任務、插入預設記錄等)。均應有凝視說明。

(4) 建立資料表中每一個欄位後應有凝視。說明欄位含義,有些還須要說明取值範圍等。

(5) 建立預存程序和函數中每一個輸入輸出參數後應有凝視,說明參數含義,有些還須要說明取值範圍等。

(6) 對分支語句(包含條件分支)、迴圈語句等要編寫凝視。

(7) 保證代碼和凝視的一致性。改動代碼同一時候改動對應的凝視,不再實用的凝視要刪除。

(8) 凝視應與其描寫敘述的代碼相近。對代碼的凝視應放在其上方或右方(對資料表中欄位和預存程序參數的凝視)相鄰位置。不可放在下面。如放於上方則需與其上面的代碼用空行隔開。

(9) 凝視與所描寫敘述代碼進行相同的縮排。

(10) 中文版本號碼的凝視統一使用中文描寫敘述,海外版本號碼的凝視統一使用英文描寫敘述。

(11) 通過對函數或過程、變數等正確的命名以及合理地組織代碼結構,使代碼成為自凝視的。

(12) 盡量避免在凝視中使用縮寫,特別是不經常使用縮寫。

 

8. 總結

        凝視的作用是錦上添花,不恰當的凝視不但不能夠起到應有的作用,反而有可能讓人產生誤解。因此。我們在加入指令檔凝視的時候,一定要遵循簡單、清晰、明了、通俗易懂的原則。

 

 

(本系列文章每周更新兩篇,敬請期待!本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,號:245924426,歡迎關注!)

讓你提前認識軟體開發(26):資料庫指令碼的凝視

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.