Description: ACE Software Development Guidelines
General
Every text file must end with a newline.
Use spaces instead of tabs, except in Makefiles. Emacs users can add this to their .emacs:
(setq-default indent-tabs-mode nil)
Microsoft Visual C++ users should do the following:
Choose: Tools-- Options-- Tabs
Then Set: "Tab size" to 8 and "Indent size" to 2, and
indent using spaces.
Do not end text lines with spaces. Emacs users can add this to their .emacs:
(setq-default nuke-trailing-whitespace-p t)
Newer versions of emacs will require the following instead:
(add-hook before-save-hook delete-trailing-whitespace)
Note for Microsoft Visual Studio .NET Users:
There is a macro project (ace_guidelines.vsmacros) located in $ACE_ROOT/docs that replaces tabs with spaces and removes trailing spaces each time you save a file.
File list (Check if you may need any files):
ACE_wrappers\ACE_vc9.sln
............\ACE_vc8.sln
............\ACE_wrappers_vc9.sln
............\ACE_wrappers_vc8.sln
............\ACE_wrappers_vc10.sln
............\ACE_vc10.sln
............\ace\ace_vc10.sln
............\...\ace_vc9.sln
............\...\ace_vc8.sln
............\...\ACE_vc8.vcproj
............\...\ACE_vc9.vcproj
............\...\Monitor_Control\Monitor_Control_vc10.sln
............\...\...............\Monitor_Control_vc9.vcproj
............\...\...............\Monitor_Control.vsd
............\...\...............\Monitor_Control_vc8.sln
............\...\...............\Monitor_Control_vc8.vcproj
............\...\...............\Monitor_Control_vc9.sln
............\...\QoS\QoS_vc8.vcproj
............\...\...\QoS_vc8.sln
............\...\...\QoS_vc10.sln
............\...\...\QoS_vc9.vcproj
............\...\...\QoS_vc9.sln
............\...\ETCL\ACE_ETCL_vc9.vcproj
............\...\....\ETCL_vc9.sln
............\...\....\ETCL_vc8.sln
............\...\....\ACE_ETCL_Parser_vc8.vcproj
............\...\....\ACE_ETCL_Parser_vc9.vcproj
............\...\....\ETCL_vc10.sln
............\...\....\ACE_ETCL_vc8.vcproj
............\ASNMP\ASNMP_vc9.sln
............\.....\ASNMP_vc10.sln
............\.....\ASNMP_vc8.sln
............\.....\agent\asnmp_agent_vc9.vcproj
............\.....\.....\agent_vc8.sln
............\.....\.....\agent_vc10.sln
............\.....\.....\agent_vc9.sln
............\.....\.....\asnmp_agent_vc8.vcproj
............\.....\.snmp\asnmp_lib_vc9.vcproj
............\.....\.....\asnmp_lib_vc8.vcproj
............\.....\.....\asnmp_vc9.sln
............\.....\.....\asnmp_vc10.sln
............\.....\.....\asnmp_vc8.sln
............\.....\tests\tests_vc10.sln
............\.....\.....\asnmp_tests_Counter_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Octet_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Counter_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Varbind_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Varbind_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Gauge_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Target_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Gauge_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Oid_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Oid_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Integer_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Counter64_Test_vc8.vcproj
............\.....\.....\tests_vc9.sln
............\.....\.....\asnmp_tests_Integer_Test_vc9.vcproj
............\.....\.....\tests_vc8.sln
............\.....\.....\asnmp_tests_Address_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Octet_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Address_Test_vc8.vcproj
............\.....\.....\asnmp_tests_Counter64_Test_vc9.vcproj
............\.....\.....\asnmp_tests_Target_Test_vc8.vcproj
............\.....\examples\examples_vc9.sln
............\.....\........\examples_vc8.sln
............\.....\........\examples_vc10.sln
............\.....\........\get\get_vc8.sln
............\.....\........\...\get_vc10.sln
............\.....\........\...\asnmp_example_get_async_vc8.vcproj
............\.....\........\...\get_vc9.sln
............\.....\........\...\asnmp_example_get_vc8.vcproj
............\.....\........\...\asnmp_example_get_vc9.vcproj
............\.....\........\...\asnmp_example_get_async_vc9.vcproj
............\.....\........\trap\trap_vc8.sln
............\.....\........\....\trap_vc10.sln
............\.....\........\....\trap_vc9.sln
............\.....\........\....\asnmp_example_trap_vc8.vcproj
............\.....\........\....\asnmp_example_trap_vc9.vcproj
............\.....\........\next\next_vc10.sln
............\.....\........\....\next_vc9.sln
............\.....\........\....\asnmp_example_next_vc8.vcproj
............\.....\........\....\next_vc8.sln
............\.....\........\....\asnmp_example_next_vc9.vcproj
............\.....\........\set\asnmp_example_set_vc8.vcproj
............\.....\........\...\set_vc10.sln
............\.....\........\...\asnmp_example_set_vc9.vcproj
............