-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Detailed Description
The repo code quality has been quite poor until the introduction of cpplint static code analysis checks.
Even then, there are many instances where the checks have not been enough:
- code formatting is not checked by
cpplint- introducedclang-formatin GitHub actions to atuofix formatting per Google C++ standards Major rework to improve code quality and add automation checks #805 cpplintchecks are quite limited and hence a suggestion to useclang-tidywas proposed Should this repo lint C++ code with clang-tidy or cpplint? #808clang-tidywould be ideal with following important points to note- there is no GUI to view the results
- extensive checks and the repo is not unto the standards and would require more effort to fixing it
- easy to implement the checks only on modified files to mitigate the above problem
- the above bandaid fix would again cause the repo to be inconsistently formatted code
- LGTM addresses the two as a mid-way solution
- it performs more stringent checks than
cpplintbut is more permissive thanclang-tidy. - The output is presented as a convenient GUI for easy views
- Ability to post a comment on pull-requests after successful checks
- List of checks
- The parent company of LGTM is to become an integral part of GitHub and hence, I believe a proven and credible platform.
- it performs more stringent checks than
- There are other tools as discussed in the comments below.
- CodeFactor was one
- Codacy was another and here is my personal summary
Let us discuss the benefits and drawbacks of such an implementation.
I did create a temporary pull-request for review and discussion #897 (This now seems redundant)
Please review thoroughly and cast your vote on the tool you'd prefer by clicking on that tool below. If selected other, please add a comment mentioning which toll and why.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request