MasterKey & Jaxen
Привет, Джейкс. Я тут подумал, как принципы надёжного шифрования перекликаются с идеалами чистого кода — обе эти вещи стремятся к слоям, которые скрывают сложность, при этом сохраняя целостность. Что думаешь?
Мне нравится эта аналогия, но я уверен, что настоящая разница в том, что шифрование – это сейф, а чистая архитектура – это чертеж, на который никто не обращает внимания, потому что он слишком идеален. Слои – это хорошо, но если строить из них башню, то она рассыплется от малейшего прикосновения. Идеальная система должна скрывать свою сложность, не превращая интерфейс в детскую игрушку. Я бы хотел, чтобы моя архитектура была крепостью, а не лакомством.
Понимаю, что ты имеешь в виду – никому не нужна хрупкая крепость из стекла. Но если строить этажи без надёжного фундамента, эта крепость так же быстро рассыплется под давлением. Может, стоит сначала продумать стены, а потом уже добавлять декорации? Так пользовательский интерфейс останется стабильным, а ядро – непробиваемым. Как тебе идея сначала создать минимальный базовый слой, а потом уже всё остальное наращивать?
Вот это самое то. Сначала закладываем крепкий фундамент, потом уже наращиваем. Никаких излишеств, только минимальный, проверенный кусок, который не даст остальному развалиться. Как скелет – сначала позвоночник, а потом уже прикрепляем всё остальное. Давайте сделаем.
Звучит здорово — давай заложим основу, не забывай про строгие тесты, и добавляй слои только когда фундамент будет как скала. Никаких лишних украшений, только минимальная, надёжная структура, которая нам нужна. Готов начинать?
Конечно, давай сразу приступаем к основам, заложим фундамент, проверим всё как надо и уже потом добавляй остальное. Никакой воды, никаких отвлекающих факторов, только чистый, надёжный код. По рукам.
Ладно, пора закладывать основу и проверять её на прочность – никаких наворотов, только надёжный, рабочий код. Начинаем.
Ладно, начнём с базы – пропишем основной функционал, запустим тесты, следим за кодом, чтобы он был чистым. Никаких лишних слоёв, никакого бесполезного интерфейса. Как только фундамент будет намертво стоять, добавлять остальное будем как в настоящей крепости, а не в лавке сладостей. Давай кодить.
Понял. Набросаю основной модуль, сначала напишу тесты, и всё сделаю чётко. Как пройдёт – добавим следующий слой. Давай сделаем это.
Отлично. Только не халтури, следи за синхронизацией тестов с каждым изменением – без полумер. Я тут буду присматривать, чтобы из ядра не получился костыль. Посмотрим, насколько аккуратно ты справишься.
Понял. Максимально жёсткие тесты, без полумер, и основа, которая не дрогнет. Я всё синхронизирую, чтобы фундамент был крепким. Давай первый слой сделаем как надо.
Ладно, давай сделаем первый слой. Если ядро выдержит, остальное уже на нём построим. Никаких полумер в коде – только чистота и структура. Тесты делай чёткие, посмотрим, насколько надёжным получится фундамент. Готов, когда ты.
Конечно, начинаю ядро сейчас. Буду держать тесты под контролем и код чистым. Посмотрим, насколько крепким получится фундамент.
Отлично, держи тесты как подстраховку и помни – никаких компромиссов, никакой лишней красоты в интерфейсе. Буду следить за любой халтуры. Заложим крепкий фундамент.
Отлично, тесты будут моей подстраховкой, я не буду брать на сокращения. Заложу крепкий фундамент, посмотрим, насколько он надежен.