两位开发人员如何在相同的C ++代码库上工作,以便他们可以透明地工作? C ++代码是否有任何常见的缩进样式,一旦建立,两个开发人员可以生成具有相同缩进级别的代码。
我发现Emacs对于缩进非常具有侵略性,它试图强迫它,而Vi非常宽容。但是emacs样式(混合标签和空格)对Vim来说并不是那么友好。
答案 0 :(得分:11)
让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)
答案 1 :(得分:7)
当我管理一个小团队时我做了什么,我使用了一个叫做BSD程序“缩进”的签到钩子,它强制每个人的代码都采用相同的缩进方式。见Enforcing a coding style