两个开发者如何在同一个C++代码库上透明地合作?是否有常见的C++代码缩进风格,使得一旦建立,两个开发者可以产生相同缩进级别的代码。
我发现Emacs对缩进非常强硬,它试图强制其方式,而Vi则比较宽容。但是Emacs的风格(混合制表符和空格)对Vim来说并不友好。
两个开发者如何在同一个C++代码库上透明地合作?是否有常见的C++代码缩进风格,使得一旦建立,两个开发者可以产生相同缩进级别的代码。
我发现Emacs对缩进非常强硬,它试图强制其方式,而Vi则比较宽容。但是Emacs的风格(混合制表符和空格)对Vim来说并不友好。
让 Emacs 按照你的意愿操作。
从我的 ~/.emacs 文件中:
(defun my-c-mode-common-hook ()
(local-set-key "\C-h" 'backward-delete-char)
;; this will make sure spaces are used instead of tabs
(setq tab-width 4 indent-tabs-mode nil)
(setq indent-tabs-mode 'nil)
(setq c-basic-offset 4)
(c-set-offset 'substatement-open 0)
(c-set-offset 'statement-case-open 0)
(c-set-offset 'case-label 0)
(c-set-offset 'brace-list-open 0)
)
(add-hook 'c-mode-hook 'my-c-mode-common-hook)
(add-hook 'c++-mode-hook 'my-c-mode-common-hook)
(add-hook 'perl-mode-hook 'my-c-mode-common-hook)
(add-hook 'cperl-mode-hook 'my-c-mode-common-hook)
(add-hook 'emacs-lisp-mode-hook 'my-c-mode-common-hook)
(add-hook 'nroff-mode-hook 'my-c-mode-common-hook)
(add-hook 'tcl-mode-hook 'my-c-mode-common-hook)
(add-hook 'makefile-mode-hook 'my-c-mode-common-hook)
我管理小团队时的做法是使用一个检查钩子,调用BSD程序“indent”,这将强制每个人的代码使用相同的缩进风格。详情请见强制执行编码风格