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

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

1798  1 2 3 4 5 6 7 все
Программист коренной житель10.02.20 16:28
NEW 10.02.20 16:28 
в ответ AlexNek 10.02.20 16:16
считаем в году около 250 часов

Да ладно :) Я могу легко делать по 200 часов в месяц :)

100500/250=402 года.

100500 - это идиоматическое выражение (Стопицот)


#21 
Murr патриот10.02.20 16:56
Murr
NEW 10.02.20 16:56 
в ответ Программист 10.02.20 16:16

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

-----

Ну Я еще разок спрошу - а это входило в круг моих обязанностей?

Ну и почему не потрудился - потрудился... в тех частях над которыми трудился вполне потрудился.

Ну так и это похерили...


выглядит так "Сейчас все работает. Надо чтобы все работало также, только с новой БД"

-----

Вероятно.

И что ожидается?


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

-----

Не надо - просто сделай один конкретный примерчик под один репортик...

Ну скажем под тот, который Я сейчас чиню - Р20.

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

А когда сделаешь - Я тебе спасибо скажу... смущ



Надо четко формулировать задание.

-----

Конечно - надо. А кто будет это делать? безум


#22 
Murr патриот10.02.20 17:02
Murr
NEW 10.02.20 17:02 
в ответ Программист 10.02.20 16:22

Хоть генератор сущностей.

-----

Угу...

Я на "смотринах" заикнулся об переходе в к объектной форме и ЕФ6...

Ну так 2 месяца держали подальше...


Ты не сделал тесты ;)

-----

А должен был?


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

-----

А мне кто-то поставил такую задачу?

У меня по прежнему - поддержка системы и программирование в освободное от этого время...

Просто вижу что качество системы откатывается назад... и не чувствую от этого удовлетворения... хммм

#23 
Программист коренной житель10.02.20 17:13
NEW 10.02.20 17:13 
в ответ Murr 10.02.20 16:56
Ну Я еще разок спрошу - а это входило в круг моих обязанностей?

Это вопрос к твоему работодателю :)

Для меня написание тестов - неотемлемая часть программирования.

И если начальство по какой-то причине против написания тестов, то это просто некомпетентные люди.


Вероятно.
И что ожидается?

Кем ожидается?

Что вы ожидаете я не знаю. Но очевидно, что ничего хорошего вы не получите :)

А консалтеры ожидают вменяемых требований и критериев. Которым можно будет проверить реботу.


Не надо - просто сделай один конкретный примерчик под один репортик...

Присылай описание задачи и подписанный договор. Стоимость моего часа при работе над твоим проектом 150Евро. (обсуждение ТЗ - это тоже работа и за это тоже будет выставлен счет)


А когда сделаешь - Я тебе спасибо скажу...

За спасибо я не работаю.


Конечно - надо. А кто будет это делать?

Тут есть варианты. Этим может заниматься

1) тот, кто ПМ

2) ты

3) консалтеры (не важно что это за консалтеры - те, кто будет потом имплементировать или другие)

4) кто-то еще из твоей конторы

#24 
Программист коренной житель10.02.20 17:17
NEW 10.02.20 17:17 
в ответ Murr 10.02.20 17:02
А должен был?

Кто писал код, тот и должен был сделать тесты.


А мне кто-то поставил такую задачу?

Так и хрен ли ты тогда возмущаешься? :)


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

Ну так и запимайся своим делом и не лезь туда, где ни за что не отвечаешь.

#25 
Murr патриот10.02.20 17:40
Murr
NEW 10.02.20 17:40 
в ответ Программист 10.02.20 17:13

Для меня написание тестов - неотемлемая часть программирования

-----

У маня... на каком-то уровне... тоже.

Вот только до меня ваяли без тестов...


просто некомпетентные люди

-----

Уровень их компетентности Я оцениваю по выплачиваемой мне зарплате.

В этом плане - вполне компетентны.



Кем ожидается?

-----

Не знаю.

Меня просто ставят перед фактом что в суппорте будет новый код... и его надо будет фиксить... Как Р20 сегодня...



описание задачи

-----

Уже изложено выше - Р20. Другой информации у меня нет - Я с ним еще не работал.

Насколько Я понял ты его за пару минут обернешь в интерфейсный враппер и нарисуешь тесты...

Об пиве (там какие-то 5 при твоем рэйте) не переживай - в лучшем пабе поставлю...



Этим может заниматься

-----

Второй пункт вычеркни - меня этим с Июня надо было озадачивать...

