<p>Note:The numbers within this post are taken from my <a href="/presentations/tdd-test-driven-drupal">Test-Driven Drupal talk</a>, in which I also talk about this.</p>
<p>My first commit to the 7.x-1.x branch of the Override Node Options module was in March 2012. According to Drupal.org, the module was used on 9,212 websites then.</p>
<p>As well as the 7.x-1.x branch, there's the 8.x-2.x branch which supports Drupal 9 and 10, and previously Drupal 8.</p>
<p>The most recent statistics show the module is currently used on 34,981 websites and is consistently around 35,000.</p>
<h2 id="what-does-that-mean%3F">What does that mean?</h2>
<p>The module is considered feature complete, but I'm not ruling out any new additions.</p>
<p>The main thing is ensuring that any changes don't break 35,000 websites!</p>
<p>I do this by relying on the module's automated test suite and ensuring that tests are added for any features or bugs and that the tests are passing before any new release.</p>
<h2 id="this-has-worked-well">This has worked well</h2>
<p>A few years ago, I committed a feature request to both versions. While it didn't include additional tests, I verified the existing functionality worked after resolving a large merge conflict by ensuring the original tests passed.</p>
<p>More recently, a colleague and I refactored the module and split each override into its own class, making adding and maintaining overrides easier.</p>
<p>Because the tests were still passing, we knew our refactor was successful and not causing regressions.</p>
<h2 id="here%27s-the-thing">Here's the thing</h2>
<p>Having automated tests and ensuring they're always passing has allowed me to add features and refactor code that I wouldn't have done or had the confidence to do otherwise.</p>
<p>It's great to have a popular module, but on the other hand, I don't want to break 35,000 websites which makes the tests invaluable.</p>
<p>Note:The numbers within this post are taken from my <a href="/presentations/tdd-test-driven-drupal">Test-Driven Drupal talk</a>, in which I also talk about this.</p>
<p>My first commit to the 7.x-1.x branch of the Override Node Options module was in March 2012. According to Drupal.org, the module was used on 9,212 websites then.</p>
<p>As well as the 7.x-1.x branch, there's the 8.x-2.x branch which supports Drupal 9 and 10, and previously Drupal 8.</p>
<p>The most recent statistics show the module is currently used on 34,981 websites and is consistently around 35,000.</p>
<h2 id="what-does-that-mean%3F">What does that mean?</h2>
<p>The module is considered feature complete, but I'm not ruling out any new additions.</p>
<p>The main thing is ensuring that any changes don't break 35,000 websites!</p>
<p>I do this by relying on the module's automated test suite and ensuring that tests are added for any features or bugs and that the tests are passing before any new release.</p>
<h2 id="this-has-worked-well">This has worked well</h2>
<p>A few years ago, I committed a feature request to both versions. While it didn't include additional tests, I verified the existing functionality worked after resolving a large merge conflict by ensuring the original tests passed.</p>
<p>More recently, a colleague and I refactored the module and split each override into its own class, making adding and maintaining overrides easier.</p>
<p>Because the tests were still passing, we knew our refactor was successful and not causing regressions.</p>
<h2 id="here%27s-the-thing">Here's the thing</h2>
<p>Having automated tests and ensuring they're always passing has allowed me to add features and refactor code that I wouldn't have done or had the confidence to do otherwise.</p>
<p>It's great to have a popular module, but on the other hand, I don't want to break 35,000 websites which makes the tests invaluable.</p>