<div dir="ltr"><div dir="ltr">I boldly wikified it. <a href="https://www.mediawiki.org/wiki/Code_Health/newsletters/Issue02Volume01">https://www.mediawiki.org/wiki/Code_Health/newsletters/Issue02Volume01</a><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 17, 2018 at 4:18 PM Gergo Tisza <<a href="mailto:gtisza@wikimedia.org">gtisza@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Will this also be published on-wiki? Reading it in plain text is kind of painful.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 17, 2018 at 8:26 AM Jean-Rene Branaa <<a href="mailto:jbranaa@wikimedia.org" target="_blank">jbranaa@wikimedia.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Code Health Newsletter - Issue 2 Volume 1<br>
<br>
<br>
The Code Health[0a] newsletter is a publication provided by the Code<br>
Health Group[0b].  The Code Health Group serves as the hub for all<br>
Code Health topics and activities within the movement.  If you are<br>
aware or engaged in Code Health activities, we'd love to hear about<br>
it.<br>
<br>
The Code Health Newsletter is a new and hopefully valuable activity.<br>
If you have feedback about this issue or any past issues[0c], please<br>
don’t hesitate to share.  You can also submit content that you’d like<br>
to share through Phabricator (use the Code-Health-Newsletter project).<br>
<br>
# Code Health First Responders<br>
<br>
After last issue there was some concern voiced about calling this<br>
"First Responders" as the term is already used within the community.<br>
As a result, we've tweaked the name a bit to call it "Code Health<br>
First Responders".<br>
<br>
Please remember to share your experiences tackling your Code Health<br>
challenges.  Become or nominate a First Responder by submitting a task<br>
in Phabricator in the Code-Health-First-Responder project.<br>
<br>
More information available here[1].<br>
<br>
<br>
# Code Stewardship<br>
<br>
## Quarterly Reviews<br>
<br>
This quarter's Code Stewardship review cycle is open and ending on<br>
January 16th.  At the moment we've got three items being reviewed:<br>
CodeReview extension, UserMerge extension, and Graphoid service.<br>
<br>
Join the discussion in Phabricator[2a] or on Wiki[2b].<br>
<br>
## Latest Code Stewardship Coverage<br>
<br>
<br>
Core Components: 63%<br>
<br>
Extensions: 74%<br>
<br>
Services: 65%<br>
<br>
<br>
Note: these numbers are based on the Developers/Maintainers[2c] page.<br>
<br>
<br>
## What it means to be a Code Steward<br>
<br>
<br>
Over the course of the last several months, the Foundation has been<br>
working to close the gap on the number of un/under-funded Components,<br>
Extensions, and Services deployed to the production environment.  Many<br>
have already stepped up to become Code Stewards, but outside of some<br>
aspirational goals about bug resolution rates, and code review<br>
responsiveness, there hasn't been much guidance. Over the course of<br>
the next few weeks, we will be attempting to bring more clarity to<br>
that.<br>
<br>
<br>
<br>
# Code Health by the Numbers<br>
<br>
<br>
The following are some stats regarding Code Health.  As we are early<br>
in defining/implementing our Code Health metrics, data is limited.<br>
<br>
See the Code Health Metrics project[3a] for more information.<br>
<br>
In future issues of the newsletter, we'll expand this section to<br>
include other metrics as well as trending information.<br>
<br>
<br>
## Code Coverage<br>
<br>
<br>
                                  0-50%     51-90%     90-100%<br>
<br>
                                  _______________________________<br>
