CodingStyle
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
- The discussion about coding style on the net-snmp-coders mailing list
- can be found at the following web address:
- http://www.geocrawler.com/mail/thread.php3?subject=design+proposal+-+coding+style&list=6845
- ----------------------------------------------------------------------
- Indentation:
- We've adopted the following indent style:
- indent -orig -nbc -bap -nut -nfca -T netsnmp_mib_handler -T netsnmp_handler_registration -T netsnmp_delegated_cache -T netsnmp_mib_handler_methods -T netsnmp_old_api_info -T netsnmp_old_api_cache -T netsnmp_set_info -T netsnmp_request_info -T netsnmp_set_info -T netsnmp_tree_cache -T netsnmp_agent_request_info -T netsnmp_cachemap -T netsnmp_agent_session -T netsnmp_array_group_item -T netsnmp_array_group -T netsnmp_table_array_callbacks -T netsnmp_table_row -T netsnmp_table_data -T netsnmp_table_data_set_storage -T netsnmp_table_data_set -T netsnmp_column_info -T netsnmp_table_registration_info -T netsnmp_table_request_info -T netsnmp_iterator_info -T netsnmp_data_list -T netsnmp_oid_array_header -T netsnmp_oid_array_header_wrapper -T netsnmp_oid_stash_node -T netsnmp_pdu -T netsnmp_request_list -T netsnmp_callback_pass -T netsnmp_callback_info -T netsnmp_transport -T netsnmp_transport_list -T netsnmp_tdomain
- [wow, what an annoying list! The above -T list can be (re)generated by
- running:
- perl -n -e 'print "-T $1 " if (/}s*(netsnmp_w+)s*;/);' */*.h
- in the include/net-snmp directory]
- If possible, please run all new code submitted to the project through
- the above command. However, if sending a patch, please do *not* send
- a patch that reformats the entire file. Just the new sections of code
- should be in the above style to make it easier for us to dissect what
- you did in your patch.
- Briefly, here's a description of the style:
- Blank lines:
- after procedures
- not (forced) after blocks of declarations or block comments
- multiple declarations not split onto separate lines
- Comments:
- Block comments indented 4 spaces from surrounding code
- Start/End on separate lines
- Solid '*' on the left of block comments
- "One-line" comments start in column 33
- Bracing/Indent/etc:
- K&R-style bracing (including "cuddle-else")
- 'case' statements in line with 'switch'
- No space between procedure name and opening parenthesis
- variable declarations lined up, and start in column 16
- Procedure return type on a separate line to the procedure name
- Four character basic and continuation line indent
- No tabs used in the file, always use 8 spaces instead.
- Continuation paramters lined up with opening parenthesis
- ----------------------------------------------------------------------
- Function names and Variable names:
- should_be_like_this and notLikeThis
- ----------------------------------------------------------------------
- Structures:
- We have decided to typedef all structures into names using the
- following convention:
- typedef struct netsnmp_wombat_s {
- int something_cool;
- } netsnmp_wombat;
- The important things to note here are that the struct name ends in a
- "_s", the typedef name doesn't end in "_t", and the typedef is not to a
- pointer and everything begins with "netsnmp_".