<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文完全解讀數(shù)據(jù)倉(cāng)庫(kù)建設(shè)規(guī)范

          共 6010字,需瀏覽 13分鐘

           ·

          2020-12-18 19:28

          1 概述

          本文檔制定了XX數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)庫(kù)對(duì)象的命名規(guī)范(用戶、表、視圖、存儲(chǔ)過(guò)程、函數(shù)、表分區(qū)、主鍵、索引、序列等)、數(shù)據(jù)庫(kù)編程規(guī)范,JAVA編程規(guī)范為系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)工作提供統(tǒng)一的命名標(biāo)準(zhǔn),提高系統(tǒng)的規(guī)整性和代碼的可讀性,減輕維護(hù)工作量,提高工作效率。

          2 數(shù)據(jù)庫(kù)對(duì)象命名規(guī)范

          2.1? 層次劃分

          ?

          序號(hào)

          模型層次

          用途

          1

          ODS

          存放來(lái)自各個(gè)系統(tǒng)的原始數(shù)據(jù);

          2

          DW

          根據(jù)業(yè)務(wù)分析需求,對(duì)主題域內(nèi)的數(shù)據(jù)進(jìn)行輕度匯總;

          3

          DM

          建立跨域的業(yè)務(wù)主題模型;

          4

          DIM

          統(tǒng)一服務(wù)于數(shù)據(jù)中心的參數(shù)表;

          5

          APP

          ?

          應(yīng)用層,用于生成報(bào)表

          6

          XX

          XX

          數(shù)據(jù)層級(jí)按照自己數(shù)據(jù)倉(cāng)庫(kù)規(guī)劃的命名即可~

          2.2? 表、視圖、存儲(chǔ)過(guò)程、函數(shù)命名規(guī)范

          <對(duì)象類型><_模型層次><_主題><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]

          說(shuō)明:<> 尖括號(hào)中的內(nèi)容為必須項(xiàng),適用于所有用戶層對(duì)象,[] 方括號(hào)中的內(nèi)容為可選項(xiàng),會(huì)因用戶層及對(duì)象的不同而不同

          命名約束:數(shù)據(jù)庫(kù)對(duì)象命名可能受最大長(zhǎng)度限制,因此在實(shí)際命名中如果按照規(guī)范約定的命名方式存在超長(zhǎng)的現(xiàn)象,需要開(kāi)發(fā)人員靈活控制。

          2.2.1 對(duì)象類型

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]。

          適用范圍:所有用戶層對(duì)象。

          對(duì)象類型

          對(duì)象

          說(shuō)明

          TB

          TABLE

          VW

          VIEW

          視圖

          ……

          ……

          ……

          ?

          2.2.2 模型層次

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]

          說(shuō)明:對(duì)象屬性一般為對(duì)象歸屬用戶的簡(jiǎn)寫。

          適用范圍:所有用戶層對(duì)象。可以參照自己的對(duì)象屬性命名規(guī)范,對(duì)此不要求統(tǒng)一。

          ?

          模型層次

          說(shuō)明

          ODS

          獲取層,存放從各個(gè)源系統(tǒng)接收的原始數(shù)據(jù);

          DW

          根據(jù)業(yè)務(wù)分析需求,對(duì)數(shù)據(jù)進(jìn)行匯總,

          應(yīng)用分析原則優(yōu)先訪問(wèn)DW層,其次DWD層,不允許訪問(wèn)ODS層;

          DM

          建立跨域的業(yè)務(wù)主題模型;

          DIM

          維表

          APP

          報(bào)表層,根據(jù)DM模型數(shù)據(jù)生成報(bào)表。

          ?

          2.2.3 主題域

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型][_][序號(hào)或描述]

          說(shuō)明:主題域是對(duì)數(shù)據(jù)進(jìn)行大類劃分,不同用戶下的分類有所不同。適用所有業(yè)務(wù)層;每個(gè)新增的業(yè)務(wù)主題均需到該規(guī)范備案登記。

          主題域

          命名

          簡(jiǎn)稱

          描述

          客戶域

          Customer

          XX

          泛客戶

          ?

          2.2.4 對(duì)象描述

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]

          • 適用范圍:所有用戶層對(duì)象;

            對(duì)象描述要求簡(jiǎn)潔準(zhǔn)確,盡可能的直觀表達(dá)對(duì)象的含義,通常包含業(yè)務(wù)+功能;

          如果是通用命名規(guī)則:<對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型],這里的對(duì)象描述是多業(yè)務(wù)的合成體,這時(shí)不加業(yè)務(wù)。

          匯總類型

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]

          適用范圍:除字典表、日志表之外的對(duì)象。

          描述

          匯總類型

          DAY

          MON

          YEAR

          2.2.5 存儲(chǔ)類型

          <對(duì)象類型><_模型層次><_主題域><_對(duì)象描述>[_匯總類型][_存儲(chǔ)類型]

          適用范圍:所有用戶層除日志、字典表、維表之外的對(duì)象。

          對(duì)象描述

          存儲(chǔ)類型

          說(shuō)明

          目標(biāo)程序

          無(wú)


          臨時(shí)表

          TMP

          程序中臨時(shí)使用的中間表,用于存放程序運(yùn)行中使用的臨時(shí)數(shù)據(jù),程序運(yùn)行結(jié)束后表由程序自行清空,只保留結(jié)構(gòu)。

          配置表

          CFG


          2.2.5.1??? 日表

          日表以統(tǒng)計(jì)周期字段做日分區(qū)。數(shù)據(jù)保留周期為業(yè)務(wù)需要的周期,月底最后一天的數(shù)據(jù)不保存,如有需要?jiǎng)t沉淀到月表中。

          2.2.5.2??? 月表

          月表以統(tǒng)計(jì)周期字段做月分區(qū)。除該字段外,其余字段與日表必須相同。數(shù)據(jù)保留周期為業(yè)務(wù)需要的周期。所有的月報(bào)表、月KPI數(shù)據(jù)必須從月表出,禁止從日表出。

          2.2.5.3??? 周表

          周表數(shù)據(jù)保留周期為業(yè)務(wù)需要的周期。

          2.3? 其他對(duì)象命名規(guī)范

          對(duì)象

          命名規(guī)則

          說(shuō)明

          表分區(qū)

          根據(jù)實(shí)際情況自行確定

          建議等

          主鍵

          PK<_表名><_列名>


          索引

          IDX<_表名><_列名>


          ?

          2.4? 常用字段命名規(guī)范

          字段名

          數(shù)據(jù)類型

          字段說(shuō)明

          備注

          常用字段1

          常用類型1

          字段說(shuō)明1

          備注1

          字段命名需做到見(jiàn)名知其意,避免用中文拼音,或者拼音+英語(yǔ)的方式。

          可以參考企業(yè)現(xiàn)有業(yè)務(wù)數(shù)據(jù)庫(kù)的數(shù)據(jù)字典命名。

          2.5? 常用單位規(guī)范

          約定數(shù)據(jù)倉(cāng)庫(kù)中字段的默認(rèn)單位,比如車速默認(rèn)單位是KM/h。

          2.6? 數(shù)據(jù)庫(kù)對(duì)象命名注意事項(xiàng)

          • 命名盡量采用富有意義的英文詞匯,不準(zhǔn)采用漢語(yǔ)拼音。

          • XX……

          2.7? 數(shù)據(jù)倉(cāng)庫(kù)建表注意事項(xiàng)

          • 表名,列名等需要添加注釋,否則不予上線。

          • XX……。

          3?? 主機(jī)目錄及文件命名規(guī)范

          3.1? 用戶命名規(guī)范

          主機(jī)用戶名命名規(guī)范:

          序號(hào)

          主機(jī)用戶名

          賬號(hào)類型

          用途

          1

          hadoop

          應(yīng)用程序賬號(hào)

          hadoop集群管理用戶

          2

          ftp賬號(hào)

          3.2? 目錄規(guī)劃

          <根目錄>/<二級(jí)目錄>/[三級(jí)目錄/]<業(yè)務(wù)域>[/自定義]

          目錄規(guī)劃不做強(qiáng)制性的要求,但是要做到層次清晰、命名規(guī)范,見(jiàn)名知意。

          l? 根目錄

          ?? ?? 取值為:根據(jù)物理存儲(chǔ)掛載情況而定;

          l? 二級(jí)目錄

          ?? ?? 取值為:主機(jī)如果沒(méi)有文件系統(tǒng)掛載點(diǎn),則二級(jí)目錄為用戶家目錄,否則取值用戶名;

          l? 三級(jí)目錄

          取值為:用戶自行定義,如果存儲(chǔ)在用戶家目錄下則需要三級(jí)目錄;

          l? 業(yè)務(wù)域

          取值為:抽取的文件按業(yè)務(wù)類型進(jìn)行分類存儲(chǔ)。

          業(yè)務(wù)簡(jiǎn)稱

          說(shuō)明

          業(yè)務(wù)1

          說(shuō)明1

          業(yè)務(wù)2

          說(shuō)明2

          ?

          l? 自定義

          取值為:可選項(xiàng),如果文件存儲(chǔ)有其它要求,可根據(jù)實(shí)際情況靈活調(diào)整,如需要分省存放等。

          3.3? 文件命名規(guī)范

          <文件類型>_<主題域>_<數(shù)據(jù)周期>_<接口文件序號(hào)>.dat

          • 主題域

          主題域取值情況咱定為各項(xiàng)目名稱:

          • 數(shù)據(jù)周期

          取值為:周期日數(shù)據(jù)8位長(zhǎng)度,YYYYMMDD,月數(shù)據(jù)6位長(zhǎng)度YYYYMM;

          • 接口文件序號(hào)

          取值為:接口文件序號(hào)長(zhǎng)度為3,默認(rèn)從000開(kāi)始;

          3.4? 文件格式規(guī)范

          • 文件分隔符

          文件字段盡量不采用定長(zhǎng)分隔,采用“|”等特殊字符作為分隔符,另外在抽取文件時(shí)需要確定字段內(nèi)容中不會(huì)出現(xiàn)分隔符字符,以免錯(cuò)列;

          • 文件編碼

          文件編碼采用UTF-8。

          4?? 數(shù)據(jù)保存周期規(guī)范

          周期類型

          模型層次

          保留周期(HIVE)

          備注

          ODS

          365

          ……





          5?? 數(shù)據(jù)庫(kù)編程規(guī)范

          5.1? 參數(shù)和變量命名規(guī)范

          5.1.1 對(duì)象變量

          對(duì)象變量命名規(guī)則如下:

          • 命名規(guī)則:<對(duì)象類型><_><變量描述>

          • ......

          5.1.2 參數(shù)和對(duì)象命名注意事項(xiàng)

          • 所有名稱采用英文單數(shù)名詞或動(dòng)詞,避免出現(xiàn)復(fù)數(shù)。

          • 固定長(zhǎng)度的字符串類型采用char,長(zhǎng)度不固定的字符串采用varchar,一定要避免長(zhǎng)度不固定的情況下采用char。

          • 如無(wú)特殊需求,避免使用大字段(blob, clob, long, text, image 等)。

          • 命名使用英文單詞,避免使用拼音,特別不應(yīng)該使用拼音簡(jiǎn)寫。命名不允許使用中文或者特殊字符。

          • 命名中若使用特殊約定或縮寫,則必須要注釋說(shuō)明。

          • 使用有意義、易于記憶、描述性強(qiáng)、簡(jiǎn)短及唯一的英文單詞。自已特有的命名風(fēng)格,要自始自終保持一至,不可來(lái)回變化。

          • 對(duì)于變量命名,禁止取單個(gè)字符(如i、j… ),建議除了要有具體含義外,還能表明變量

          • 除非必要,不允許使用數(shù)字或較奇怪的字符來(lái)定義標(biāo)識(shí)符。

          5.2? 書寫規(guī)范

          5.2.1 代碼大小寫規(guī)范

          • 所有數(shù)據(jù)代碼統(tǒng)一使用小寫字母書寫,以方便不同數(shù)據(jù)庫(kù)之間的移植,同時(shí)也避免程序調(diào)用問(wèn)題。參數(shù)和局部變量,全局變量用大寫。

          • ……

          5.2.2 代碼縮進(jìn)規(guī)范

          • 程序塊采用縮進(jìn)風(fēng)格書寫,保證代碼清晰易讀,風(fēng)格一致。縮進(jìn)格數(shù)統(tǒng)一為 4 格。

          • 必須使用空格,禁止使用TAB鍵。

          • 同一條語(yǔ)句占用多于一行時(shí),每行的第一個(gè)關(guān)鍵字應(yīng)當(dāng)右對(duì)齊。

          • 對(duì)于Insert … values 和update 語(yǔ)句,一行寫一個(gè)字段,這段后面緊跟注釋(注釋語(yǔ)句左對(duì)齊),vales 和insert 左對(duì)齊,左括號(hào)和右括號(hào)與insert、values 左對(duì)齊

          • insert...select語(yǔ)句中,應(yīng)使每行的字段順序?qū)?yīng),以每行不超過(guò)80字符為準(zhǔn),以增強(qiáng)可讀性。

          5.2.3 空格及換行

          • 關(guān)鍵字之后要留空格。

          • 創(chuàng)建表、存儲(chǔ)過(guò)程、函數(shù)時(shí),表名、存儲(chǔ)過(guò)程名和函數(shù)名之后不要留空格。

          • 不允許把多個(gè)語(yǔ)句寫在一行中,即一行只寫一條語(yǔ)句。

          • 相對(duì)獨(dú)立的程序塊之間、變量說(shuō)明之后必須加空行。

          • 超過(guò)80字符的語(yǔ)句要分行書寫,長(zhǎng)表達(dá)式應(yīng)在低優(yōu)先級(jí)操作符處換行,操作符或關(guān)鍵字放在新行之首。劃分出的新行應(yīng)適當(dāng)?shù)乜s進(jìn),使排版整齊,語(yǔ)句可讀。

          • if后的條件要用括號(hào)括起來(lái),括號(hào)內(nèi)每行最多兩個(gè)條件。

          • 不同類型的操作符混合使用時(shí),建議使用括號(hào)進(jìn)行隔離,以使代碼清晰。

          • 減少控制語(yǔ)句的檢查次數(shù),如在else(if…else)控制語(yǔ)句中,對(duì)符合條件頻率高的盡量放到前面。

          • 盡量避免使用嵌套的if語(yǔ)句,在這種情況應(yīng)使用多個(gè)if語(yǔ)句來(lái)判斷其可能。

          5.2.4 其它

          • 避免使用select * 語(yǔ)句。

          • insert 語(yǔ)句必須給出字段列表,否則對(duì)后續(xù)表的擴(kuò)展回帶來(lái)維護(hù)上的麻煩。

          • 當(dāng)一個(gè)SQL 語(yǔ)句中涉及到多個(gè)表時(shí),必須使用別名來(lái)限定字段名,這使其它人閱讀起來(lái)更方便,避免了含議模糊的引用,其中能夠別名中清晰地判斷出表名。

          • 確保變量和參數(shù)在類型和長(zhǎng)度與表數(shù)據(jù)列類型和長(zhǎng)度相匹配。

          5.3? 注釋規(guī)范

          • 一般情況下,源程序有效注釋量不低于30%以上。說(shuō)明:注釋的原則是有助于程序閱讀理解,便于后期維護(hù),在該加的地方都加了,注釋不宜太多但也不能太少,注釋語(yǔ)言須準(zhǔn)確、易懂、簡(jiǎn)潔。

          • 所有變量定義需要加注釋,說(shuō)明該變量的用途和含義。

          • 注釋內(nèi)容要清晰明了,含義準(zhǔn)確,防止注釋二義性。

          • 禁止在注釋中使用縮寫,特別是非常用的縮寫。

          • 注釋與所描述代碼進(jìn)行同樣的縮排。

          • 對(duì)程序分支必須書寫注釋。

          • 保證代碼和注釋的一致性。修改代碼同時(shí)修改相應(yīng)的注釋,不再有用的注釋要同步刪除。

          • 注釋應(yīng)與其描述的代碼相似,對(duì)代碼注釋應(yīng)放在其上方或右方(單條語(yǔ)句的注釋)相應(yīng)的位置,不可放在下面。

          • 注釋上面的代碼應(yīng)空行隔開(kāi)。

          • 統(tǒng)一文件頭的注釋。

          • 在代碼的功能、意圖層次上進(jìn)行注釋,提供有用、額外的信息。

          • 函數(shù)應(yīng)對(duì)返回代碼詳細(xì)描述。

          • 盡量使用”#”進(jìn)行注釋。

          • 避免在一行代碼或表達(dá)式的中間插入注釋。

          • 所有硬編碼必須加注釋,如 id='0' 則需要優(yōu)先注釋 '0'的含義, 或者在注釋中說(shuō)明對(duì)應(yīng)的字典表。

          5.4? 語(yǔ)法規(guī)范

          所有DDL和DML語(yǔ)句盡量遵循標(biāo)準(zhǔn)SQL,以SQL99為基準(zhǔn)。

          說(shuō)明:采用標(biāo)準(zhǔn)SQL編寫,方便移植時(shí)各種數(shù)據(jù)庫(kù)之間做對(duì)應(yīng)修改。

          正例:

          delete from table1;

          反例:

          delete table1;

          數(shù)據(jù)類型采用基本數(shù)據(jù)類型,盡量不要使用某數(shù)據(jù)庫(kù)特有的類型

          說(shuō)明:采用基本數(shù)據(jù)類型,各種數(shù)據(jù)庫(kù)均支持,減少不同版本的維護(hù)。設(shè)計(jì)數(shù)據(jù)類型和長(zhǎng)度時(shí)要考慮應(yīng)用編程開(kāi)發(fā)的方便以及后續(xù)可維護(hù)性。

          • l對(duì)于特別復(fù)雜的sql(特別是多層嵌套,帶字句或相關(guān)的查詢),應(yīng)先考慮是否設(shè)計(jì)不當(dāng)引起,對(duì)復(fù)雜的sql可以通過(guò)程序?qū)崿F(xiàn),原則上遵循一句話只做一件事情,避免多重嵌套SQL的使用。必要時(shí)采用中間表。

          • 對(duì)于超過(guò)2個(gè)以上的大表關(guān)聯(lián),必須進(jìn)行執(zhí)行計(jì)劃驗(yàn)證,并在設(shè)計(jì)中有所體現(xiàn)。

          • 不要將空的變量值直接與比較運(yùn)算符比較。如果變量可能為空,應(yīng)該使用is null或is not null來(lái)進(jìn)行比較。

          • 每個(gè)程序過(guò)程生成的目標(biāo)數(shù)據(jù)表不允許出現(xiàn)空值。

          • 盡可能地使用相關(guān)表字段的類型定義,如%type,%rowtype等。

          • 對(duì)數(shù)據(jù)庫(kù)腳本代碼中所定義的變量要進(jìn)行初始化。\

          • ?……

          5.5? 程序結(jié)構(gòu)

          5.5.1 程序結(jié)構(gòu)模板

          定義一個(gè)模板供大家參考!


          5.5.2 程序代碼


          5.5.2.1??? 程序代碼規(guī)范

          • 程序代碼段左側(cè)要留有1個(gè)縮進(jìn)(4個(gè)空格)。

          • 除特殊程序(如空調(diào)度、日志程序等)外,程序開(kāi)始、程序結(jié)束、程序出錯(cuò)時(shí)都要記錄日志,日志記錄使用公用的函數(shù)或存儲(chǔ)過(guò)程,具體使用方法參見(jiàn)后面日志內(nèi)容。

          • 關(guān)鍵字要換行輸寫,不同行關(guān)鍵字要右對(duì)齊。

          • 對(duì)于內(nèi)容超過(guò)一行的代碼,換行時(shí)要有一個(gè)縮進(jìn),并注意對(duì)齊以保證美觀。

          • 每個(gè)字段后面都要有字段說(shuō)明(字段描述、值內(nèi)容、單位等),字段說(shuō)明要對(duì)齊。

          • 字段說(shuō)明內(nèi)容可以換行,但同樣要與上行字段說(shuō)明內(nèi)容對(duì)齊。

          • 對(duì)于比較簡(jiǎn)單的SQL語(yǔ)句,也可根據(jù)實(shí)際情況寫在一行或幾行中,但多行的要注意縮進(jìn),并且要注意美觀性。

          • 對(duì)于insert字段數(shù)量比較多的語(yǔ)句,對(duì)應(yīng)的select中的字段盡可能定義別名,別名要與insert中字段名相同,這樣很容易找到字段的對(duì)應(yīng)關(guān)系。

          • 對(duì)于多層嵌套,一定要注意各層嵌套的縮進(jìn)層次,才能保證代碼良好的可讀性,否則代碼將非常難讀。

          • 關(guān)鍵字、保留字之間必須留有空格。

          • ……

          5.5.2.2??? 程序代碼示例

          XXXX


          5.5.3 程序日志

          5.5.3.1??? 日志分類

          程序日志分為兩種:

          • 一種是記錄程序運(yùn)行狀態(tài)情況,一個(gè)程序運(yùn)行一次只記錄一條日志,包括程序名稱、目標(biāo)表名、統(tǒng)計(jì)時(shí)間、程序運(yùn)行開(kāi)始和結(jié)束時(shí)間、運(yùn)行狀態(tài)、出錯(cuò)位置和出錯(cuò)信息等,用于簡(jiǎn)單查詢程序運(yùn)行情況,以及以后可能的日志監(jiān)控。

          • 一種是記錄程序運(yùn)行過(guò)程情況,一次程序運(yùn)行會(huì)記錄多條日志,每條日志記錄程序中不同階段的運(yùn)行狀況,用于跟蹤程序中各階段的運(yùn)行狀況。與單條日志記錄相比,時(shí)間上只記錄運(yùn)行開(kāi)始時(shí)間即可。

          5.5.3.2??? 日志記錄

          考慮如何記錄程序日志,制定日志規(guī)范!


          5.6? 分區(qū)管理規(guī)范

          • 分區(qū)表的分區(qū)增加、分區(qū)刪除操作,統(tǒng)一由分區(qū)控制程序完成,應(yīng)用數(shù)據(jù)處理程序中不允許包含增加、刪除分區(qū)的操作;分區(qū)表清空分區(qū)的操作,應(yīng)在應(yīng)用數(shù)據(jù)處理程序中進(jìn)行,這樣可以避免因?yàn)槌绦蚨啻芜\(yùn)行導(dǎo)致的數(shù)據(jù)重復(fù)。

          • 保留多個(gè)周期數(shù)據(jù)的表必須建立分區(qū),分區(qū)鍵可以根據(jù)業(yè)務(wù)需要和數(shù)據(jù)大小分為日、月、年,這樣即可以避免因?yàn)楸碓絹?lái)越大導(dǎo)致程序運(yùn)行速度越來(lái)越慢,又解決分區(qū)太多浪費(fèi)空間。全量替換的數(shù)據(jù)表(如維表、臨時(shí)表)可以不建立分區(qū)。

          • 日分區(qū)表禁止保留月底最后一天數(shù)據(jù),如果要用到月底最后一天數(shù)據(jù),需要單獨(dú)建立月表保存。

          ?

          6?? JAVA編碼規(guī)范

          6.1? 避免引發(fā)錯(cuò)誤的編寫規(guī)范

          • 使用字符串的equals方法比較判斷時(shí),如有常量字符串,一定要養(yǎng)成常量在前,變量在后的編寫習(xí)慣。

          • 養(yǎng)成這種編碼習(xí)慣能夠有效減少當(dāng)比較的變量是null時(shí)發(fā)生空指針的錯(cuò)誤

          • 在finally中執(zhí)行關(guān)閉操作,能夠確保出現(xiàn)異常時(shí)數(shù)據(jù)庫(kù)連接、IO讀寫句柄被正常關(guān)閉。

          • ……

          6.2? 編程注意事項(xiàng)說(shuō)明

          • 明確方法功能,精確(不是近似)地實(shí)現(xiàn)方法的設(shè)計(jì)。一個(gè)方法僅完成一件功能,即時(shí)簡(jiǎn)單功能也應(yīng)該編寫方法實(shí)現(xiàn)。

          • 異常捕獲后,如果不對(duì)改異常進(jìn)行處理,則應(yīng)該記錄日志或使用。

          • 如果是自己拋出的異常,則必須要填寫詳細(xì)的異常描述信息,這樣才能方便。

          • 判斷時(shí)要注意運(yùn)算符的優(yōu)先級(jí),并用括號(hào)明確表達(dá)式的操作順序,避免使用默認(rèn)的優(yōu)先級(jí)。

          • 不要在循環(huán)體內(nèi)定義變量。

          • ……

          6.3? 程序排版及注釋規(guī)范

          6.3.1 程序排版

          • 程序塊要采用縮進(jìn)風(fēng)格編寫,縮進(jìn)的空格數(shù)為4個(gè)。

          • ……

          6.3.2 程序注釋

          • 一般情況下,源程序的有效注釋量必須在30%以上。

          • 類或者接口的注釋需要包含其功能描述、使用方法、注意事項(xiàng)、作者、始于那個(gè)版本。

          • ……

          7?? shell編碼規(guī)范

          7.1? shell編程案例

          ?制定程序案例,供大家參考


          8? ?完整的規(guī)范文檔結(jié)構(gòu)


          更多閱讀



          5分鐘掌握在 Cython 中使用 C++


          5 分鐘掌握 Python 中常見(jiàn)的配置文件


          5 分鐘掌握 Python 中的 Hook 鉤子函數(shù)

          特別推薦


          程序員摸魚指南


          為你精選的硅谷極客資訊,
          來(lái)自FLAG巨頭開(kāi)發(fā)者、技術(shù)、創(chuàng)投一手消息




          點(diǎn)擊下方閱讀原文加入社區(qū)會(huì)員

          瀏覽 51
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷伊人綜合中文字幕 | 波多野结衣视频网页 | 久色国产| 黄色美女特极A毛片 | 蜜桃视频ht19.vp |