.. _namingconvention: File naming convention ========================== The structure files in a given folder --------------------------------------- For the sake of clarity, we put the structure definitions in separate files. It's a good way to organize your rougail structures this way, in the real world we need separate files for different topics. For example some files like this: A file named :file:`firefox/00-proxy.yml` structure file and file named :file:`firefox/10-manual.yml` :: . └── firefox ├── 00-proxy.yml └── 10-manual.yml .. note:: We of course could have put everything in one file. Again, it is better to separate the structures in different files for reasons of ordering and clarity. Ordering your structure files -------------------------------- The order in which files are loaded is important in Rougail. In a given folder, files are loaded in alphabetical order. Furthermore, for better readability of the order in which files are loaded into a folder, we have adopted a convention. To facilitate classification, we have defined a standard notation for structure file names: :: XX-.yml Where `XX` is a two digits integer followed by an hyphen, and `` is a name that describes the structure that is in this file. We advise you to adopt this convention as well. .. _filenamingconvention: Generic file naming policy --------------------------- Here are our generic file naming conventions. The regular expression that validates our file naming policy is: .. code-block:: python NAME_REGEXP = re.compile(r"^[a-z0-9_]*$") You can see that it is preferable to only use lowercase ASCII letters, numbers and the `"_"` (undescore) character. The snake case typographic convention is therefore used.