Para mim, é uma proporção de estabilidade (como em cimento, concreto, argila cozida no forno, imersa em pedra, escrita com tinta permanente). Quanto mais instável é o seu código, pois quanto maior a probabilidade de você precisar alterá-lo no futuro, mais fácil é a flexibilidade, como a argila úmida, para permanecer produtivo. Também enfatizo flexibilidade e não legibilidade. Para mim, a facilidade de alterar o código é mais importante do que a facilidade de lê-lo. O código pode ser fácil de ler e um pesadelo para mudar, e que uso é capaz de ler e entender facilmente os detalhes da implementação se eles são um pesadelo para mudar? A menos que seja apenas um exercício acadêmico, normalmente o ponto de poder entender facilmente o código em uma base de código de produção é com a intenção de alterá-lo mais facilmente conforme necessário. Se é difícil mudar, então muitos dos benefícios da legibilidade saem pela janela. A legibilidade só é geralmente útil no contexto da flexibilidade, e a flexibilidade é útil apenas no contexto da instabilidade.
Naturalmente, mesmo o mais difícil de manter o código imaginável, independentemente de quão fácil ou difícil é a leitura, não representa um problema se nunca houver um motivo para alterá-lo, use-o apenas. E é possível obter essa qualidade, especialmente para códigos de sistema de baixo nível, nos quais o desempenho costuma contar mais. Eu tenho o código C que ainda uso regularmente, que não mudou desde o final dos anos 80. Não precisa mudar desde então. O código é fugaz, escrito nos dias de brincadeira, e eu mal o entendo. No entanto, ainda é aplicável hoje, e não preciso entender sua implementação para tirar proveito disso.
Escrever testes exaustivamente é uma maneira de melhorar a estabilidade. Outra é a dissociação. Se o seu código não depende de mais nada, o único motivo para mudar é se ele próprio precisa mudar. Às vezes, uma pequena quantidade de duplicação de código pode servir como um mecanismo de dissociação para melhorar drasticamente a estabilidade de uma maneira que a torna uma troca valiosa se, em troca, você obtiver código que agora é completamente independente de qualquer outra coisa. Agora esse código é invulnerável a alterações no mundo externo. Enquanto isso, o código que depende de 10 bibliotecas externas diferentes tem 10 vezes a razão de mudar no futuro.
Outra coisa útil na prática é separar sua biblioteca das partes instáveis da sua base de código, possivelmente até compilá-la separadamente, como você pode fazer para bibliotecas de terceiros (que também devem ser usadas, não alteradas, pelo menos não pelo seu equipe). Apenas esse tipo de organização pode impedir que as pessoas adulterem.
Outro é o minimalismo. Quanto menos seu código tentar fazer, maior a probabilidade de ele fazer o que faz bem. Projetos monolíticos são quase permanentemente instáveis, pois quanto mais funcionalidade é adicionada a eles, mais incompletos eles parecem.
A estabilidade deve ser seu objetivo principal sempre que você tentar escrever um código que inevitavelmente será difícil de mudar, como um código SIMD paralelo que foi micro-ajustado até a morte. Você neutraliza a dificuldade de manter o código maximizando a probabilidade de não precisar alterar o código e, portanto, não precisará mantê-lo no futuro. Isso reduz os custos de manutenção a zero, independentemente da dificuldade do código em manter.