X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7def8a1471cff759a06b836d283a39cbd0f0864f..4ebc53f4ea63c0ec84680e5484ad9c9a81c85ff3:/README.coding diff --git a/README.coding b/README.coding index 52c72c3155..c2fd8fbfbe 100644 --- a/README.coding +++ b/README.coding @@ -14,14 +14,41 @@ should leverage our tesh(1) utility. ** -** Type naming standard +** NEW type naming standard in SimGrid4 ** ***************************************************** -It may sound strange, but the type naming convention was source of intense -discussion between da SimGrid posse members. The convention we came to may not -be the best solution, but it has the merit to exist and leave everyone work. -So please stick to it. +SimGrid4 will follow the these rules: + + - filenames are unique in the whole project + (because of a bug in Sonar coverage computation) + C++ + - fields, methods and variables are in snake_case() + - Classes and Enum names are in UpperCamelCase + - Enum values are in UPPER_SNAKE_CASE (as constants) + - public filenames: api_Class.cpp and api/Class.hpp. + - Example: src/s4u/s4u_ConditionVariable.cpp and + include/simgrid/s4u/ConditionVariable.hpp + - If you prefer api_class.cpp, that's OK, too. Breath and relax. + Example: src/s4u/s4u_actor.cpp and include/simgrid/s4u/Actor.hpp + - internal/kernel filenames: Class.cpp and Class.hpp + - Example: src/kernel/activity/Activity.cpp + include/simgrid/activity/Activity.hpp + C + - variables and functions are in snake_case() + - typedefs do not hide the pointers, ie * must be explicit + char * sg_host_get_name(sg_host_t * host); + + +This is different from the old convention (described below), that +should not be used in S4U and its bindings, nor in the kernel. + +** +** OLD Type naming standard in SimGrid3 +** +***************************************************** + +SimGrid3 legacy interfaces (ie, MSG and SimDag) are following these rules: - ???_t is a valid type (built with typedef) - s_toto_t is a structure (access to fields with .)