C 書寫規範 3

2022-02-03 16:44:05 字數 1830 閱讀 1190

(網上整理,感謝原作者)

五、異常處理

異常處理的原則

在應用程式級(執行緒級)錯誤處理器中處理所有的一般異常。遇到「意外的一般性錯誤」時,此刻錯誤處理器應該捕捉異常,給使用者提示訊息,在應用程式關閉或使用者選擇「忽略並繼續」之前記錄錯誤資訊。

不必每個方法都用try-catch,當特定的異常可能發生時才使用。比如,當寫檔案時,處理異常fileioexception。

別寫太大的 try-catch 模組。如果需要,為每個執行的任務編寫單獨的 try-catch 模組。這將有助於找出哪一段**產生異常,並給使用者發出特定的錯誤訊息。

在開發階段,不必在所有方法中捕捉一般異常。刻意的放縱異常,將幫助在開發周期發現大多數的錯誤。

異常處理的提示

不要捕捉了異常卻什麼也不做,看起來系統似乎在正常執行。如果這樣隱藏了乙個異常,將永遠不知道異常到底是否發生,為什麼發生。

發生異常時,給出友好的訊息給使用者。但要精確記錄錯誤的所有可能細節,包括發生的時間,和相關方法,類名等。

永遠別用像「應用程式出錯」,「發現乙個錯誤」等錯誤提示訊息,而應給出類似「更新資料庫失敗,請確保登陸id和密碼正確。」之類的具體訊息。

顯示錯誤訊息時,還應提示使用者如何解決問題。如:「更新資料庫失敗,請確保登陸id和密碼正確。」,而不是僅僅說「更新資料庫失敗」。

顯示給使用者的訊息要簡短而友好。但要把所有可能的資訊都記錄下來,以助診斷問題。

異常處理的**例項

void readfromfile ( string filename )

catch (fileioexception ex)

}void readfromfile ( string filename )

catch (exception ex)

}六、物件例項的申請與釋放

.net平台的垃圾**機制,可以自動的dispose不再引用的物件例項,所以很多開發人員並不主動釋放申請的物件資源。事實上,在物件的生命週期結束之前是不會被釋放的。

但是,很多時候當物件處於生命週期之內時,我們不再使用它,以便釋放資源提公升系統效率。因此,主動釋放申請的資源顯得很有必要。

永遠不要把力所能及的事情交給作業系統,及時釋放不再使用的資源是乙個好習慣。

七、資料庫訪問

資料庫訪問永遠是系統的瓶頸,選擇高效、穩健的資料庫訪問模式是產品效能的基礎保證。

永遠不要假設你的應用系統構建與某個資料庫之上,因此必須有統一的、透明的資料庫訪問機制。

採用ado.net訪問資料庫。基於效率和穩定性的考量,採用微軟平台原生的資料庫訪問模式ado.net。使用ado.net可以通過oledb和odbc兩種模式訪問資料庫,我們建議使用資料庫廠商提供的oledb模式,這種模式繞過了odbc,使得資料庫的游標效能大大提公升,效率更佳。

不使用第三方的資料持久層。使用類似於nhibernate之類的第三方資料持久層工具雖然可以提高開發的效率,但是卻降低了系統的效能和彈性。效能對於產品而言,遠遠比開發效率重要的多,況且基於vs2005的開發,效率不是問題。請記住:第三方的工具永遠不能成為你的產品核心技術;資料訪問機制是系統的效率瓶頸,對

使用自主產權的資料物件。直接採用ado.net封裝最底層的資料訪問方法:插入、刪除和更新,以及事務管理等;客戶端和伺服器端採用相同的資料訪問機制,並設立連線緩衝池提公升資料訪問效率。

八、分布式事務管理

對於多層分布式應用而言,資料庫事務呈現出「遠端、分布」的特色,導致事務難以管理。

對於ado.net而言,事務繫結了資料庫連線,因此必須在資料訪問物件中對每乙個資料庫連線管理各自的事務或巢狀事務。如果要訪問資料庫,伺服器上的資料訪問物件將自動分配乙個特定的連線,根據該連線id執行資料操作;無論該事務分布於多少個遠端客戶端程序,伺服器資料物件只需要鎖定連線id即可輕鬆進行事務管理。

C 書寫規範 2

網上整理,感謝原作者 三 資料庫設計規範 一 分類與命名 1 資料表的分類 系統表 支撐業務模型的資料表,如流程模型 系統管理相關表。業務表 產品提供的針對業務的通用功能模組相關表,如通用業務查詢等。使用者表 使用者二次開發使用的與具體業務相關的資料表。2 資料表的命名 所有 命名一律以字母 t 開...

CSS 書寫規範

本文是參考了css森林中的規範,並結合之前幾個專案積累所書寫的乙個基本規範。不敢說是原創,所以鄭重感謝一下css森林。同時,本文件也處於持續改進中。1.基本 css檔案中,選擇器書寫按照 標籤 標籤偽類 id 類 覆蓋 排序,同一型別寫在一起 進行覆蓋時,也按照這樣乙個順序。css定義中,屬性的書寫...

oracle sql書寫規範

一 書寫規範 1 sql編寫時,大小寫一致 2 關鍵字單佔一行,如select from where and group by order by等 3 注意行縮排和對齊,建議語句中的關鍵字右對齊 4 使用空格,sql語句內的算術運算子 邏輯運算子 and or not 比較運算子 between a...