Skip to content

Commit c6fa07c

Browse files
committed
[clang-tidy][NFC][DOC] Update links to HICPP standard
Old links pointed out to old domain, and then redirected to correct one, but to wrong pages. Changed links from old to new domain and page. Fixes: llvm#65064
1 parent 4ea8212 commit c6fa07c

31 files changed

+39
-35
lines changed

clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ Any file referencing a High-Integrity C++ Coding guideline:
88

99
HIC++ Coding Standard as created by PRQA.
1010

11-
Please see http://www.codingstandard.com/section/conditions-of-use/ for more
12-
information.
11+
Please see
12+
https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/conditions-of-use
13+
for more information.

clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ hicpp-avoid-goto
77

88
The `hicpp-avoid-goto` check is an alias to
99
:doc:`cppcoreguidelines-avoid-goto <../cppcoreguidelines/avoid-goto>`.
10-
Rule `6.3.1 High Integrity C++ <http://www.codingstandard.com/rule/6-3-1-ensure-that-the-labels-for-a-jump-statement-or-a-switch-condition-appear-later-in-the-same-or-an-enclosing-block/>`_
10+
Rule `6.3.1 High Integrity C++ <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/statements>`_
1111
requires that ``goto`` only skips parts of a block and is not used for other
1212
reasons.
1313

clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ hicpp-braces-around-statements
88
The `hicpp-braces-around-statements` check is an alias, please see
99
:doc:`readability-braces-around-statements <../readability/braces-around-statements>`
1010
for more information.
11-
It enforces the `rule 6.1.1 <http://www.codingstandard.com/rule/6-1-1-enclose-the-body-of-a-selection-or-an-iteration-statement-in-a-compound-statement/>`_.
11+
It enforces the `rule 6.1.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/statements>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ hicpp-deprecated-headers
88
The `hicpp-deprecated-headers` check is an alias, please see
99
:doc:`modernize-deprecated-headers <../modernize/deprecated-headers>`
1010
for more information.
11-
It enforces the `rule 1.3.3 <http://www.codingstandard.com/rule/1-3-3-do-not-use-the-c-standard-library-h-headers/>`_.
11+
It enforces the `rule 1.3.3 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/general>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hicpp-exception-baseclass
66
Ensure that every value that in a ``throw`` expression is an instance of
77
``std::exception``.
88

9-
This enforces `rule 15.1 <http://www.codingstandard.com/section/15-1-throwing-an-exception/>`_
9+
This enforces `rule 15.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard-exception-handling>`_
1010
of the High Integrity C++ Coding Standard.
1111

1212
.. code-block:: c++

clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hicpp-explicit-conversions
66
==========================
77

88
This check is an alias for :doc:`google-explicit-constructor <../google/explicit-constructor>`.
9-
Used to enforce parts of `rule 5.4.1 <http://www.codingstandard.com/rule/5-4-1-only-use-casting-forms-static_cast-excl-void-dynamic_cast-or-explicit-constructor-call/>`_.
9+
Used to enforce parts of `rule 5.4.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard-expressions>`_.
1010
This check will enforce that constructors and conversion operators are marked `explicit`.
1111
Other forms of casting checks are implemented in other places.
1212
The following checks can be used to check for more forms of casting:

clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ hicpp-function-size
88
This check is an alias for :doc:`readability-function-size <../readability/function-size>`.
99
Useful to enforce multiple sections on function complexity.
1010

11-
- `rule 8.2.2 <http://www.codingstandard.com/rule/8-2-2-do-not-declare-functions-with-an-excessive-number-of-parameters/>`_
12-
- `rule 8.3.1 <http://www.codingstandard.com/rule/8-3-1-do-not-write-functions-with-an-excessive-mccabe-cyclomatic-complexity/>`_
13-
- `rule 8.3.2 <http://www.codingstandard.com/rule/8-3-2-do-not-write-functions-with-a-high-static-program-path-count/>`_
11+
- `rule 8.2.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/definitions>`_
12+
- `rule 8.3.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/definitions>`_
13+
- `rule 8.3.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/definitions>`_

clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-invalid-access-moved
77

88
This check is an alias for :doc:`bugprone-use-after-move <../bugprone/use-after-move>`.
99

10-
Implements parts of the `rule 8.4.1 <http://www.codingstandard.com/rule/8-4-1-do-not-access-an-invalid-object-or-an-object-with-indeterminate-value/>`_ to check if moved-from objects are accessed.
10+
Implements parts of the `rule 8.4.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/definitions>`_ to check if moved-from objects are accessed.

clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ hicpp-member-init
77

88
This check is an alias for :doc:`cppcoreguidelines-pro-type-member-init <../cppcoreguidelines/pro-type-member-init>`.
99
Implements the check for
10-
`rule 12.4.2 <http://www.codingstandard.com/rule/12-4-2-ensure-that-a-constructor-initializes-explicitly-all-base-classes-and-non-static-data-members/>`_
10+
`rule 12.4.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_
1111
to initialize class members in the right order.

clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-move-const-arg
77

88
The `hicpp-move-const-arg` check is an alias, please see
99
:doc:`performance-move-const-arg <../performance/move-const-arg>` for more information.
10-
It enforces the `rule 17.3.1 <http://www.codingstandard.com/rule/17-3-1-do-not-use-stdmove-on-objects-declared-with-const-or-const-type/>`_.
10+
It enforces the `rule 17.3.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/standard-library>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ hicpp-multiway-paths-covered
55

66
This check discovers situations where code paths are not fully-covered.
77
It furthermore suggests using ``if`` instead of ``switch`` if the code will be more clear.
8-
The `rule 6.1.2 <http://www.codingstandard.com/rule/6-1-2-explicitly-cover-all-paths-through-multi-way-selection-statements/>`_
9-
and `rule 6.1.4 <http://www.codingstandard.com/rule/6-1-4-ensure-that-a-switch-statement-has-at-least-two-case-labels-distinct-from-the-default-label/>`_
8+
The `rule 6.1.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/statements>`_
9+
and `rule 6.1.4 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/statements>`_
1010
of the High Integrity C++ Coding Standard are enforced.
1111

1212
``if-else if`` chains that miss a final ``else`` branch might lead to unexpected
@@ -57,7 +57,7 @@ Similar arguments hold for ``switch`` statements which do not cover all possible
5757
}
5858

5959

60-
The `rule 6.1.4 <http://www.codingstandard.com/rule/6-1-4-ensure-that-a-switch-statement-has-at-least-two-case-labels-distinct-from-the-default-label/>`_
60+
The `rule 6.1.4 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/statements>`_
6161
requires every ``switch`` statement to have at least two ``case`` labels other than a `default` label.
6262
Otherwise, the ``switch`` could be better expressed with an ``if`` statement.
6363
Degenerated ``switch`` statements without any labels are caught as well.

clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-named-parameter
77

88
This check is an alias for :doc:`readability-named-parameter <../readability/named-parameter>`.
99