Остальные могут делать все что считают нужным...


#26 
Murr патриот10.02.20 17:50
Murr
NEW 10.02.20 17:50 
в ответ Программист 10.02.20 17:17

Кто писал код, тот и должен был сделать тесты.

-----

Ошибаешься...

тесты, нормально, должен писать другой прогер...

желательно даже чтобы пишущий код не видел тестера вообще и писал до или в параллель...

Одна проблема - Я тут ОДИН... и даже если захочу отдать что-то на сторону - не имею никакой документации для этого...


Так и хрен ли ты тогда возмущаешься?

-----

А что еще делать?



Ну так и запимайся своим делом

-----

К несчастью то Р20, об котором Я пишу, не дает правильного результата после перевода...

А вот это уже падает ко мне и надо... вчера... т.е. завтра-послезавтра уже будут штрафы...

Точнее - не будет штрафов - сделал свое дело - починил... как умел... не уверен что все тип-топ...

Теперь сижу на попе ровно и возмущаюсь что от консалтеров не получен работающий репортик... смущ

И, кстати, перековыриваю спагетти в объекты... и к ним делаю тесты...


#27 
Программист коренной житель10.02.20 18:01
NEW 10.02.20 18:01 
в ответ Murr 10.02.20 17:40
Уровень их компетентности Я оцениваю по выплачиваемой мне зарплате.
В этом плане - вполне компетентны.

Я оценивию компетентность по знаниям в предметной области, а не по толщине бюджета :)

Кроме того, зарплату мне выплачивает один отдел, а шеф мой из другого :) Так что не смотря на хорошую зарплату, мой шеф остается некомпетентным :)


Меня просто ставят перед фактом что в суппорте будет новый код... и его надо будет фиксить... Как Р20 сегодня...

Ну и отлично. Консалтеры-то тут при чем? :) И при чем тут вообще весь этот топик?


Уже изложено выше - Р20. Другой информации у меня нет - Я с ним еще не работал.
Насколько Я понял ты его за пару минут обернешь в интерфейсный враппер и нарисуешь тесты...
Об пиве (там какие-то 5 при твоем рэйте) не переживай - в лучшем пабе поставлю...

Сорян, но за еду/пиво я тоже не работаю :) Цену я озвучил. За другую цену я не готов погружаться в твой проект :) Уж слишком ты его тут распиарил :D


Второй пункт вычеркни - меня этим с Июня надо было озадачивать...
Остальные могут делать все что считают нужным...

Ну так что ж ты паришься? Сиди ровно до июня и ковыряйся в этой двухгигабайтной лапше :)


Одно тут совершенно очевидно - консалтеры в этой ситуации вообще никак не виноваты :)

#28 
Murr патриот10.02.20 18:21
Murr
NEW 10.02.20 18:21 
в ответ Программист 10.02.20 18:01

Я оценивию компетентность по знаниям в предметной области

-----

У меня нет знаний в их предметной области. Получать их Я не планирую.


Консалтеры-то тут при чем?

----

При том, что похерили что было живого... и матюгаться Я на это буду долго...


Ну так что ж ты паришься?

-----

Ну а хрена мне их недоработки СЕЙЧАС валятся?

Вот и парюсь-матерюсь... вместо того чтоб книжку читать... спок

#29 
AlexNek патриот10.02.20 19:27
AlexNek
NEW 10.02.20 19:27 
в ответ Программист 10.02.20 16:28
100500 - это идиоматическое выражение

Один фиг, порядок думаю как раз тот который коту нужен смущ

Вот смотри, тебе дали стопицот линий спагетти кода, который должен работать "постоянно правильно".

Как ты при этом собираешься делать тесты?

К тому же, что именно надо не знает никто - нужно как было раньше спок

#30 
  moose коренной житель10.02.20 20:46
NEW 10.02.20 20:46 
в ответ Murr 07.02.20 12:23

как правило, люди, вовлеченные конторой-заказчиком в процесс, во время привлечения контрактников заняты чем-то (два месяца! если бы нет - нахера контрактники?). контрактник получает задание и кого-нибудь, кто будет отвечать на его вопросы по мере надобности. но контрактник очень хорошо понимает свое положение, и спрашивает только в крайних случаях.


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


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


просто нужно воспринимать реальность как она есть, и пытаться найти несколько минут, чтобы построить отношения с контрактниками, пока они еще здесь. не смотреть на них, как на конкурентов. ведь они уйдут, и пока они что-то в состоянии вам сообщить, нужно этим пользоваться. и записывать, вы не запомните (хотя кажется наоборот).


