Template
Updated Documentation
This commit is contained in:
@@ -3,6 +3,11 @@
|
||||
- Simply download a zip file of this project and unzip it somewhere on your computer
|
||||
- open the pom.xml and change the settings at the start of the document to fit with your project
|
||||
|
||||
**Important** The shown commands use a syntax that is used by unix and macos. If you
|
||||
are using Windows then please replace the ./mvnw with mvnw only.
|
||||
|
||||
**Important** All commands shown should be issued in the root directoy of the project (the directory where you find the pom.xml)
|
||||
|
||||
## How to use this project
|
||||
|
||||
### Start the application from commandline
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# Static Code Analysis
|
||||
|
||||
Static code analysis is an essential tool in the software development process,
|
||||
designed to ensure code quality and detect errors early before they go into
|
||||
production. It examines the source code for potential mistakes without running
|
||||
the program. This technique is particularly useful for identifying common
|
||||
errors such as syntax errors, type inconsistencies, or unused variables.
|
||||
|
||||
The main advantage of static code analysis lies in its ability to identify
|
||||
complex and hard-to-find errors that are difficult to diagnose during runtime.
|
||||
It enhances code security by revealing vulnerabilities that could lead to
|
||||
security breaches, such as buffer overflows or SQL injection. Additionally,
|
||||
it supports adherence to coding standards and improves the readability and
|
||||
maintainability of the code.
|
||||
|
||||
Implementing static analysis in the development cycle allows development
|
||||
teams to work more efficiently, as many errors can be addressed before they
|
||||
even enter the testing process. This saves time and resources in later
|
||||
development stages and leads to overall higher software quality.
|
||||
|
||||
## Tools for static code analysis
|
||||
|
||||
### Sonarlint
|
||||
SonarLint is a powerful static code analysis plugin available for a wide
|
||||
range of widely-used development environments, including IDEs like Eclipse,
|
||||
Visual Studio, IntelliJ IDEA, and Visual Studio Code. This enables developers
|
||||
to identify and fix code quality issues directly during the development
|
||||
process, regardless of the platform used.
|
||||
|
||||
The strength of SonarLint lies in its ability to deliver precise and relevant
|
||||
results, making it a valuable tool for software developers looking to improve
|
||||
the quality of their codebase. The analysis results are typically very
|
||||
accurate and help to detect and correct errors early in the development
|
||||
process.
|
||||
|
||||
SonarLint is provided by SonarSource, the company that also developed the
|
||||
popular code quality platform SonarQube. It is available under an open-source
|
||||
license, meaning it can be used free of charge in both commercial and
|
||||
non-commercial projects. This licensing makes SonarLint particularly
|
||||
attractive for developers and organizations seeking a cost-effective
|
||||
solution to enhance their code quality.
|
||||
|
||||
### PMD
|
||||
PMD is a popular static code analysis tool specifically designed to be
|
||||
automatically integrated into the build process. This allows PMD to be
|
||||
seamlessly used in continuous integration environments and on build servers.
|
||||
By being integrated into the build process, PMD can automatically perform
|
||||
code analysis as soon as the code is compiled, making the identification
|
||||
and resolution of code quality issues more efficient. This makes it an
|
||||
ideal tool for development teams that want to ensure continuous monitoring
|
||||
and improvement of code quality.
|
||||
|
||||
### SpotBugs
|
||||
|
||||
SpotBugs is an advanced static code analysis tool tailored for integration
|
||||
into the build process, similar to PMD, but with enhanced capabilities for
|
||||
identifying potential bugs. A distinctive feature of SpotBugs is its support
|
||||
for null-checks using annotations such as @Nullable, which PMD does not offer.
|
||||
This functionality allows developers to explicitly denote where null values
|
||||
are expected, enhancing the tool’s ability to detect null pointer exceptions
|
||||
before the code is deployed. Like PMD, SpotBugs can be seamlessly integrated
|
||||
into continuous integration environments and on build servers, automating the
|
||||
process of code quality checks during compilation. This integration aids
|
||||
development teams in maintaining high standards of code quality through
|
||||
continuous assessments and improvements.
|
||||
Reference in New Issue
Block a user