1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
|
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/index.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 <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/
* - cpp virtual final
-
-
- :ref:`cpp virtual final`
-
* - 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:: CSS
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Stylelint
- Yes
- `bug 1762027 <https://bugzilla.mozilla.org/show_bug.cgi?id=1762027>`__
- :ref:`Stylelint`
- https://stylelint.io/
* - Mozilla Stylelint
-
-
- :ref:`Mozilla Stylelint Plugin`
-
.. 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
* - ruff
- Yes
- `bug 1811850 <https://bugzilla.mozilla.org/show_bug.cgi?id=1811850>`__
- :ref:`ruff`
- https://github.com/charliermarsh/ruff
* - black
- Yes
- `bug 1555560 <https://bugzilla.mozilla.org/show_bug.cgi?id=1555560>`__
- :ref:`black`
- https://black.readthedocs.io/en/stable
.. 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
* - cargo-audit
-
- `bug 1747536 <https://bugzilla.mozilla.org/show_bug.cgi?id=1747536>`__
- :ref:`cargo-audit`
- https://rustsec.org/
.. list-table:: Java/Kotlin
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Spotless
- Yes
- `bug 1571899 <https://bugzilla.mozilla.org/show_bug.cgi?id=1571899>`__
- :ref:`Spotless`
- https://github.com/diffplug/spotless
.. 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
* - Fluent Lint
- No
-
- :ref:`Fluent Lint`
-
* - YAML linter
- No
-
- :ref:`yamllint`
- https://github.com/adrienverge/yamllint
|