Не пересекайте свои провода.

Написание «ортогонального» кода было чем-то, о чем я не слышал до сегодняшнего чтения. В прошлом меня учили писать модульный код: небольшой, автономный и делающий только то, что должен.

Однако был представлен иной взгляд на это понятие. Точно так же, как ортогональные линии идут в одном направлении, не влияя на другое, компоненты системы должны функционировать, не влияя друг на друга.

Возвращаясь к инженерии:
«Давайте рассмотрим сложную систему контроля и управления тепловой установкой. Первоначальное требование предусматривало наличие графического пользовательского интерфейса, но требования были изменены, чтобы добавить мобильный интерфейс, который позволяет инженерам отслеживать ключевые значения. В ортогонально спроектированной системе вам нужно будет изменить только те модули, которые связаны с пользовательским интерфейсом, чтобы справиться с этим: базовая логика управления установкой останется неизменной. На самом деле, если вы тщательно структурируете свою систему, вы сможете поддерживать оба интерфейса с помощью одной и той же базовой кодовой базы».

Это также связано с возможностью повторного использования. Если сейчас я трачу часы на проектирование и реализацию сложных систем, почему бы не потратить дополнительные усилия на то, чтобы сделать их достаточно ортогональными, чтобы их можно было использовать в будущем?

На этом завершается 9-й день. До понедельника!
#PathToSWE