The Silent Merge Queue Corruption That Hit 658 GitHub Repos

(failure-modes.dev)

2 points | by birdculture 13 hours ago ago

1 comments

  • turtleyacht 13 hours ago ago

    Feature flags can make code accidentally a state machine. The same ideas to reduce conditionals ought to be possible with feature flags.

    One is to have the outer code be the framework that takes a single path, and the inner code does the specific stuff. A FeatureFlagEnabled instance does one thing; a FeatureFlagDiabled does another.

    Unfortunately, it's easier to sprinkle if-then around instead of rearchitecting. Not to mention having to handle combinations of feature flags since, for one reason or another, deprecation takes its own rework.