Difference between revisions of "Software Quality"
(add sonarqube info) |
|||
(One intermediate revision by the same user not shown) | |||
Line 5: | Line 5: | ||
<br /> | <br /> | ||
− | == Cliff notes for process at WMF == | + | ==Cliff notes for process at WMF== |
− | * [[mediawikiwiki:Development_guidelines|Development_guidelines]] provides the big picture of policies (MUST) and guidelines (SHOULD). | + | *[[mediawikiwiki:Development_guidelines|Development_guidelines]] provides the big picture of policies (MUST) and guidelines (SHOULD). |
− | * [[mediawikiwiki:Manual:Coding_conventions/PHP|Manual:Coding_conventions/PHP]] covers aspects of how PHP for MediaWiki is coded. | + | *[[mediawikiwiki:Manual:Coding_conventions/PHP|Manual:Coding_conventions/PHP]] covers aspects of how PHP for MediaWiki is coded. |
− | * [[mediawikiwiki:Code_Stewardship|Code Stewardship]] is a model adopted in 2018 by WMF as a layer on top of [[mediawikiwiki:Developers/Maintainers|Developers/Maintainers]] | + | *[[mediawikiwiki:Code_Stewardship|Code Stewardship]] is a model adopted in 2018 by WMF as a layer on top of [[mediawikiwiki:Developers/Maintainers|Developers/Maintainers]] |
− | * [[mediawikiwiki:Manual:Mwdocgen.php|Manual:Mwdocgen.php]] generates the Doxygen output, but the [[mediawikiwiki:Manual:Coding_conventions/PHP#Comments_and_documentation|Manual:Coding_conventions/PHP#Comments_and_documentation]] doesn't mention anything about comments for [[static analysis]] | + | *[[mediawikiwiki:Manual:Mwdocgen.php|Manual:Mwdocgen.php]] generates the Doxygen output, but the [[mediawikiwiki:Manual:Coding_conventions/PHP#Comments_and_documentation|Manual:Coding_conventions/PHP#Comments_and_documentation]] doesn't mention anything about comments for [[static analysis]] |
− | * '''[[phab:T240307|Hook container with strong types and DI]]''' (solved) is part of a series of architecture shifts, and is an example of diving into the details of the codebase. | + | *'''[[phab:T240307|Hook container with strong types and DI]]''' (solved) is part of a series of architecture shifts, and is an example of diving into the details of the codebase. |
− | * [[mediawikiwiki:API:Client_code/Gold_standard|API:Client_code/Gold_standard]] is somewhat interesting - a series of metrics and principles applied to the API Clients listed at [[mediawikiwiki:API:Client_code|API:Client_code]] | + | *[[mediawikiwiki:API:Client_code/Gold_standard|API:Client_code/Gold_standard]] is somewhat interesting - a series of metrics and principles applied to the API Clients listed at [[mediawikiwiki:API:Client_code|API:Client_code]] |
− | == Code Health - project == | + | ==Code Health - project== |
MediaWiki [[mediawikiwiki:Code_Health|Code_Health]] | MediaWiki [[mediawikiwiki:Code_Health|Code_Health]] | ||
− | The [[ | + | The [[mw:Continuous integration/Codehealth Pipeline|Codehealth Pipeline]] is part of the [[Continuous Integration|continuous integration]] process, and invokes SonarScanner which send results to '''SonarCloud''' (by [https://www.sonarsource.com/products/sonarqube/ "SonarQube" a product of SonarSource] [https://github.com/SonarSource/sonarqube github]). |
+ | |||
+ | A list of the extensions / repos that are currently scanned: https://phabricator.wikimedia.org/T321837 | ||
+ | |||
+ | ===Dashboards=== | ||
The WMF organization account on SonarCloud is at https://sonarcloud.io/organizations/wmftest/projects | The WMF organization account on SonarCloud is at https://sonarcloud.io/organizations/wmftest/projects | ||
Individual repos are like https://sonarcloud.io/project/overview?id=mediawiki-extensions-DiscussionTools | Individual repos are like https://sonarcloud.io/project/overview?id=mediawiki-extensions-DiscussionTools | ||
Line 27: | Line 31: | ||
[[phab:project/view/3621/|Workboard in Phabricator]] | [[phab:project/view/3621/|Workboard in Phabricator]] | ||
<br /> | <br /> | ||
+ | <references /> |
Latest revision as of 07:32, 6 March 2024
Charles Fishman wrote a terrific article They write the right stuff. [1] for Fast Company magazine in 1996 about the "on-board shuttle group" that works at the Johnson Space Center in Houston, TX producing some of the most sophisticated and error-free software in the world.
We'll try to focus on some best practices and quality metrics - especially as it relates to MediaWiki.
Cliff notes for process at WMF[edit | edit source]
- Development_guidelines provides the big picture of policies (MUST) and guidelines (SHOULD).
- Manual:Coding_conventions/PHP covers aspects of how PHP for MediaWiki is coded.
- Code Stewardship is a model adopted in 2018 by WMF as a layer on top of Developers/Maintainers
- Manual:Mwdocgen.php generates the Doxygen output, but the Manual:Coding_conventions/PHP#Comments_and_documentation doesn't mention anything about comments for static analysis
- Hook container with strong types and DI (solved) is part of a series of architecture shifts, and is an example of diving into the details of the codebase.
- API:Client_code/Gold_standard is somewhat interesting - a series of metrics and principles applied to the API Clients listed at API:Client_code
Code Health - project[edit | edit source]
MediaWiki Code_Health
The Codehealth Pipeline is part of the continuous integration process, and invokes SonarScanner which send results to SonarCloud (by "SonarQube" a product of SonarSource github).
A list of the extensions / repos that are currently scanned: https://phabricator.wikimedia.org/T321837
Dashboards[edit | edit source]
The WMF organization account on SonarCloud is at https://sonarcloud.io/organizations/wmftest/projects Individual repos are like https://sonarcloud.io/project/overview?id=mediawiki-extensions-DiscussionTools
Code Health Group - paused, planned to restart in 2024
Code_Health_Group/Quality_Big_Picture
- ↑ Fishman, C. (2017, September 8). They write the right stuff. Fast Company. https://www.fastcompany.com/28121/they-write-right-stuff