Делаете ли вы задел на будущее?
От: Shmj Ниоткуда  
Дата: 11.11.21 11:37
Оценка:
Допустим есть некая бизнес-сущность, которая содержит необходимые для работы сервиса поля. И тут вы думаете как бы на будущее — а вдруг добавим то и то и нужно будет такое поле еще — давай сразу сделаю, чтобы уже было готово и в случае если таки решим добавить ту фишку — поле уже будет, как бы круть.

Делаете так?

Понял что почти всегда это ни к чему хорошему не приводит. Потом будущее разворачивается таким образом, что поля все равно придется добавить 2 а то и 5 и немного других. Что все равно на 5 шагов вперед не получается предвидеть.

Кто что скажет?
Re: Делаете ли вы задел на будущее?
От: Умака Кумакаки Ниоткуда  
Дата: 11.11.21 11:57
Оценка: +5
Здравствуйте, Shmj, Вы писали:

S>Делаете так?


разумеется нет, код должен отражать только существующие требования.
нормально делай — нормально будет
Re: Делаете ли вы задел на будущее?
От: RonWilson Россия  
Дата: 11.11.21 11:59
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Допустим есть некая бизнес-сущность, которая содержит необходимые для работы сервиса поля. И тут вы думаете как бы на будущее — а вдруг добавим то и то и нужно будет такое поле еще — давай сразу сделаю, чтобы уже было готово и в случае если таки решим добавить ту фишку — поле уже будет, как бы круть.


Вместо enum Sex { Male, Female, Undetected } sex, к примеру, VARIANT sex, вместо одного поля total в БД — total, totalAlt, totaltAlt3, так что ли?
Отредактировано 11.11.2021 12:05 RonWilson . Предыдущая версия .
Re: Делаете ли вы задел на будущее?
От: bnk СССР http://unmanagedvisio.com/
Дата: 11.11.21 12:00
Оценка: +3
Здравствуйте, Shmj, Вы писали:

S>Допустим есть некая бизнес-сущность, которая содержит необходимые для работы сервиса поля. И тут вы думаете как бы на будущее — а вдруг добавим то и то и нужно будет такое поле еще — давай сразу сделаю, чтобы уже было готово и в случае если таки решим добавить ту фишку — поле уже будет, как бы круть.


S>Делаете так?


Нет, и другим не даю
Re: Делаете ли вы задел на будущее?
От: vsb Казахстан  
Дата: 11.11.21 12:03
Оценка: +4
Здравствуйте, Shmj, Вы писали:

S>Допустим есть некая бизнес-сущность, которая содержит необходимые для работы сервиса поля. И тут вы думаете как бы на будущее — а вдруг добавим то и то и нужно будет такое поле еще — давай сразу сделаю, чтобы уже было готово и в случае если таки решим добавить ту фишку — поле уже будет, как бы круть.


S>Делаете так?


Нет.

S>Понял что почти всегда это ни к чему хорошему не приводит. Потом будущее разворачивается таким образом, что поля все равно придется добавить 2 а то и 5 и немного других. Что все равно на 5 шагов вперед не получается предвидеть.


S>Кто что скажет?


Стараюсь писать код и прочее так, чтобы те изменения в будущем, которые я могу предполагать, было бы просто реализовывать. Т.е. чтобы не пришлось что-то крупно переписывать. Могу где-то немножко переусложнить архитектуру, если уверен, что это пригодится в будущем. Это максимум, но и то скрепя сердце.

А так я ярый поклонник принципа — отсечь всё ненужное, пока не останется всё нужное.
Отредактировано 11.11.2021 12:03 vsb . Предыдущая версия .
Re: Делаете ли вы задел на будущее?
От: Doc Россия http://andrey.moveax.ru
Дата: 11.11.21 14:45
Оценка: +8
Здравствуйте, Shmj, Вы писали:

S>Кто что скажет?


Задел на будующее — правильные архитектура (на всех уровнях) и технологии.

А что касается полей, свойств, методов — чтобы разработчик не придумал в плане "что будет дальше", бизнес придумает свое и часто совсем не то, что разработчик может предположить.
Re: Делаете ли вы задел на будущее?
От: Muxa  
Дата: 11.11.21 15:56
Оценка:
S>Делаете так?

А смысл? Добавить поле этож дело на две секунды. А если задачу будет делать кто-то другой и добавит еще одно поле?
Re: Делаете ли вы задел на будущее?
От: rosencrantz США  
Дата: 11.11.21 16:40
Оценка: +3
Здравствуйте, Shmj, Вы писали:

S>Кто что скажет?


Ответ зависит от масштаба гадания, от структуры команды, от отношений между бизнесом и программистом, от амбиций и темперамента программиста. Можно рассмотреть 2 крайности:

1. Общение между программистом и бизнесом ограничено тикетами в джире. В каждый момент времени программист знает только на 1 небольшой шаг вперёд (типа "неделя работы"). В этом случае пытаться что-то там угадать про будущее — бестолковая затея.

