#советы Оверинженеринг



Я решил сегодня отдохнуть от бизнеса и маркетинга и пописать код, так как практика должна быть регулярной. Мне нужно было реализовать функцию импорта компаний в одном из проектов. Выделив в отдельный сервис и подключив либу работы с экселем, я понял, что могу пойти двумя путями.



- За час реализовать частный случай импорта, который как раз нужен был для контент-менеджеров.

- Потратить полтора часа и реализовать более общий случай, который будет подходить для всех типов компаний, но не факт, что пригодится.



И пред такой дилеммой становятся многие разработчики. Потому хочу поделиться тем, как решаю это для себя. Делаем общий случай, только если на эти вопросы вы можете сказать “Да”:



1. Нужен ли точно общий случай в будущем?

2. Переделка с частного на общий займёт больше времени чем сейчас реализация общего?

3. Вы будете вставлять костыли в код, чтобы реализовать частный случай?

4. Реализация общего случая приоритетнее других задач?



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



P.S. Да, я реализовал частный случай, так как на вопросы 2 и 3-я ответил “Нет”, а на 1 - “Не знаю”, и потому могу быстро допилить функционал при необходимости.