C doesn't have standards or official tips once it involves code writingvogue. Having such freedom is repeatedly helpful and additionally important, butcollaborating on a project with totally different developers can before long need a group ofwriting style guidelines. vital to grasp here is that regardless of thatcoding style you pick, outline it well and follow it when adding new code.Reading code with consistent coding style matters.
Here are top coding styles you should consider adopting instead of reinventingyour own.
- LLVM coding standards
- Google C++ coding style
- Chromium coding style
- Mozilla coding style
- WebKit coding style
Clang-Format is a set of tools that are built on top of LibFormat that are very useful to format your C code toa predefined coding style.
Main tool is
clang-format. You initially create a YAML file called
.clang-formatin your project root directory with definitions how formatting should be done.
Read documentation about Clang-Format on the official page. This tutorial onlyserves as a guideline on which tools you should use.
One part is formating existing code. Another part is formating code as you code.Many editors and IDEs will have predefined coding standards already available,and for more there is Editorconfig, a project where you can set coding style perproject basis. The file
.editorconfig with INI syntax includes definitions forfiles and which coding standards should be used. Most of today's editors andIDEs support EditorConfig via plugins or have support already built in.
C editors and IDEs
You can write C programs in practically any text editor or IDE. Using a text editorinstead of an IDE is advised at the beginning so you can fully understand thecompilation process and all the magic happening behind. In this course you canuse any editor you prefer.
Some editor examples:
Some IDE examples:
Difference between editor and IDE is in their functionalities. IDEs provide morefunctionality compared to editors, such as code refactoring, building and compilingprojects, and similar. In editors you will many times need to use tools from thecommand line.