Разработчики, стремясь к соблюдению SLA и быстрому релизу фич, могут неосознанно стать жертвами архитектурного саботажа. Тайное братство внедряет деструктивные идеи, маскируясь под сакральные истины. Ключевые принципы, такие как SOLID, используются как идолы, что приводит к бесконечным спорам, потере времени на трактовку и отвлечению от простого рабочего кода. Злоупотребление принципом DRY также вредит, делая код менее читаемым и связным, увеличивая риск ошибок и усложняя рефакторинг.
Скорость обратной связи — критически важна, но технические анархисты замедляют её, используя, например, DI с кодогенерацией (Dagger). Это приводит к долгим сборкам и затягивает процесс разработки. Монорепозитории также могут стать инструментом саботажа, когда неоправданно усложняют сборку. Переход на микросервисы без необходимости также может оказаться вредным, увеличивая сложность системы и расходы, а также проблемы с целостностью данных.
Неумеренное использование юнит-тестов (70% от всех тестов) усложняет рефакторинг и имеет низкий КПД по сравнению с интеграционными тестами. Важно понимать, что контекст проекта определяет соотношение тестов. При выборе языка программирования нужно учитывать риски саботажа. Языки, предоставляющие слишком много свободы (Clojure), могут привести к зоопарку решений. Языки вроде Java, в свою очередь, обросли множеством аннотаций, затрудняющих понимание кода.
Go, с его минимализмом и строгим форматированием, кажется более предпочтительным в больших командах. Для личных проектов с быстрой обратной связью, Clojure может быть более эффективным решением. Главное, чтобы язык подходил для конкретной задачи. Важно помнить, что цель таких саботажников — замедление процессов разработки, усложнение кода, потеря времени и ресурсов.
Изображение носит иллюстративный характер
Скорость обратной связи — критически важна, но технические анархисты замедляют её, используя, например, DI с кодогенерацией (Dagger). Это приводит к долгим сборкам и затягивает процесс разработки. Монорепозитории также могут стать инструментом саботажа, когда неоправданно усложняют сборку. Переход на микросервисы без необходимости также может оказаться вредным, увеличивая сложность системы и расходы, а также проблемы с целостностью данных.
Неумеренное использование юнит-тестов (70% от всех тестов) усложняет рефакторинг и имеет низкий КПД по сравнению с интеграционными тестами. Важно понимать, что контекст проекта определяет соотношение тестов. При выборе языка программирования нужно учитывать риски саботажа. Языки, предоставляющие слишком много свободы (Clojure), могут привести к зоопарку решений. Языки вроде Java, в свою очередь, обросли множеством аннотаций, затрудняющих понимание кода.
Go, с его минимализмом и строгим форматированием, кажется более предпочтительным в больших командах. Для личных проектов с быстрой обратной связью, Clojure может быть более эффективным решением. Главное, чтобы язык подходил для конкретной задачи. Важно помнить, что цель таких саботажников — замедление процессов разработки, усложнение кода, потеря времени и ресурсов.