diff options
author | Gerald Carter <jerry@samba.org> | 2007-06-27 18:28:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:23:39 -0500 |
commit | 44b33a041167be719acf53f70f2ad9cba8dee5e2 (patch) | |
tree | f99cb05a2385aef1c4a542e75937e16fbbb504ad | |
parent | 255b807802f627451835c1525dd7dfee869833ee (diff) | |
download | samba-44b33a041167be719acf53f70f2ad9cba8dee5e2.tar.gz samba-44b33a041167be719acf53f70f2ad9cba8dee5e2.tar.bz2 samba-44b33a041167be719acf53f70f2ad9cba8dee5e2.zip |
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)
-rw-r--r-- | README.Coding | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/README.Coding b/README.Coding new file mode 100644 index 0000000000..60ea1c6f1f --- /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 <fumiyas@osstech.jp> 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. + + |