10-
Implements `rule 8.2.1 <http://www.codingstandard.com/rule/8-2-1-make-parameter-names-absent-or-identical-in-all-declarations/>`_.
10+
Implements `rule 8.2.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/definitions>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ hicpp-new-delete-operators
66
==========================
77

88
This check is an alias for :doc:`misc-new-delete-overloads <../misc/new-delete-overloads>`.
9-
Implements `rule 12.3.1 <http://www.codingstandard.com/section/12-3-free-store/>`_ to ensure
9+
Implements `rule 12.3.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_ to ensure
1010
the `new` and `delete` operators have the correct signature.

clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ hicpp-no-array-decay
88
The `hicpp-no-array-decay` check is an alias, please see
99
:doc:`cppcoreguidelines-pro-bounds-array-to-pointer-decay <../cppcoreguidelines/pro-bounds-array-to-pointer-decay>`
1010
for more information.
11-
It enforces the `rule 4.1.1 <http://www.codingstandard.com/section/4-1-array-to-pointer-conversion/>`_.
11+
It enforces the `rule 4.1.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/standard-conversions>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ hicpp-no-assembler
66
Check for assembler statements. No fix is offered.
77

88
Inline assembler is forbidden by the `High Integrity C++ Coding Standard
9-
<http://www.codingstandard.com/section/7-5-the-asm-declaration/>`_
9+
<https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/declarations>`_
1010
as it restricts the portability of code.

clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ hicpp-no-malloc
88
The `hicpp-no-malloc` check is an alias, please see
99
:doc:`cppcoreguidelines-no-malloc <../cppcoreguidelines/no-malloc>`
1010
for more information.
11-
It enforces the `rule 5.3.2 <http://www.codingstandard.com/rule/5-3-2-allocate-memory-using-new-and-release-it-using-delete/>`_.
11+
It enforces the `rule 5.3.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard-expressions>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-noexcept-move
77

88
This check is an alias for :doc:`performance-noexcept-move-constructor
99
<../performance/noexcept-move-constructor>`.
10-
Checks `rule 12.5.4 <http://www.codingstandard.com/rule/12-5-4-declare-noexcept-the-move-constructor-and-move-assignment-operator>`_ to mark move assignment and move construction `noexcept`.
10+
Checks `rule 12.5.4 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_ to mark move assignment and move construction `noexcept`.

clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hicpp-signed-bitwise
66
Finds uses of bitwise operations on signed integer types, which may lead to
77
undefined or implementation defined behavior.
88

9-
The according rule is defined in the `High Integrity C++ Standard, Section 5.6.1 <http://www.codingstandard.com/section/5-6-shift-operators/>`_.
9+
The according rule is defined in the `High Integrity C++ Standard, Section 5.6.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard-expressions>`_.
1010

1111
Options
1212
-------

clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ hicpp-special-member-functions
66
==============================
77

88
This check is an alias for :doc:`cppcoreguidelines-special-member-functions <../cppcoreguidelines/special-member-functions>`.
9-
Checks that special member functions have the correct signature, according to `rule 12.5.7 <http://www.codingstandard.com/rule/12-5-7-declare-assignment-operators-with-the-ref-qualifier/>`_.
9+
Checks that special member functions have the correct signature, according to `rule 12.5.7 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-static-assert
77

88
The `hicpp-static-assert` check is an alias, please see
99
:doc:`misc-static-assert <../misc/static-assert>` for more information.
10-
It enforces the `rule 7.1.10 <http://www.codingstandard.com/rule/6-1-1-enclose-the-body-of-a-selection-or-an-iteration-statement-in-a-compound-statement/>`_.
10+
It enforces the `rule 7.1.10 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/declarations>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hicpp-undelegated-constructor
66
=============================
77

88
This check is an alias for :doc:`bugprone-undelegated-constructor <../bugprone/undelegated-constructor>`.
9-
Partially implements `rule 12.4.5 <http://www.codingstandard.com/rule/12-4-5-use-delegating-constructors-to-reduce-code-duplication/>`_
9+
Partially implements `rule 12.4.5 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_
1010
to find misplaced constructor calls inside a constructor.
1111

1212
.. code-block:: c++

clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@ hicpp-uppercase-literal-suffix
77

88
The hicpp-uppercase-literal-suffix check is an alias, please see
99
:doc:`readability-uppercase-literal-suffix <../readability/uppercase-literal-suffix>` for more information.
10+
11+
Partially implements `rule 4.2.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/standard-conversions>`_
12+
to ensure that the ``U`` suffix is writeln properly.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-use-auto
77

88
The `hicpp-use-auto` check is an alias, please see
99
:doc:`modernize-use-auto <../modernize/use-auto>` for more information.
10-
It enforces the `rule 7.1.8 <http://www.codingstandard.com/rule/7-1-8-use-auto-id-expr-when-declaring-a-variable-to-have-the-same-type-as-its-initializer-function-call/>`_.
10+
It enforces the `rule 7.1.8 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/declarations>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-use-emplace
77

88
The `hicpp-use-emplace` check is an alias, please see
99
:doc:`modernize-use-emplace <../modernize/use-emplace>` for more information.
10-
It enforces the `rule 17.4.2 <http://www.codingstandard.com/rule/17-4-2-use-api-calls-that-construct-objects-in-place/>`_.
10+
It enforces the `rule 17.4.2 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/standard-library>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ hicpp-use-equals-default
66
========================
77

88
This check is an alias for :doc:`modernize-use-equals-default <../modernize/use-equals-default>`.
9-
Implements `rule 12.5.1 <http://www.codingstandard.com/rule/12-5-1-define-explicitly-default-or-delete-implicit-special-member-functions-of-concrete-classes/>`_ to explicitly default special member functions.
9+
Implements `rule 12.5.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_ to explicitly default special member functions.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ hicpp-use-equals-delete
66
=======================
77

88
This check is an alias for :doc:`modernize-use-equals-delete <../modernize/use-equals-delete>`.
9-
Implements `rule 12.5.1 <http://www.codingstandard.com/rule/12-5-1-define-explicitly-default-or-delete-implicit-special-member-functions-of-concrete-classes/>`_
9+
Implements `rule 12.5.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/special-member-functions>`_
1010
to explicitly default or delete special member functions.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-use-noexcept
77