2. Программист и бизнес постоянно ведут диалог, бизнес объясняет цели бизнеса, программист объясняет что софт может сделать для достижения этих целей, в каком порядке что можно напрограммировать, зарелизить, и т.д. В этом случае у программиста не возникает желания гадать, т.к. он обладает хорошим таким жирным контекстом происходящего (да ещё и является автором большой его части) — и этот контекст более-менее определяет работу на следующие несколько месяцев например.
Re: Делаете ли вы задел на будущее?
От: hlt Россия  
Дата: 27.01.22 18:18
Оценка:
Здравствуйте, Shmj, Вы писали:
S>Делаете так?

YAGNI?
Re: Делаете ли вы задел на будущее?
От: Alexander G Украина  
Дата: 27.01.22 18:28
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Делаете так?


В некоторых случаях его делают, вроде зарезервированных членов структуры, параметров функции, поля в протоколе передачи данных, и т.д., когда где-то намертво фиксируется ABI, и потом изменения делаются в рамках него.
Можно насмотреться на такое, например, в WinAPI или ещё каком-то апи.

Однако многим приложений не нужен фиксированный ABI, кроме как для бинарного формата файлов или ещё какой (бинарной) сериализации.
Самодельная сериализация тоже не всем нужна, если можно обойтись расширяемым языком разметки.
Русский военный корабль идёт ко дну!
Re: Делаете ли вы задел на будущее?
От: scf  
Дата: 27.01.22 20:37
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Кто что скажет?


Нет, никогда. Если у меня есть в голове какие-то мысли на будущее, я просто пишу код так, чтобы потом его было проще доработать. Второй момент — архитектурные требования а-ля масштабируемость системы. Тоже как бы "ненужный код и задел на будущее".
Re: Делаете ли вы задел на будущее?
От: Ночной Смотрящий Россия  
Дата: 28.01.22 18:54
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Делаете так?


Нет.

S>Понял что почти всегда это ни к чему хорошему не приводит. Потом будущее разворачивается таким образом, что поля все равно придется добавить 2 а то и 5 и немного других. Что все равно на 5 шагов вперед не получается предвидеть.


Бинго!
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Делаете ли вы задел на будущее?
От: Ночной Смотрящий Россия  
Дата: 28.01.22 18:54
Оценка:
Здравствуйте, Doc, Вы писали:

S>>Кто что скажет?

Doc>Задел на будующее — правильные архитектура (на всех уровнях) и технологии.

Что такое "правильная архитектура"?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Делаете ли вы задел на будущее?
От: Ночной Смотрящий Россия  
Дата: 28.01.22 18:54
Оценка:
Здравствуйте, Muxa, Вы писали:

S>>Делаете так?

M>А смысл? Добавить поле этож дело на две секунды.

В БД?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Делаете ли вы задел на будущее?
От: Muxa  
Дата: 28.01.22 19:15
Оценка:
M>>А смысл? Добавить поле этож дело на две секунды.
НС>В БД?
В структуру, я так понял.
Re[3]: Делаете ли вы задел на будущее?
От: Doc Россия http://andrey.moveax.ru
Дата: 08.02.22 12:16
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Что такое "правильная архитектура"?


Которая удовлетворяет текущим требованиям проекта и открыта для расширения в дальнейшем.
Re[4]: Делаете ли вы задел на будущее?
От: Ночной Смотрящий Россия  
Дата: 08.02.22 12:21
Оценка:
Здравствуйте, Doc, Вы писали:

НС>>Что такое "правильная архитектура"?

Doc>Которая удовлетворяет текущим требованиям проекта и открыта для расширения в дальнейшем.

Как то слишком уж обще.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Делаете ли вы задел на будущее?
От: fmiracle  
Дата: 08.02.22 13:58
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Допустим есть некая бизнес-сущность, которая содержит необходимые для работы сервиса поля. И тут вы думаете как бы на будущее — а вдруг добавим то и то и нужно будет такое поле еще — давай сразу сделаю, чтобы уже было готово и в случае если таки решим добавить ту фишку — поле уже будет, как бы круть.


Добавить про запас поле — нет. Тут особо не угадаешь какое.

С другой стороны, если, например, поле описано как бинарное, но при этом выглядит что там могут быть и другие варианты чем да/нет, и очень вероятно, что потом они потребуются — это предпочитаю сразу заложить enum, а не bool, потому что потом менять весьма неудобно.
Re[5]: Делаете ли вы задел на будущее?
От: Doc Россия http://andrey.moveax.ru
Дата: 08.02.22 15:53
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Как то слишком уж обще.


Согласен, обще. Но в этом IMHO и смысл — правильная архитерура позволяет минимизировать затраты по поддержке и развитию. А детали уже свои на каждом уровне (от общей архитертуры до дизайна конкретных серсисов и приложений).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.