<br>
Extensions                  67         16              4<br>
<br>
Code Components     5            11             18<br>
<br>
Services                     Not Available Yet<br>
<br>
<br>
Note: As of 11/30/18[3b].<br>
<br>
<br>
### Did you know?<br>
<br>
<br>
Coverme[3c], a tool written by legoktm, is a great tool to help<br>
prioritize areas for additional test coverage.  It helps by<br>
identifying the code that is most often executed in production and its<br>
current coverage level. Please note that currently these tools support<br>
PHP code bases. We are currently investigating what it would take to<br>
expand into other languages.<br>
<br>
Historical coverage charts can been seen here[3d].  These charts can<br>
be used to gauge the overall trend of test coverage for the 12 months.<br>
This is an important tool to use for measuring incremental progress<br>
over time.<br>
<br>
<br>
# Code Health Learning Circles<br>
<br>
If you have a topic that you'd like to share, but want a little help<br>
with organizing, please submit a Phabricator ticket to the<br>
Code-Health-Learning-Circles project.<br>
<br>
Are there some topics that you’d like to see some Learning Circles<br>
about?  Submit a Phabricator ticket to the<br>
Code-Health-Learning-Circles project and we’ll do what we can to make<br>
it happen.<br>
<br>
More information about Code Health Learning Circles available here[4].<br>
<br>
<br>
# Help Wanted<br>
<br>
## Memory Profiling/Leak Troubleshooting<br>
<br>
Do you have experience/expertise in memory profiling?  We’re trying to<br>
chase down some memory leaks using Chromium’s profiling tools, but<br>
we’re running into challenges. Join the conversation in phabricator[5]<br>
and/or in the wikimedia-codehealth irc channel.<br>
<br>
# Code Health Group Activities<br>
<br>
<br>
Although the Code Health Group looks to act as a hub for all code<br>
health topics, the group also sponsors various broader reaching<br>
initiatives.<br>
<br>
## Recent Activities<br>
<br>
### Code Health Metrics<br>
<br>
The Code Health Metrics Working Group has been busy over the last<br>
couple of months.  The groups primary focus has been to evaluate some<br>
of the code metrics frameworks.  These tools provide us with code<br>
analysis, reporting, and a framework to plug in the results of other<br>
analysis tools.<br>
<br>
The two that are available for evaluation are:<br>
<br>
SonarQube [6a]<br>
<br>
PHPMetrics [6b]<br>
<br>
## Upcoming Activities:<br>
<br>
### Code Reviews<br>
<br>
Code reviews are a critical part of our development process.  They are<br>
key to ensuring code changes are of the highest quality possible.<br>
That being said, getting timely code reviews can prove to be<br>
challenging at times.<br>
<br>
The foundation is forming a Code Review Working Group to help better<br>
define the challenges and propose some solutions.  If you’re<br>
interested in participating in this discussion, please join us on the<br>
wikimedia-codehealth irc channel, check out the Code-Review-Workgroup<br>
Phabricator work board [6c], and/or reach out to jrbranaa or aklapper<br>
directly if you’re interested in being part of the working group.<br>
<br>
<br>
### Expanding Code Coverage to Services<br>
<br>
As noted in Code Coverage section of this newsletter, Services are not<br>
currently included in our Code Coverage metrics. We are working to<br>
change that.  If you’re interested in helping with that, please see<br>
Task T211710[6d].<br>
<br>
<br>
# Footnotes<br>
<br>
[0a][Code Health - MediaWiki](<a href="https://www.mediawiki.org/wiki/Code_Health" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health</a>)<br>
[0b][Code Health Group - MediaWiki<br>
(<a href="https://www.mediawiki.org/wiki/Code_Health_Group" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health_Group</a>)<br>
[0c]<a href="https://www.mediawiki.org/wiki/Code_Health#Newsletters" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health#Newsletters</a><br>
[1][Code Health/First-Responders -<br>
MediaWiki](<a href="https://www.mediawiki.org/wiki/Code_Health/First-Responders" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health/First-Responders</a>)<br>
[2a][Code-Stewardship-Reviews ·<br>
Workboard](<a href="https://phabricator.wikimedia.org/project/board/3144/" rel="noreferrer" target="_blank">https://phabricator.wikimedia.org/project/board/3144/</a>)<br>
[2b][Code stewardship reviews/Feedback solicitation -<br>
MediaWiki](<a href="https://www.mediawiki.org/wiki/Code_stewardship_reviews/Feedback_solicitation" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_stewardship_reviews/Feedback_solicitation</a>)<br>
[2c][Developers/Maintainers -<br>
MediaWiki](<a href="https://www.mediawiki.org/wiki/Developers/Maintainers" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Developers/Maintainers</a>)<br>
[3a][Code Health Group/projects/Code Health Metrics -<br>
MediaWiki](<a href="https://www.mediawiki.org/wiki/Code_Health_Group/projects/Code_Health_Metrics" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health_Group/projects/Code_Health_Metrics</a>)<br>
[3b][Test coverage - Documentation](<a href="https://doc.wikimedia.org/cover/" rel="noreferrer" target="_blank">https://doc.wikimedia.org/cover/</a>)<br>
[3c]<a href="https://tools.wmflabs.org/coverme/" rel="noreferrer" target="_blank">https://tools.wmflabs.org/coverme/</a><br>
[3d][Index of /coverage/charts/](<a href="https://tools.wmflabs.org/coverage/charts/" rel="noreferrer" target="_blank">https://tools.wmflabs.org/coverage/charts/</a>)<br>
[4][Code Health Group/Learning Circles -<br>
MediaWiki](<a href="https://www.mediawiki.org/wiki/Code_Health_Group/Learning_Circles" rel="noreferrer" target="_blank">https://www.mediawiki.org/wiki/Code_Health_Group/Learning_Circles</a>)<br>
[5]<a href="https://phabricator.wikimedia.org/T212135" rel="noreferrer" target="_blank">https://phabricator.wikimedia.org/T212135</a><br>
[6a][SonarCloud](<a href="https://sonarcloud.io/organizations/wmftest/projects" rel="noreferrer" target="_blank">https://sonarcloud.io/organizations/wmftest/projects</a>)<br>
[6b][PhpMetrics<br>
report](<a href="https://doc.wikimedia.org/mediawiki-core/master/phpmetrics/index.html" rel="noreferrer" target="_blank">https://doc.wikimedia.org/mediawiki-core/master/phpmetrics/index.html</a>)<br>
[6c][Code-Review-Workgroup](<a href="https://phabricator.wikimedia.org/project/view/3766/" rel="noreferrer" target="_blank">https://phabricator.wikimedia.org/project/view/3766/</a>)<br>
[6d][⚓ T211710 Expose code coverage stats for<br>
Services](<a href="https://phabricator.wikimedia.org/T211710" rel="noreferrer" target="_blank">https://phabricator.wikimedia.org/T211710</a>)<br>
<br>
_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
</blockquote></div>
_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Nick Wilson (Quiddity)<br>Wikimedia Foundation</div></div></div>