Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Контрактники...

1798  1 2 3 4 5 6 7 все
Murr патриот07.02.20 12:23
Murr
NEW 07.02.20 12:23 

Контрактники...


Где-то в Сентябре прошлого года заводик начал искать шаражку для перетаскивания имеющегося кода под новую версию.

В том что купили просто нет нужной функциональности.


Где-то в Ноябре меня... или мне... показали двоих мужичков и сказали - они будут делать... перевод СКЛ с Оракла на Постгрее.

Приступили. Делали.


Пару месяцев делали. И пару месяцев Я просил доступ к тому что они делают.

Не давали.

На этой неделе - дали.

Посмотрел.

Выпал в осадок... полностью...


Ребятки два с гаком месяца занимались именно переводом СКЛ...

При этом ребяток совершенно не интересовало как будет работать переведенный СКЛ на новой базе.


И вот сегодня меня спрашивают

- Когда будет работать такой-то отчет?

- Ну так его же "перевели"...

- Да, но там такая галиматья... а по нему надо в следующую среду подать данные в налоговую... или оштрафуют...


Полез смотреть.

Есть превосходно переведенный СКЛ. Синтаксически полностью правильный.

И только одно плохо - в базе НЕТ таблицы с которой он должен брать данные...

Есть замена... но там вместо 5 полей - 20 полей... что куда мапится - непонятно...

Выборок там дохрена...


Ну и как с этим обходится?

#1 
NoName99 посетитель07.02.20 16:47
07.02.20 16:47 
в ответ Murr 07.02.20 12:23

#2 
Murr патриот07.02.20 17:10
Murr
NEW 07.02.20 17:10 
в ответ NoName99 07.02.20 16:47

Если бы...


Ковыряю что они сделали...


Есть у меня "исполнительная система", которой передаются команды.

Задизайнена на поддержку множества типов серверов.

Для работы со специфическим сервером необходимо написать реализацию одного интерфейса под специфику сервера.

Специально для засранцев каждая версия лежит в отдельной папке и имеет свой намеспаце.

Написать новую... хммм... ну 20 минут... втыкнуть в систему - еще 10-ть... если понимаешь как и куда...


Смотрю код... плакать хочется...

МсСкл-ный вариант... переделан... на Постгрее...

Оракловский вариант... переделан... на Постгрее...

Постгреешный вариант - не написан...


Пишу Постгрешный вариант, коммичу... было - вчера...

Сегодня - ор - у нас не работает... крутим все обратно...

Спрашиваю - что именно не работает... тесты написаны... пусть не полные, но все же...

Тишина... просто откатились на то, что покурочили... бо, у них работает...


Спрашиваю - вот там у нас есть очень непростой моментик - репорт работает

с базой на другой фабрике... да-да, сервер - наш, логины - тут, данные - там...

Как будете решать этот вопрос?

Ответ - не будем! Мы не будем работать с другими типами баз...

Идиоты... там те же базы... только как Я к ним подлючаюсь ребятки не понимают...


А так - ну да... был баг... нашел Я его - было НЕВ вместо ОВЕРРИДЕ...

Так теперь закоммитить невозможно - откачено...


#3 
Программист коренной житель10.02.20 11:41
NEW 10.02.20 11:41 
в ответ Murr 07.02.20 12:23

1)

сказали - они будут делать... перевод СКЛ с Оракла на Постгрее.Приступили. Делали.

2)

Ребятки два с гаком месяца занимались именно переводом СКЛ...


3)

Есть превосходно переведенный СКЛ. Синтаксически полностью правильный.


Ну и как с этим обходится?

Заплатить за отлично сделанную работу и уволить того, кто не смог сформулировать контрактникам ТЗ :)


#4 
Murr патриот10.02.20 13:23
Murr
NEW 10.02.20 13:23 
в ответ Программист 10.02.20 11:41

Заплатить за отлично сделанную работу и уволить того, кто не смог сформулировать контрактникам ТЗ :)

-----

Я таки двумя руками ЗА... вопрос лишь в том кто будет писать следующее ТЗ? - Я - точно не буду...

#5 
Murr патриот10.02.20 13:33
Murr
NEW 10.02.20 13:33 
в ответ Murr 10.02.20 13:23

Н.П.


Снова билли...


Есть у вбшников такая фича - собирают СКЛ-строку в теле метода... Ну да - вб6-лике...


Полтора дня ковырял кривой после перевода СКЛ пока не получил что-там-надо...


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


Сделал...


Запуск... компилируется без ошибок - все куотики на местах... и облом... трасе не дает никаких ошибок...


Разбираюсь что за хрень происходит... выдергиваю построенный СКЛ непосредственно перед выполенением, кидаю в дбфорге студию... ошибка в СКЛ...


Смотрю подстановку параметров - все чисто...


Разбираю по частям.... мать... мать... мать...

