Как научиться писать тестируемый и сопровождаемый код

В вакансиях практически всегда есть требование "писать тестируемый и сопровождаемый код", но начинающие программисты далеко не всегда понимают, что это такое. Как начинающему программисту научиться писать качественный код, который будет легко сопровождать и тестировать?

1