мурр, вам строго запретили с ними контактировать? или их против вас настроили? или что вам мешало с ними выпить по чашке пыва?

вот это что означает?

Я просил доступ к тому что они делают. Не давали.

даже не знакомили? или следили, с кем вы и о чем?


#31 
Программист коренной житель11.02.20 08:59
NEW 11.02.20 08:59 
в ответ Murr 10.02.20 18:21
При том, что похерили что было живого...

Ты сам сказал, что они все правильно перевели.


и матюгаться Я на это буду долго...

Ну это понятно :D Но в этом же не контрактники виноваты :) Также как и Билли не виноват в твоих матюках :) Просто тебе нравится матюкаться :D


Ну а хрена мне их недоработки СЕЙЧАС валятся?

Такое впечатление, что это у тебя первая работа и ты ответственнен за все :)

Если появилась какая-то проблема, то ты

1) пишешь е-мыл с уточняющими вопросами

2) если получен ответ и ты можешь двигаться дальше, то делаешь дальше. гото 4

3) пока нет ответа читаешь книжку.

4) если нет, то пишешь уточняющий е-мыл. гото 2 :)

5) решаешь проблему


Если где-то появляется начальник и начинает требовать, то говоришь, что ждешь ответа. И скидываешь ему всю переписку. Можешь изначально ставить начальника в СС.

#32 
Программист коренной житель11.02.20 09:01
NEW 11.02.20 09:01 
в ответ AlexNek 10.02.20 19:27
Вот смотри, тебе дали стопицот линий спагетти кода, который должен работать "постоянно правильно".

Тестируются фичи, а не строички кода.


К тому же, что именно надо не знает никто - нужно как было раньше

Значит сначала нужно собрать требования.


#33 
Murr патриот11.02.20 11:08
Murr
NEW 11.02.20 11:08 
в ответ Программист 11.02.20 08:59

Ты сам сказал, что они все правильно перевели.

-----

Они сделали синтаксически-правильный перевод.

Но это совсем не означает, что то что они выдали дает тот же результат, что и предыдущая система.


Но в этом же не контрактники виноваты

-----

Угу... Матюкаться это не мешает...



Если появилась какая-то проблема, то ты

-----

Выполняю п.3. безум

Все остальное делаю когда поручено.

Неприятность в том, что незнакомый мне код в результате работы этих ребят не стал лучше -

это то же спагетти, только с положенным на него нерабочим склом...


п.5 появляется только когда поручают что-то горящее, как Р20... смущ



#34 
Murr патриот11.02.20 11:30
Murr
NEW 11.02.20 11:30 
в ответ Программист 11.02.20 09:01

Значит сначала нужно собрать требования.

-----

Каким образом?

Есть под 500 работников обученных выполнять работу.

Они знают КАК надо делать их работу.

В процессе этого КАК - используют функционал - поставленную систему плюс 2 Гб самописного спагетти.

ЧТO именно они делают - они не знают. Они знают КАК.

Что именно они используют - тоже не имеют никакого понятия.

Выкопать требования - это значит в деталях выяснить ЧТО делается на каждом рабочем месте.

У тех, кто знает ЧТО они делают это займет порядка пары недель... и не факт что будет правильно...

и не факт что то что будет получено можно привязать к имеющейся системе.

У тех кто не знает - можно выкопать только из спагетти-кода... там 2+ Гб...


Ну так каким образом делать будем?

#35 
Murr патриот11.02.20 11:31
Murr
NEW 11.02.20 11:31 
в ответ Программист 11.02.20 09:01

Тестируются фичи, а не строички кода.

-----

Вообще-то, чтобы тестировать фичи - надо иметь эти самые фичи.

А в наличиии - спагетти...

#36 
Программист коренной житель11.02.20 11:49
NEW 11.02.20 11:49 
в ответ Murr 11.02.20 11:30
Ну так каким образом делать будем?

Ты как маленький :)

Ладно, говорю как я это делаю у себя.

1) беру некий код и смотрю что он делает. пытаюсь понять use-case'ы

2) делаю тесты на каждый use-case

3) добиваюсь, чтобы тесты были зелеными

4) добавляю пограничные состояния (очевидные)

5) добиваюсь, чтобы тесты были зелеными

6) говорю, что тесты созданы и код работает правильно

7) если приходит какой-то баг, то пишу тест с условиями в этом баге

