CodingStyle
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. The discussion about coding style on the net-snmp-coders mailing list
  2. can be found at the following web address:
  3.   http://www.geocrawler.com/mail/thread.php3?subject=design+proposal+-+coding+style&list=6845
  4. ----------------------------------------------------------------------
  5. Indentation: 
  6. We've adopted the following indent style:
  7.    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
  8. [wow, what an annoying list!  The above -T list can be (re)generated by
  9. running:
  10.   perl -n -e 'print "-T $1 " if (/}s*(netsnmp_w+)s*;/);' */*.h
  11. in the include/net-snmp directory]
  12. If possible, please run all new code submitted to the project through
  13. the above command.  However, if sending a patch, please do *not* send
  14. a patch that reformats the entire file.  Just the new sections of code
  15. should be in the above style to make it easier for us to dissect what
  16. you did in your patch.
  17. Briefly, here's a description of the style:
  18. Blank lines:
  19. after procedures
  20. not (forced) after blocks of declarations or block comments
  21. multiple declarations not split onto separate lines
  22. Comments:
  23. Block comments indented 4 spaces from surrounding code
  24. Start/End on separate lines
  25. Solid '*' on the left of block comments
  26. "One-line" comments start in column 33
  27. Bracing/Indent/etc:
  28. K&R-style bracing (including "cuddle-else")
  29. 'case' statements in line with 'switch'
  30. No space between procedure name and opening parenthesis
  31. variable declarations lined up, and start in column 16
  32. Procedure return type on a separate line to the procedure name
  33. Four character basic and continuation line indent
  34.                 No tabs used in the file, always use 8 spaces instead.
  35. Continuation paramters lined up with opening parenthesis
  36. ----------------------------------------------------------------------
  37. Function names and Variable names:
  38. should_be_like_this and notLikeThis
  39. ----------------------------------------------------------------------
  40. Structures:
  41. We have decided to typedef all structures into names using the
  42. following convention:
  43. typedef struct netsnmp_wombat_s {
  44.   int something_cool;
  45. } netsnmp_wombat;
  46. The important things to note here are that the struct name ends in a
  47. "_s", the typedef name doesn't end in "_t", and the typedef is not to a
  48. pointer and everything begins with "netsnmp_".