Size: a a a

Архитектура ИТ-решений

2020 June 10

S

Sergey in Архитектура ИТ-решений
George
Без комментариев можно сказать, что делает код бизнес-логики. Но нельзя ответить на вопросы "зачем оно тут вообще" и "правильно ли оно тут реализовано",
вот для этого и нужно управление требованиями, чтоб они где-то были зафиксированы
источник

S

Sergey in Архитектура ИТ-решений
если нигде не фиксировалось. то код по дефолту делает то, что нужно :)
источник

G

George in Архитектура ИТ-решений
Рассинхрон неизбежен
источник

G

George in Архитектура ИТ-решений
Между кодом и документацией по требованиям
источник

S

Sergey in Архитектура ИТ-решений
да, но если требований вообще нет, то никак не синхронизировать
источник

S

Sergey in Архитектура ИТ-решений
так по крайней мере можно прочесть, осознать и полезть в код
источник

G

George in Архитектура ИТ-решений
Sergey
если нигде не фиксировалось. то код по дефолту делает то, что нужно :)
Именно так, пока не начинают жаловаться пользователи)
источник

S

Sergey in Архитектура ИТ-решений
программисты ленивы и изобретать оригинальные именования и паттерны редко будут. Даже велосипеды обычно стандартны
источник

G

George in Архитектура ИТ-решений
Побольше бы ленивых программистов. Слишком часто бывают слишком инициативные, сам таким страдаю...
источник

S

Sergey in Архитектура ИТ-решений
сложно если в команде была "звезда" и что-то сделала в духе - напишу мини-виртуальную машину на Форте и на ней уже логику
источник

DK

Daria Kaftan in Архитектура ИТ-решений
George
Рассинхрон неизбежен
Да, но это не тумблер - есть или нет. Это риски, выражающиеся в повышении трудозатрат. Сложность изменения слабо задокументированного кода с хитрой бизнес-логикой растет экспоненциально во времени - чем больше изменений внести, тем сложнее внести новые.
источник

G

George in Архитектура ИТ-решений
Daria Kaftan
Да, но это не тумблер - есть или нет. Это риски, выражающиеся в повышении трудозатрат. Сложность изменения слабо задокументированного кода с хитрой бизнес-логикой растет экспоненциально во времени - чем больше изменений внести, тем сложнее внести новые.
Полностью согласен, видел реальный пример такого.
источник

DK

Daria Kaftan in Архитектура ИТ-решений
Sergey
сложно если в команде была "звезда" и что-то сделала в духе - напишу мини-виртуальную машину на Форте и на ней уже логику
О, на прошлом проекте выкидывали модули одной такой обидчивой звязды, и ставили новые, потому что его модули были не модифицируемы в принципе (и он отказывался их модифицировать, так как они, по его мнению, все делают хорошо, а мы идиоты и не лечимся)
источник

S

Sergey in Архитектура ИТ-решений
еще геммор, если hardcode всего идет... чем больше параметров захардкодят тем сложней потом в принципе что-то поменять
источник

S

Sergey in Архитектура ИТ-решений
допустим воткнут где не надо часовой пояс фиксированный.  Или число дней в месяце , одно.. на все месяцы...
источник

DK

Daria Kaftan in Архитектура ИТ-решений
Я столкнулась с закардкоженными справочниками. Есть апишка, к ней схемы - xsd, там же справочники. И некоторые из них дублированы в коде перечислением. И в других подсистемах еще есть копии. И в итоге есть три справочника (минимум): один в xsd, второй в коде, третий в монге. Все разные.
источник

S

Sergey in Архитектура ИТ-решений
да, и это тоже, вообще жесть. Захардкоженные роли (ролевая модель как бы есть, но в реальности нет) и т.д
источник

S

Sergey in Архитектура ИТ-решений
с выделением и абстрагированием туго
источник

AZ

Alex Zernov in Архитектура ИТ-решений
Sergey
главное при анализе кода goto definition / find refrences
для Java Eclipse-а хватает. Там можно и плагин  самому набрость для вытаскивания деталей
с С++ сложней, надо продукты Klocwork-а
для Go и т.п и так уже много, в том числе тот же sourcegraph
Есть системы на таких стеках и так написаны, что "карта кода" не даёт и 50% понимания функционала. А вопрос "зачем система это делает" чаще гораздо важнее вопроса "как система это делает"
источник

S

Sergey in Архитектура ИТ-решений
"как" - нужно, если хотим поменять
помимо карты кода добавляем еще трассировку запросов, смотрим что UI дергает и т.д
источник