From: Gerald Carter Date: Wed, 27 Jun 2007 18:28:18 +0000 (+0000) Subject: r23636: Adding coding style guide for Samba 3.0 branches (no differences from Tridge... X-Git-Url: http://git.samba.org/samba.git/?p=kai%2Fsamba.git;a=commitdiff_plain;h=44b33a041167be719acf53f70f2ad9cba8dee5e2 r23636: Adding coding style guide for Samba 3.0 branches (no differences from Tridge's prog_guide.txt so we should have a similar style throughout the project) (This used to be commit ff1c2fdc08f6198bad1bf9f5bae8dc6bc5fb534a) --- diff --git a/README.Coding b/README.Coding new file mode 100644 index 00000000000..60ea1c6f1fc --- /dev/null +++ b/README.Coding @@ -0,0 +1,87 @@ +## +## Coding conventions in the Samba 3.0 tree +## + +=========== +Quick Start +=========== + +Coding style guidelines are about reducing the number of unnecessary +reformatting patches and making things easier developers to work together. +You don't have to like them or even agree with them, but once put in place +we all have to abide by them (or vote to change them). However, coding +style should never outweigh coding itself and so the the guidelines +described here are hopefully easier enough to follow as they are very +common and supported by tools and editors. + +The basic style, also mentioned in the SAMBA_4_0/prog_guide.txt is the +Linux kernel coding style (See Documentation/CodingStyle in the kernel +source tree). The closely matches what most Samba developers use already +anyways. + +But to save you the trouble of reading the Linux kernel style guide, here +are the highlights. + + +* Maximum Line Width is 80 Characters + The reason is not for people with low-res screens but rather sticking + to 80 columns prevents you from easily nesting more than one level of + if statements or other code blocks. Use source/script/count_80_col.pl + to check your changes. + +* Use 8 Space Tabs to Indent + No whitespace filler. + +* No Trailing Whitespace + Use source/script/strip_trail_ws.pl to clean you files before committing. + +* Follow the K&R guidelines. We won't go throw them all here. You have + a copy of "The C Programming Language" anyways right? You can also use + the format_indent.sh script found in source/script/ if all else fails. + + + +============ +Editor Hints +============ + +Emacs +----- +Add the follow to your $HOME/.emacs file: + + (add-hook 'c-mode-hook + (lambda () + (c-set-style "linux") + (c-toggle-auto-state))) + + +Vi +-- +(Thanks to SATOH Fumiyasu for these hints): + +For the basic vi eitor including with all variants of *nix, add the +following to $HOME/.exrc: + + set tabstop=8 + set shiftwidth=8 + +For Vim, the following settings in $HOME/.vimrc will also deal with +disaplaying trailing whitespace: + + if has("syntax") && (&t_Co > 2 || has("gui_running")) + syntax on + function! ActivateInvisibleCharIndicator() + syntax match TrailingSpace "[ \t]\+$" display containedin=ALL + highlight TrailingSpace ctermbg=Red + endf + autocmd BufNewFile,BufRead * call ActivateInvisibleCharIndicator() + endif + + +=================== +Statement Reference +=================== + +To be filled later in as needed. + +