summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2007-06-27 18:28:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:39 -0500
commit44b33a041167be719acf53f70f2ad9cba8dee5e2 (patch)
treef99cb05a2385aef1c4a542e75937e16fbbb504ad
parent255b807802f627451835c1525dd7dfee869833ee (diff)
downloadsamba-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.Coding87
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.
+
+