На каждый мой внутренний селект при пасте текста в окно редактора мудрый билли добавил словечко КАСЕ...


#6 
Программист коренной житель10.02.20 13:34
NEW 10.02.20 13:34 
в ответ Murr 10.02.20 13:23
Я таки двумя руками ЗА... вопрос лишь в том кто будет писать следующее ТЗ? - Я - точно не буду...

Это шутка?

Ну наймите консалтеров, которые напишут следующее ТЗ :) В чем проблема? Правда им тоже надо будет как-то внятно сформулировать ТЗ :)


Ну а так, придется вам идти к результату итеративно. Сейчас вот вы уже поняли, в чем была проблема - значит надо исправить ТЗ и нанять новых консатреров. После завершения работы, если не будет достигнут нужный результат, надо будет опять сделать работу над ошибками, понять проблемы, сделать новое ТЗ и опять нанять консалтеров. И так до тех пор, пока не получите нужный результат :)
#7 
Программист коренной житель10.02.20 13:36
NEW 10.02.20 13:36 
в ответ Murr 10.02.20 13:23

Ну и откой для себя UnitOfWork + Repository :) Должно помочь как при миграции с одной БД на другую, так и с тестируемостью ;)

#8 
Murr патриот10.02.20 14:06
Murr
NEW 10.02.20 14:06 
в ответ Программист 10.02.20 13:34

Это шутка?

-----

Не-а...

Через пару месяцев начну жестко пинать местных чиновников на предмет выдачи документов и меня вышлют... де(рь)мократия же европоцкая...

Кто будет этим заниматься далее - не интересно... безум


пока не получите нужный результат

-----

Нужный мне результат - возможность получать ирландскую пенсию в другой стране - будет достигнут через 5-с-половиной месяцев независимо от процесса... смущ

#9 
Murr патриот10.02.20 14:14
Murr
NEW 10.02.20 14:14 
в ответ Программист 10.02.20 13:36

UnitOfWork + Repository

-----

Да, если оно умеет делать две вещи:

- работать с вб6-лике спагетти кодом

- убеждать консалтеров его пользовать...


Пойми простую вещь - Я не могу убедить консалтеров "починить" ими уже сломанное...

Основной критерий - у них работает. А с изменениями - не работает...

При этом тестов нет вообще... а в тестах - засада - динамическое переключение между ливе и сандбох... ими сломанное...

На вопрос об том как они собираются проверять работоспособность кода имеется вполне нормальный ответ - загрузим и ЮЗВЕРЬ все проверит...

#10 
AlexNek патриот10.02.20 14:19
AlexNek
NEW 10.02.20 14:19 
в ответ Программист 10.02.20 13:36

Очень сложно представить как это должно помочь

https://medium.com/@utterbbq/c-unitofwork-and-repository-p...

когда все меряется на тонны долголетней вермишели с непонятными базами и отчетами.

Главное, что выкинуть всё нельзя и написать нормально по новой.

#11 
Программист коренной житель10.02.20 15:09
NEW 10.02.20 15:09 
в ответ Murr 10.02.20 14:06
Нужный мне результат - возможность получать ирландскую пенсию в другой стране - будет достигнут через 5-с-половиной месяцев независимо от процесса...

Ну так что же ты рыпаешься? :) ИБД тебя спесет :)

#12 
Программист коренной житель10.02.20 15:14
NEW 10.02.20 15:14 
в ответ Murr 10.02.20 14:14
- работать с вб6-лике спагетти кодом

Внутри репозиторий делать что хочешь. Вообще не принципиально.


- убеждать консалтеров его пользовать...

А их не надо убеждать.

Ты даешь им скомпилированную библиотеку с тестами и интерфейс. Задача консалтеров сделать так, чтобы все тесты были зелеными.


При этом тестов нет вообще...

Ну так это твой косяк, а не консалтеров.


На вопрос об том как они собираются проверять работоспособность кода имеется вполне нормальный ответ - загрузим и ЮЗВЕРЬ все проверит...

А как иначе, если у тебя нет тестов? :)

#13 
Программист коренной житель10.02.20 15:18
NEW 10.02.20 15:18 
в ответ AlexNek 10.02.20 14:19

Очень сложно представить как это должно помочь

Очень просто:

1) делается 100500 тестов, которые покрывают текущую реализацию кода.

2) консалтера выдаются скомпилироввые тесты, интерфейсы и старый код

3) консалтеры делают новый код и этот новый код должен проходить через все 100500 тестов.

Профит.

#14 
Murr патриот10.02.20 15:27
Murr
NEW 10.02.20 15:27 
в ответ Программист 10.02.20 15:09

ИБД тебя спесет

-----

Хи-хи... в отсутствие чего-нибудь горячего последние два месяца Я читал художественную литературу... хаха

А ты - ИБД...


Вот текущий вопроск возник:

- приходит заказик от старой клиентской компании... обычная CSV...

