Maintainability: the only core module with zero bug reports

Wim Leers

Most modules — both in contrib and core — have (many) edge cases where behavior is undefined. Because only the common cases were thought of during development. Test coverage is present, but it's not testing any edge cases, or only the obvious edge cases.

The module is released, used, and the issue queue fills up with bug reports.

Maintainers are drowning in technical debt.

If you want to be able to release a Drupal module (or any other kind of software, really), you must question every:

  1. feature: organically growing a feature set is tempting, but is it wise?
  2. concept/abstraction: building on existing concepts/abstractions reduces learning curve and increases number of able maintainers
  3. configurable thing: granular configuration introduces more variations that each must behave correctly
  4. assumption: the foundations you build on may change over time

There is one Drupal 8 core module that has had zero bug reports. And it's enabled on every Drupal 8 installation by default. At this point, it has played a big role in at least a billion page views. Do you know which one?

What did this module do differently? How does it handle those 4 aspects? How can your Drupal contrib/custom modules learn from this? (We'll also take a look at a contrib module whose D7 version was poorly maintainable and its D8 version is very maintainable.)

Session Track

Core Conversations

Experience Level

Intermediate

Drupal Version