Abricot Norminette is a file checker notifying the user of coding style errors.
- *.c
- *.h
- *Makefile
- Bad files
- G1 Bad file header
- G2 There should be only one line between each fonction
- G3 Preprocessor directive must be indented
- G4 Global Variable must be const
- G6 #include should only contain .h files
- G7 Line should finish only end with a "\n"
- G8 Trailing space
- G9 Trailing lines
- C1 There should not be more than 3 depth (conditionnal branching)
- C3 Forbidden goto
- A3 Missing Line Break
- L1 Coding content
- L2 Bad indentation
- L3 Misplaced spaces
- L4 Misplaced curly bracket
- L5 Bad variable declaration
- L6 Bad line break
- O1 Check useless file
- O3 Too many fonctions in a file
- O4 Snake case convention
- F3 A line lenght shoud not exceed 80 columns
- F4 A function should not exceed 20 lines
- F5 More than 4 arguments in a function or argumentless function
- F6 Comments inside of functions
- H2 Header not protected from doucle inclusion
- V1 Controlling structures and macros
- V3 Pointers position
Clone the repository in your home folder :
git clone https://github.com/Just1truc/Abricot-Norminette.git ~/Abricot-Norminette
Get into the repository folder and execute the "install_abricot.sh" file :
cd ~/Abricot-Norminette && ./install_abricot.sh
Don't forget to star the repository if you like it. It would help me a lot.
Abricot is simple program. In order to use it, please type the following command into a terminal
abricot
In order to have a better report ( even if it's not currently checked by the moulinette ), please use the following command
abricot --all
Updates are regulary made.
To update Abricot, please use the following command :
abricot --update
Python3+ should be installed on your computer for Abricot to work.
OS | Compatible ? |
---|---|
Debian based | ✅ |
Fedora based | ✅ |
macOS | ✅ |
Windows |
Abricot is tested against every coding style errors using Jenkins on https://jenkins.dev.socialeo.eu/job/Abricot-Norminette/
After your contribution, you might want to check if the build is successful.
You might create a new branch before merging into the main branch so Jenkins will automatically test it within a minute.