summaryrefslogtreecommitdiffstats
path: root/docs/code-quality/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/code-quality/index.rst')
-rw-r--r--docs/code-quality/index.rst184
1 files changed, 184 insertions, 0 deletions
diff --git a/docs/code-quality/index.rst b/docs/code-quality/index.rst
new file mode 100644
index 0000000000..97939211df
--- /dev/null
+++ b/docs/code-quality/index.rst
@@ -0,0 +1,184 @@
+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
+
+.. list-table:: C/C++
+ :header-rows: 1
+ :widths: 20 20 20 20 20
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - More info
+ - Upstream
+ * - Custom clang checker
+ -
+ -
+ - `Source <https://searchfox.org/mozilla-central/source/build/clang-plugin>`_
+ -
+ * - Clang-Tidy
+ - Yes
+ - `bug 712350 <https://bugzilla.mozilla.org/show_bug.cgi?id=712350>`__
+ - :ref:`Static analysis <Mach static analysis>`
+ - https://clang.llvm.org/extra/clang-tidy/checks/list.html
+ * - Clang analyzer
+ -
+ - `bug 712350 <https://bugzilla.mozilla.org/show_bug.cgi?id=712350>`__
+ -
+ - https://clang-analyzer.llvm.org/
+ * - Coverity
+ -
+ - `bug 1230156 <https://bugzilla.mozilla.org/show_bug.cgi?id=1230156>`__
+ -
+ -
+ * - cpp virtual final
+ -
+ -
+ - :ref:`cpp virtual final`
+ -
+ * - Semmle/LGTM
+ -
+ - `bug 1458117 <https://bugzilla.mozilla.org/show_bug.cgi?id=1458117>`__
+ -
+ -
+ * - clang-format
+ - Yes
+ - `bug 1188202 <https://bugzilla.mozilla.org/show_bug.cgi?id=1188202>`__
+ - :ref:`Formatting C++ Code With clang-format`
+ - https://clang.llvm.org/docs/ClangFormat.html
+
+.. list-table:: JavaScript
+ :widths: 20 20 20 20 20
+ :header-rows: 1
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - More info
+ - Upstream
+ * - Eslint
+ - Yes
+ - `bug 1229856 <https://bugzilla.mozilla.org/show_bug.cgi?id=1229856>`__
+ - :ref:`ESLint`
+ - https://eslint.org/
+ * - Mozilla ESLint
+ -
+ - `bug 1229856 <https://bugzilla.mozilla.org/show_bug.cgi?id=1229856>`__
+ - :ref:`Mozilla ESLint Plugin`
+ -
+ * - Prettier
+ - Yes
+ - `bug 1558517 <https://bugzilla.mozilla.org/show_bug.cgi?id=1558517>`__
+ - :ref:`JavaScript Coding style`
+ - https://prettier.io/
+
+
+
+.. list-table:: Python
+ :widths: 20 20 20 20 20
+ :header-rows: 1
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - More info
+ - Upstream
+ * - Flake8
+ - Yes (with `autopep8 <https://github.com/hhatto/autopep8>`_)
+ - `bug 1155970 <https://bugzilla.mozilla.org/show_bug.cgi?id=1155970>`__
+ - :ref:`Flake8`
+ - http://flake8.pycqa.org/
+ * - black
+ - Yes
+ - `bug 1555560 <https://bugzilla.mozilla.org/show_bug.cgi?id=1555560>`__
+ - :ref:`black`
+ - https://black.readthedocs.io/en/stable
+ * - pylint
+ -
+ - `bug 1623024 <https://bugzilla.mozilla.org/show_bug.cgi?id=1623024>`__
+ - :ref:`pylint`
+ - https://www.pylint.org/
+ * - Python 2/3 compatibility check
+ -
+ - `bug 1496527 <https://bugzilla.mozilla.org/show_bug.cgi?id=1496527>`__
+ - :ref:`Python 2/3 compatibility check`
+ -
+
+
+.. list-table:: Rust
+ :widths: 20 20 20 20 20
+ :header-rows: 1
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - More info
+ - Upstream
+ * - Rustfmt
+ - Yes
+ - `bug 1454764 <https://bugzilla.mozilla.org/show_bug.cgi?id=1454764>`__
+ - :ref:`Rustfmt`
+ - https://github.com/rust-lang/rustfmt
+ * - Clippy
+ -
+ - `bug 1361342 <https://bugzilla.mozilla.org/show_bug.cgi?id=1361342>`__
+ - :ref:`clippy`
+ - https://github.com/rust-lang/rust-clippy
+
+.. list-table:: Java
+ :widths: 20 20 20 20 20
+ :header-rows: 1
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - More info
+ - Upstream
+ * - Infer
+ -
+ - `bug 1175203 <https://bugzilla.mozilla.org/show_bug.cgi?id=1175203>`__
+ -
+ - https://github.com/facebook/infer
+
+.. list-table:: Others
+ :widths: 20 20 20 20 20
+ :header-rows: 1
+
+ * - Tools
+ - Has autofixes
+ - Meta bug
+ - 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
+