diff options
Diffstat (limited to 'CodingStyle')
-rw-r--r-- | CodingStyle | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/CodingStyle b/CodingStyle new file mode 100644 index 0000000..cb773be --- /dev/null +++ b/CodingStyle @@ -0,0 +1,69 @@ +The discussion about coding style on the net-snmp-coders mailing list +can be found at the following web address: + + http://sourceforge.net/mailarchive/message.php?msg_id=1009885 + (Thread "design proposal - coding style" started on 2001-02-08) + +---------------------------------------------------------------------- +Indentation: + +We've adopted the following indent style: + + indent -orig -nbc -bap -nut -nfca -T netsnmp_mib_handler -T netsnmp_handler_registration -T netsnmp_handler_args -T netsnmp_delegated_cache -T netsnmp_baby_steps_modes -T netsnmp_baby_steps_access_methods -T netsnmp_mode_handler_list -T netsnmp_mib_handler_methods -T netsnmp_monitor_callback_header -T netsnmp_monitor_set_request_data -T netsnmp_monitor_callback_cooperative -T netsnmp_old_api_info -T netsnmp_old_api_cache -T netsnmp_row_merge_status -T netsnmp_scalar_group -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_stash_cache_info -T netsnmp_stash_cache_data -T netsnmp_request_group_item -T netsnmp_request_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_tdata_row -T netsnmp_tdata -T netsnmp_subtree -T netsnmp_watcher_info -T netsnmp_arp_entry -T netsnmp_interface_stats -T netsnmp_interface_entry -T netsnmp_conf_if_list -T netsnmp_ipaddress_entry -T netsnmp_ipstats -T netsnmp_route_entry -T netsnmp_systemstats_entry -T netsnmp_tcpconn_entry -T netsnmp_udp_endpoint_entry -T netsnmp_container -T netsnmp_iterator -T netsnmp_data_list -T netsnmp_data_list_saveinfo -T netsnmp_factory -T netsnmp_file -T netsnmp_oid_stash_node -T netsnmp_oid_stash_save_info -T netsnmp_pdu -T netsnmp_request_list -T netsnmp_vardata -T netsnmp_callback_pass -T netsnmp_callback_info -T netsnmp_token_descr -T netsnmp_std_data -T netsnmp_transport -T netsnmp_transport_list -T netsnmp_tdomain -T netsnmp_line_info -T netsnmp_line_process_info -T netsnmp_token_value_index + +[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 parameters lined up with opening parenthesis + +---------------------------------------------------------------------- +Function names and Variable names: + +should_be_like_this and notLikeThis + +New public functions and defines should ideally start with a netsnmp_ +or NETSNMP_ prefix, respectively. + +---------------------------------------------------------------------- +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_". + |