Никита Поляков
ЧИСТЫЙ КОД (Part 2)
👋 Привет Пол (и снова привет всем)
Обычно, когда говорят про чистый код, обсуждают размер методов, длину названий или форматирование. Но я убежден, что чистый код начинается задолго до того, как будет написана первая строка.
Перед тем как писать код, важно все же понять контекст, в котором он будет существовать. Для этого я задаю себе (и коллегам) несколько ключевых вопросов:
1️⃣ Кто наши стейкхолдеры (технические и бизнес)?
Стейкхолдеры, в свою очередь, помогут нам ответить на вопросы ниже.
2️⃣ Каковы архитектурные риски и ключевые качества системы?
Это понимание позволит валидировать каждое принимаемое решение.
Примером риска может являться утечка клиентских данных, а качеством системы в таком случае является безопасность.
3️⃣ Какой объем изменений ожидается в будущем?
— Значительный → стоит искать более продуманное решение, которое позволит в будущем более удобно добавлять новые функции или изменять старые.
— Малый → можно позволить себе решение более простое, прямолинейное и быстрое по срокам реализации.
4️⃣ Долгосрочная или краткосрочная ли ожидается поддержка?
— Долгосрочная → код должен быть гибким и легко поддерживаемым.
— Краткосрочная → можно принять больше компромиссов.
5️⃣ Насколько жесткие дедлайны?
— Сжатые сроки → приходится делать упрощенные решения.
— Гибкие сроки → можно уделить больше времени качеству.
Ответы на эти вопросы могут быть зафиксированы в аналитике к задаче или существовать только в головах команды. Но чем больше информации удастся собрать, тем лучше.
По итогу: чем выше уровень неопределенности, тем выше шанс принять некачественное и неподходящее решение.
P.S. В следующих постах я хотел бы разобрать разные вариации контекстов и поразмышлять, какие решения можно принять на их основе. Буду рад вашим мнениям!
2 · 243 ·