88
The `hicpp-use-noexcept` check is an alias, please see
99
:doc:`modernize-use-noexcept <../modernize/use-noexcept>` for more information.
10-
It enforces the `rule 1.3.5 <http://www.codingstandard.com/rule/1-3-5-do-not-use-throw-exception-specifications/>`_.
10+
It enforces the `rule 1.3.5 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/general>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ hicpp-use-nullptr
77

88
The `hicpp-use-nullptr` check is an alias, please see
99
:doc:`modernize-use-nullptr <../modernize/use-nullptr>` for more information.
10-
It enforces the `rule 2.5.3 <http://www.codingstandard.com/rule/2-5-3-use-nullptr-for-the-null-pointer-constant/>`_.
10+
It enforces the `rule 2.5.3 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/lexical-conventions>`_.

clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ hicpp-use-override
66
==================
77

88
This check is an alias for :doc:`modernize-use-override <../modernize/use-override>`.
9-
Implements `rule 10.2.1 <http://www.codingstandard.com/section/10-2-virtual-functions/>`_ to
9+
Implements `rule 10.2.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/derived-classes>`_ to
1010
declare a virtual function `override` when overriding.

clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ hicpp-vararg
88
The `hicpp-vararg` check is an alias, please see
99
:doc:`cppcoreguidelines-pro-type-vararg <../cppcoreguidelines/pro-type-vararg>`
1010
for more information.
11-
It enforces the `rule 14.1.1 <http://www.codingstandard.com/section/14-1-template-declarations/>`_.
11+
It enforces the `rule 14.1.1 <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard/templates>`_.

clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Many coding guidelines advise replacing the magic values with symbolic
1010
constants to improve readability. Here are a few references:
1111

1212
* `Rule ES.45: Avoid "magic constants"; use symbolic constants in C++ Core Guidelines <https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-magic>`_
13-
* `Rule 5.1.1 Use symbolic names instead of literal values in code in High Integrity C++ <http://www.codingstandard.com/rule/5-1-1-use-symbolic-names-instead-of-literal-values-in-code/>`_
13+
* `Rule 5.1.1 Use symbolic names instead of literal values in code in High Integrity C++ <https://www.perforce.com/resources/qac/high-integrity-cpp-coding-standard-expressions>`_
1414
* Item 17 in "C++ Coding Standards: 101 Rules, Guidelines and Best
1515
Practices" by Herb Sutter and Andrei Alexandrescu
1616
* Chapter 17 in "Clean Code - A handbook of agile software craftsmanship."

0 commit comments

Comments
 (0)