Chapter 43. PostgreSQL 原始碼

Table of Contents
43.1. 格式
43.2. 報告伺服器裡的錯誤
43.3. 錯誤消息風格教學
43.3.1. 何去何從
43.3.2. 格式化
43.3.3. 引號
43.3.4. 使用引號
43.3.5. 語法和標點
43.3.6. 大寫字元與小寫字元比較
43.3.7. 避免被動語氣
43.3.8. 現代時與過去時的比較
43.3.9. 對像類型
43.3.10. 方括弧
43.3.11. 組裝錯誤訊息
43.3.12. 錯誤的原因
43.3.13. 函數名
43.3.14. 盡量避免的字眼
43.3.15. 正確地拼寫
43.3.16. 本地化

43.1. 格式

代碼格式使用每個製資料表符(tab)4列的空白, 目前是保留製資料表符狀態(也就是說製資料表符不被展開為空白)。 每個邏輯縮進層次都是更多的一個 tab。佈局規則(花括弧定位等)遵循 BSD 傳統。

雖然提交的補丁並不需要我那全遵循這些格式化規則,我們最好還是這麼做。 您的代碼將會被 pgindent 處理,雖然這樣做不會讓它看起來比其它的格式化習慣更好看。

對於使用 Emacs 的人,把下面行(或者類似的東西)增加到您的 ~/.emacs 初始化文件裡面去:

;; check for files with a path containing "postgres" or "pgsql"
(setq auto-mode-alist
	(cons '("\\(postgres\\|pgsql\\).*\\.[ch]\\'" . pgsql-c-mode)
		auto-mode-alist))
(setq auto-mode-alist
	(cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode)
		auto-mode-alist))

(defun pgsql-c-mode ()
  ;; sets up formatting for PostgreSQL C code
  (interactive)
  (c-mode)
  (setq-default tab-width 4)
  (c-set-style "bsd")             ; set c-basic-offset to 4, plus other stuff
  (c-set-offset 'case-label '+)   ; tweak case indent to match PG custom
  (setq indent-tabs-mode t))      ; make sure we keep tabs when indenting

對於 vi,您的 ~/.vimrc 或者相當的文件應該包含下面的東西:

set tabstop=4

或者在 vi 裡面鍵入

:set ts=4

文本瀏覽工具 moreless 可以用下面命令調用

more -x4
less -x4

這樣就可以讓他們正確顯示 tab 鍵。