Size: a a a

2020 July 04

CD

Constantine Drozdov in pro.cxx.holywars
Chris Calvin
Ну то есть, ты потратил N человекомесяцев на текущую реализацию, а в итоге тебе нужно еще M человекомесяцев
Примерно так, да
источник

CC

Chris Calvin in pro.cxx.holywars
Ну я когда предпологаю что подобная хрень возможна - докидываю абстракций :(
источник

CD

Constantine Drozdov in pro.cxx.holywars
Причем это выясняется вообще на фазе доводки
источник

CC

Chris Calvin in pro.cxx.holywars
Благо они потом не очень сложно выбрасываются
источник

CC

Chris Calvin in pro.cxx.holywars
Так как я все модули снабжаю фасадами и у меня наружу не торчат эти "низкоуровневые контракты"
источник

CD

Constantine Drozdov in pro.cxx.holywars
Chris Calvin
Ну я когда предпологаю что подобная хрень возможна - докидываю абстракций :(
Смотри, есть контракт-2 с его множеством операций, но поддержка этого контракта очень сложная и беспрецедентная
источник

CC

Chris Calvin in pro.cxx.holywars
Когда я понимаю что тут больше ничего не надо я убираю низкоуровневые контракты, и у меня мои фасады начинают описывать контракт
источник

CC

Chris Calvin in pro.cxx.holywars
Constantine Drozdov
Смотри, есть контракт-2 с его множеством операций, но поддержка этого контракта очень сложная и беспрецедентная
Ты его разбиваешь на N контрактов и создаешь фасадный контракт
источник

CC

Chris Calvin in pro.cxx.holywars
Менеджить N мелких контрактов проще  чем один большой
источник

CD

Constantine Drozdov in pro.cxx.holywars
Chris Calvin
Ты его разбиваешь на N контрактов и создаешь фасадный контракт
Считай, что он уже. Например, у тебя нет мьютексов. Вообще.
источник

CD

Constantine Drozdov in pro.cxx.holywars
Весь алгоритм лок-фри
источник

CC

Chris Calvin in pro.cxx.holywars
Так, стой
источник

CD

Constantine Drozdov in pro.cxx.holywars
Но намного проще писать его на мьютексах
источник

CC

Chris Calvin in pro.cxx.holywars
Какие мьютексы, какой лок-фри
источник

CD

Constantine Drozdov in pro.cxx.holywars
Ну вот представь
источник

CC

Chris Calvin in pro.cxx.holywars
Ок
источник

CD

Constantine Drozdov in pro.cxx.holywars
Ты значит программировал с блокировками
источник

CD

Constantine Drozdov in pro.cxx.holywars
А потом оказалось, что один из модулей требует лок-фри на 10к кода
источник

CC

Chris Calvin in pro.cxx.holywars
У тебя контракт не должен определять подобное поведение
источник

CD

Constantine Drozdov in pro.cxx.holywars
Это часть контракта модуля
источник