There are several ways to improve software quality.
Use editorconfig to adhere to the basic code style rules.
Using editor config is not necessary, but saves a lot of time and keeps developers from straying from the style of choice and helps to avoid some problems caused by formatting differences (line ending, tabs vs spaces)
download eScience Center editor config file.
Support most editors. Here you can download plugins for your editor of choice.
If you use eclipse, use this plugin.
if possible (i.e using linters and code formatters)
Use of linters will not only help to keep code cleaner but will also help finding bugs
Here a very nice article about why coding styles matter, and increase software quality: Improving software quality, why Coding Style Matters
For style guides see the different languages in the Language Guides.
Google has a style guide for most languages google style guide page.
Software quality improvement tools
There are several web services that analyze code and make the quality of the code visible.
Code quality analysis services are web applications which have the following features:
- Automaticly analyse your code after a Github push
- Usually free for open source projects
- Most supports multiple programming languages, but not every language will be have the same level of features
- Grade or score for the quality of all of the code in the repository
- List of issues with the code, grouped by severity
- Drill down to location of issue
- Default list of checks which the service provider finds the best practice
- Can be configured to make the list of checks more strict or relaxed
- Can be configured to ignore files or extensions
- Can read configuration file from repository
- Tracks issues over time and send alerts when quality deteriorates
- Optionally reports on code coverage generated by a CI build
See the language guides for good options per language.
For a list of choices see http://shields.io/ or https://github.com/ripienaar/free-for-dev#code-quality
If your language supports namespaces, use nl.esciencecenter
See the Code Reviews section.