8) убеждаюсь, что тест красный

9) гото 5.


Иногда бывает так, что при создании теста для какого-либо use-case'а в голову приходят другие use-case'ы. Тогда добавляю тесты и для них. Результат предполагаю сам исходя из логики программы. Если тест зеленый, то оставляю его. Если тест красный, то пытаюсь найти требования для данного сценария. Если требования найдены, то привожу тест в ссоответствие с требованиями и делаю этот тест зеленым. Если требования найти не получается, то исключаю тест из списка (но не удаляю) до тех пор, пока не появится баг и требования таки будут сформулированы.


Кто и как там работает и сколько там сотрудников меня совершенно не интересует.

#37 
Murr патриот11.02.20 12:15
Murr
NEW 11.02.20 12:15 
в ответ Программист 11.02.20 11:49

1) беру некий код и смотрю что он делает. пытаюсь понять use-case'ы

-----

Вот взял ты некий код.

Юсе-касов там один - две даты и кнопочка - можно вбить и давануть.

Результат - тоже известен - будет дампнут ехцел-файлик с результатом.

Открытой функциональности в коде нет - вся упакова в приватность.


Тест Я написал за 2 минуты.


А дальше что?


7) если приходит какой-то баг, то пишу тест с условиями в этом баге

-----

Да, приходит баг - в результирующий файлик НЕ содержит ожидаемой информации.

Пояснить что за информация клиент не может - просто не знает.

Знает, что всегда была, а сейчас - нету. Что с этим делать он не знает.


Что дальше?


Если ожидается что у меня будет время на выяснение деталей - напрасно -

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

Время, потребное на анализ данной проблемы путем просмотра спагетти-кода - от 2 недель

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

не будет.


пытаюсь найти требования для данного сценария.

-----

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

Вышеозначенный файлик содержал какую-то информацию об ордере, его части, или процессе,

или еще бог знает об чем и сейчас ее там нету, а следующая будет через 3-7 месяцев.

Куда и какая информация писалась в процессе - точно не известно. Кое-что - да, есть.

Но не все. тем более, что все только что поменялось...

#38 
Программист коренной житель11.02.20 12:58
NEW 11.02.20 12:58 
в ответ Murr 11.02.20 12:15
Вот взял ты некий код. Юсе-касов там один - две даты и кнопочка - можно вбить и давануть.Результат - тоже известен - будет дампнут ехцел-файлик с результатом.Открытой функциональности в коде нет - вся упакова в приватность.Тест Я написал за 2 минуты.А дальше что?

Дальше надо перестать валять дурачка.

Если результат - это саличие ексель-файла, значит твой код работает правильно.

Если результат - какие-то данные в эксель-файле, то проверять надо содержание эксель-файла.


Половина работы по написанию теста заключается в ответе на вопрос "Что я хочу протестировать?"

Тест который ты напишешь за 2 минуты будет тестировать совсем не то, что надо. Так что этот тест - говно :)

И юз-кейс там не один. И это не "две даты и кнопочка". А такой вот твой взгляд на проблему и приводит к тому, что у тебя там 2Гб спагетти кода и хер поймешь что там происходит.


Да, приходит баг - в результирующий файлик НЕ содержит ожидаемой информации.
Пояснить что за информация клиент не может - просто не знает.
Знает, что всегда была, а сейчас - нету.
Что с этим делать он не знает.

Что дальше?

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

Если клиент ожидает какую-то информацию, то он знает что они там ожидает.


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

Это что за поток сознания? Тесты не должны зависеть ни от каких ордеров. Для исполнения теста должны быть созданы условия. И тест этот должен быть зеленым всегда.

#39 
AlexNek патриот11.02.20 13:19
AlexNek
NEW 11.02.20 13:19 
в ответ Программист 11.02.20 09:01
Значит сначала нужно собрать требования.

Вы видимо на заводе никогда не работали. Я тоже, но провел там некоторое время для проекта. Да и немного помню кошкину ситуацию.


Систему в полном объеме не знает никто. Даже если ты делаешь чего-то для одного рабочего места тебе будут говорить о детали А, а то что там могут делать деталь Б и С можно узнать случайно, а можно и нет.

И это так, довольное грубое описание.


Тестируются фичи, а не строчки кода.

К сожалению, в наследство получаешь код, а что он делает нужно уже разбираться самому.

И не обязательно, что можно вообще написать хотя бы юнит тест к нужному фукнционалу.

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