Code Health/newsletters/Issue02Volume01

The Code Health newsletter is a publication provided by the Code Health Group. The Code Health Group serves as the hub for all Code Health topics and activities within the movement. If you are aware or engaged in Code Health activities, we'd love to hear about it.

The Code Health Newsletter is a new and hopefully valuable activity. If you have feedback about this issue or any past issues, please don’t hesitate to share. You can also submit content that you’d like to share through Phabricator (use the Code-Health-Newsletter project).

Code Health First Responders
After last issue there was some concern voiced about calling this "First Responders" as the term is already used within the community. As a result, we've tweaked the name a bit to call it "Code Health First Responders".

Please remember to share your experiences tackling your Code Health challenges. Become or nominate a First Responder by submitting a task in Phabricator in the Code-Health-First-Responder project.

More information available at Code Health/First-Responders.

Quarterly Reviews
This quarter's Code Stewardship review cycle is open and ending on January 16th. At the moment we've got three items being reviewed: CodeReview extension, UserMerge extension, and Graphoid service.

Join the discussion in Phabricator or on Wiki.

Latest Code Stewardship Coverage
Core Components: 63%

Extensions: 74%

Services: 65%

Note: these numbers are based on the Developers/Maintainers page.

What it means to be a Code Steward
Over the course of the last several months, the Foundation has been working to close the gap on the number of un/under-funded Components, Extensions, and Services deployed to the production environment. Many have already stepped up to become Code Stewards, but outside of some aspirational goals about bug resolution rates, and code review responsiveness, there hasn't been much guidance. Over the course of the next few weeks, we will be attempting to bring more clarity to that.

Code Health by the Numbers
The following are some stats regarding Code Health. As we are early in defining/implementing our Code Health metrics, data is limited.

See the Code Health Metrics project for more information.

In future issues of the newsletter, we'll expand this section to include other metrics as well as trending information.

Code Coverage
Note: As of 11/30/18, per https://doc.wikimedia.org/cover/

Did you know?
Coverme, a tool written by legoktm, is a great tool to help prioritize areas for additional test coverage. It helps by identifying the code that is most often executed in production and its current coverage level. Please note that currently these tools support PHP code bases. We are currently investigating what it would take to expand into other languages.

Historical coverage charts can been seen here. These charts can be used to gauge the overall trend of test coverage for the 12 months. This is an important tool to use for measuring incremental progress over time.

Code Health Learning Circles
If you have a topic that you'd like to share, but want a little help with organizing, please submit a Phabricator ticket to the Code-Health-Learning-Circles project.

Are there some topics that you’d like to see some Learning Circles about? Submit a Phabricator ticket to the Code-Health-Learning-Circles project and we’ll do what we can to make it happen.

More information about Code Health Learning Circles is available.

Memory Profiling/Leak Troubleshooting
Do you have experience/expertise in memory profiling? We’re trying to chase down some memory leaks using Chromium’s profiling tools, but we’re running into challenges. Join the conversation in phabricator (T212135) and/or in the #wikimedia-codehealth IRC channel.

Code Health Group Activities
Although the Code Health Group looks to act as a hub for all code health topics, the group also sponsors various broader reaching initiatives.

Code Health Metrics
The Code Health Metrics Working Group has been busy over the last couple of months. The groups primary focus has been to evaluate some of the code metrics frameworks. These tools provide us with code analysis, reporting, and a framework to plug in the results of other analysis tools.

The two that are available for evaluation are:


 * SonarQube
 * PHPMetrics

Code Reviews
Code reviews are a critical part of our development process. They are key to ensuring code changes are of the highest quality possible. That being said, getting timely code reviews can prove to be challenging at times.

The foundation is forming a Code Review Working Group to help better define the challenges and propose some solutions. If you’re interested in participating in this discussion, please join us on the wikimedia-codehealth irc channel, check out the Code-Review-Workgroup Phabricator work board, and/or reach out to jrbranaa or aklapper directly if you’re interested in being part of the working group.

Expanding Code Coverage to Services
As noted in Code Coverage section of this newsletter, Services are not currently included in our Code Coverage metrics. We are working to change that. If you’re interested in helping with that, please see Task T211710.