Культ оверинженеринга
Выхожу из творческого отпуска.
Я часто сталкиваюсь с заумными техническими решениями от учеников и коллег. Будто сложное решение = качественное. Это не так.
Вот пример. В коде нельзя было использовать Rx/Flow, но без реактивщины — никуда. К началу нового года коллеги изобрели CustomRxJava4 на тайпалиасах (первые рабочие дни были тяжелыми, понимаю). И тут я придумал простую эвристику: не можешь разобраться в модуле за 30 минут — рефактори. В этом коде было достаточно заменить тайпалиасы на прямое использование нашего Observer'а и Interactor'а.
Не забывайте про принципы Бритвы Оккама и Open/Closed: хорош не тот модуль, в который нечего добавить, а тот, у которого нечего отнять. Если можно быстро что-то переработать или удалить без потери в качестве и бизнес-логике — сделайте это. Позаботьтесь о проекте.
Соблюдение этих принципов снижает когнитивную нагрузку на программистов --> увеличивает метрику поддерживаемости --> уменьшает время внесения изменений --> увеличивает TTM.
Упрощайте.
Выхожу из творческого отпуска.
Я часто сталкиваюсь с заумными техническими решениями от учеников и коллег. Будто сложное решение = качественное. Это не так.
Вот пример. В коде нельзя было использовать Rx/Flow, но без реактивщины — никуда. К началу нового года коллеги изобрели CustomRxJava4 на тайпалиасах (первые рабочие дни были тяжелыми, понимаю). И тут я придумал простую эвристику: не можешь разобраться в модуле за 30 минут — рефактори. В этом коде было достаточно заменить тайпалиасы на прямое использование нашего Observer'а и Interactor'а.
Не забывайте про принципы Бритвы Оккама и Open/Closed: хорош не тот модуль, в который нечего добавить, а тот, у которого нечего отнять. Если можно быстро что-то переработать или удалить без потери в качестве и бизнес-логике — сделайте это. Позаботьтесь о проекте.
Соблюдение этих принципов снижает когнитивную нагрузку на программистов --> увеличивает метрику поддерживаемости --> уменьшает время внесения изменений --> увеличивает TTM.
Упрощайте.
group-telegram.com/artrblog/37
Create:
Last Update:
Last Update:
Культ оверинженеринга
Выхожу из творческого отпуска.
Я часто сталкиваюсь с заумными техническими решениями от учеников и коллег. Будто сложное решение = качественное. Это не так.
Вот пример. В коде нельзя было использовать Rx/Flow, но без реактивщины — никуда. К началу нового года коллеги изобрели CustomRxJava4 на тайпалиасах (первые рабочие дни были тяжелыми, понимаю). И тут я придумал простую эвристику: не можешь разобраться в модуле за 30 минут — рефактори. В этом коде было достаточно заменить тайпалиасы на прямое использование нашего Observer'а и Interactor'а.
Не забывайте про принципы Бритвы Оккама и Open/Closed: хорош не тот модуль, в который нечего добавить, а тот, у которого нечего отнять. Если можно быстро что-то переработать или удалить без потери в качестве и бизнес-логике — сделайте это. Позаботьтесь о проекте.
Соблюдение этих принципов снижает когнитивную нагрузку на программистов --> увеличивает метрику поддерживаемости --> уменьшает время внесения изменений --> увеличивает TTM.
Упрощайте.
Выхожу из творческого отпуска.
Я часто сталкиваюсь с заумными техническими решениями от учеников и коллег. Будто сложное решение = качественное. Это не так.
Вот пример. В коде нельзя было использовать Rx/Flow, но без реактивщины — никуда. К началу нового года коллеги изобрели CustomRxJava4 на тайпалиасах (первые рабочие дни были тяжелыми, понимаю). И тут я придумал простую эвристику: не можешь разобраться в модуле за 30 минут — рефактори. В этом коде было достаточно заменить тайпалиасы на прямое использование нашего Observer'а и Interactor'а.
Не забывайте про принципы Бритвы Оккама и Open/Closed: хорош не тот модуль, в который нечего добавить, а тот, у которого нечего отнять. Если можно быстро что-то переработать или удалить без потери в качестве и бизнес-логике — сделайте это. Позаботьтесь о проекте.
Соблюдение этих принципов снижает когнитивную нагрузку на программистов --> увеличивает метрику поддерживаемости --> уменьшает время внесения изменений --> увеличивает TTM.
Упрощайте.
BY Engineering notes | Артур Илькаев
Share with your friend now:
group-telegram.com/artrblog/37