Muhammed Senussi
Muhammed Senussi
  • Muhammed Senussi
Strict Mode Is Worth the ArgumentFrontend

The objection is always the same: too many errors, no time. Both are true and neither is a reason to keep the checks off.

Migrate one file at a time

Strictness does not have to be a single commit. Enable the flag, allow a per-file suppression, and remove the suppressions as files are touched for other reasons. A codebase gets strict over a quarter without anyone stopping to do a migration project.

The errors are real

When we did this the largest category was optional API fields treated as guaranteed. Every single one was a potential runtime crash that only had not happened yet because the field was usually present. That is not a type system being pedantic; that is a type system doing its job on data that comes from a network.

any deserves a linting rule that makes it deliberate. Not banned — it has legitimate uses — but never accidental.

2 Comments

  • Daan Visser

    November 25, 2025

    Per-file suppression removed on touch is the trick. We tried a big-bang migration twice and abandoned it twice.

    • Muhammed Senussi

      Muhammed Senussi

      AuthorNovember 25, 2025

      A big-bang strictness migration competes with feature work and loses. Making it incidental to work already happening means it never has to win an argument about priorities.

Leave a comment