drogonframework / drogonframework/drogon
Improve Code Quality
- Dominant language
- C++
- Stars
- 14.3k
- Forks
- 1.4k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 15
Description
Currently, we do not use cpplint and clang-tidy for static analysis, or AddressSanitizer for memory leak detection. Incorporating them will significantly enhance the code quality in our code base.
#### Proposed Solution
Integrate the following tools. This will help us progressively improve the overall quality of the project. Each task includes editing documentation for developers and setting up CIs. Since we do not need to provide build commands for cpplint, it would be the easiest to get started.
1. **cpplint**: Integrate cpplint for accomplishing basic static analysis. Initially, we should gradually commence enabling some lints to avoid overwhelming existing code maintenance process. (cf. https://github.com/drogonframework/drogon/pull/1750)
2. **clang-tidy**: Utilize clang-tidy for more extensive code analysis, which can find potential bugs and anti-patterns not detected by cpplint.
3. **AddressSanitizer**: Incorporate the AddressSanitizer to aid in identifying memory leaks, ensuring the robustness and reliability of our server framework.
#### Impact
I believe that these changes will significantly enhance our ability to detect and rectify issues early in the development cycle, leading to a more robust server framework. Although the proposed solution potentially increases maintenance costs, I think the benefits outweigh the costs.
Contributor guide
Assessment
This issue has not been assessed yet.