Skip to content

Latest commit

 

History

History
149 lines (129 loc) · 2.74 KB

index.rst

File metadata and controls

149 lines (129 loc) · 2.74 KB

Code quality

Because Firefox is a complex piece of software, a lot of tools are executed to identify issues at development phase. In this document, we try to list these all tools.

.. toctree::
  :maxdepth: 1
  :glob:

  static-analysis.rst
  lint/index.rst
  coding-style/index.rst

C/C++
Tools Has autofixes More info Upstream
Custom clang checker   Source  
Clang-Tidy Yes :ref:`Static analysis <Mach static analysis>` https://clang.llvm.org/extra/clang-tidy/checks/list.html
Clang analyzer     https://clang-analyzer.llvm.org/
Coverity      
cpp virtual final   :ref:`cpp virtual final`  
Semmle/LGTM      
clang-format Yes :ref:`Formatting C++ Code With clang-format` https://clang.llvm.org/docs/ClangFormat.html
JavaScript
Tools Has autofixes More info Upstream
Eslint Yes :ref:`ESLint` https://eslint.org/
Mozilla ESLint   :ref:`Mozilla ESLint Plugin`  
Prettier Yes :ref:`JavaScript Coding style` https://prettier.io/
Python
Tools Has autofixes More info Upstream
Flake8 Yes (with autopep8) :ref:`Flake8` http://flake8.pycqa.org/
Python 2/3 compatibility check   :ref:`Python 2/3 compatibility check`  
Rust
Tools Has autofixes More info Upstream
Rustfmt Yes :ref:`Rustfmt` https://github.com/rust-lang/rustfmt
Clippy   :ref:`clippy` https://github.com/rust-lang/rust-clippy
Java
Tools Has autofixes More info Upstream
Infer     https://github.com/facebook/infer
Others
Tools Has autofixes More info Upstream
shellcheck     https://www.shellcheck.net/
rstchecker   :ref:`RST Linter` https://github.com/myint/rstcheck
Typo detection Yes :ref:`Codespell` https://github.com/codespell-project/codespell
YAML linter     https://github.com/adrienverge/yamllint