A recent analysis of lint results showed that the cpplint.py portion of our lint task finds only three classes of issues:
- Lack of terminal newlines in files
- Missing copyright headers
- Use of banned types, an extension that we added to cpplint.py
What cpplint.py isn't doing is telling us anything interesting about C++. And, now that we have clang-tidy available per SERVER-27984, we have a better C++ linter in play anyway, we find that cpplint.py takes a lot of time in the lint task but tells us little of interest.
We should write a new tool that can live in the same ecosystem as clang-format and pylint that enforces only the last two items above. It will need to honor NOLINT I expect.
Later, we should extend clang-tidy to enforce the rules that we want.
- is related to
-
SERVER-71742 Move volatile keyword lint to clang-tidy
- Closed
-
SERVER-71743 Move polyfill lint to clang-tidy
- Closed
-
SERVER-71744 Move atomic, mutex and nomongo assert to clang-tidy
- Closed
-
SERVER-71746 Move mongo config header lint to clang-tidy
- Closed