- конвертится моей конвертилкой во что-то консумабальное новой системой...

- система без проблем кушает предложенное...

Потом начинается крик - цены не те, много руками делать...

Разбираемся...

- сгенеренный файлик - идеален... ну оно и понятно - была бы ругань при импорте...

- цены реально выставлены "не те"...

- цены забитые в систему - те...

Ну и?


А проблемка - элементарная - при смене системы в тихую сменили номер системы ценообразования... был - 11, стал - 21...

Ну а вся "внешняя" информация осталась "11"...

Вот сижу, жду когда кто-то из операторов вгонит в систему ордерок с "21" и скажет то ли это...

Думаю, что на следующей неделе получу ответ... если, конечно, поторопятся...

ИБД? спок

#15 
Murr патриот10.02.20 15:37
Murr
NEW 10.02.20 15:37 
в ответ Программист 10.02.20 15:14

Ты даешь им скомпилированную библиотеку с тестами и интерфейс.

-----

А где Я ее возьму?

Я ее за 6+ лет так и не сумел сделать - слишком объемная задача... практически втрое превышающая написание новой системы...


Но у меня с контрактниками не в этом проблема.

С ними проблема в том, что один из них что-то понимает, но ничего делать не хочет, а второй - что-то делает, но не понимает...

Получается, что что-то делается, но нихрена не получается... ну или хрень получается...


Я вот сейчас запихал два новых проекта - по одному на каждую новую базу... плюс по одному проекту с тестами...

Все - по старой схеме - часть тестов - деструктивные, часть - работает с живой системой.

У меня - вполне управляемо...

А у них - не пойдет и снова все похерят отказавшись от тестов...

#16 
Murr патриот10.02.20 15:45
Murr
NEW 10.02.20 15:45 
в ответ Программист 10.02.20 15:14

А как иначе, если у тебя нет тестов? :)

-----

А с ответом - не работает! - А ты ожидаешь что-то еще?


Оцени - поменялась не только СУБД как таковая - самым серьезным образом поменялась структура таблиц в базах.

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

Поковырял выданную доку... не совпадает... настучал в почту вопрос - Что за фигня? - получил ответ - У вас ДРУГАЯ версия!!!

- А доки где? - Хммм... Я посмотрю, может есть где...

Это по основной системе - у нас еще 2+Гб самописного кода...


это твой косяк

-----

А Я их нанимал? смущ

#17 
AlexNek патриот10.02.20 16:16
AlexNek
NEW 10.02.20 16:16 
в ответ Программист 10.02.20 15:18
Очень просто:1) делается 100500 тестов

считаем в году около 250 часов 100500/250=402 года. Можно делать и по 4 теста в час, но вроде тоже не спасёт смущ

#18 
Программист коренной житель10.02.20 16:16
NEW 10.02.20 16:16 
в ответ Murr 10.02.20 15:37
А где Я ее возьму? Я ее за 6+ лет так и не сумел сделать - слишком объемная задача...

:) Ну нормально! :) Т.е. ты за 6+ лет не потрудился создать что-то, чем можно было бы измерить работоспособность кода, а в неработающем коде виноваты консалтеры :)

Ты там 6+ лет фигачишь новый код, у тебя там 2Гб исходников, херова прорва требований (которые вы, я уверен, даже не предоставили консалтерам) и теперь ты ожидаешь, что консалтеры за 2 месяца переработают весь этот твой спагети-код? При этом ТЗ для консалтеров, я уверен, выглядит так "Сейчас все работает. Надо чтобы все работало также, только с новой БД" :)

И при этом консалтеры еще и виноваты? :) Офигенски конечно :)


практически втрое превышающая написание новой системы...

Я тебя умоляю :)


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

Так и будет. Надо четко формулировать задание. И, плюс к этому, нужны четкие критерии оценки качества. А у тебя таких критериев нет. Точнее говоря, твоя оценка - "Чтобы у клиента все работало" :) И после этого ты удивляешься тому, что тебе предлагают выкатить обнову и посмотреть будет ли работать у клиента :)


#19 
Программист коренной житель10.02.20 16:22
NEW 10.02.20 16:22 
в ответ Murr 10.02.20 15:45
Оцени - поменялась не только СУБД как таковая - самым серьезным образом поменялась структура таблиц в базах.
Где и что лежит... не говоря об том откуда, куда и как пересчитывается - можно только догадываться...

Да хоть что там поменялось. Почитай про UnitOfWork + Repository, там нет привязки к структуре БД, к таблицам, к типу БД итд. БД - это черный ящик и за интерфейсами может быть все, что угодно. Хоть генератор сущностей.


А Я их нанимал?

Ты не сделал тесты ;) Твой косяк в том, что ты не можешь оценить работу консалтера. Твоя единственная метрика "работает / не работает".

#20 
1 2 3 4 5 6 7 все