Забавное обвинение
-
- Гуру
- Сообщения: 527
- Зарегистрирован: 21 окт 2012, 00:17
- Репутация: 15
- Ваше звание: developer
Забавное обвинение
Как-то на днях получил такую бредовую предъяву: что я якобы жалуюсь руководству.
Собственно сама история вопроса: месяцев 4-5 назад мне поручили подготовить проект на .NET к сдаче по этапу: написать код по нескольким ТЗ, значительно повысить быстродействие(т.к. уже 100 объектов на карте отрисовывались около 5 минут!!!), исправить ошибки разработчиков, которые они сами не смогли исправить и по возможности не переписывать большую часть кода в проекте. да еще надо было взаимодействовать и с разработчиками на с#, и на c++, и на java. На все про все - чуть больше месяца .
Ошибок в проекте на c# было до фига. Я начал исправление чужих ошибок с изучения функций вывода текста на карту, т.к. карта была совершенно не читабельна, когда на ней было несколько объектов. Как же я удивился, когда увидел, что эта функция в 300 или 200 строк кода . А во многие методы и функции еще и передаются ненужные дополнительные параметры(кстати самих параметров было около 5-10) - например, метка на которой и пишется текст (т.е. белая метка размещается на карте, на ней текст. Эта метка затирает полезную информацию и когда метки накладываются друг на друга, то карта преращается в УГ) .
Оказалось, что это просто такая реализация ПОДСВЕТКИ . Только очень хреново работающая и если учитывать еще и вызовы, то размером в полтыщи строк кода . Вначале я посмотрел в нете как нормальные люди на c# делают подсветку - оказывается, это просто белая окантовка вокруг текста без всяких долбаных меток. Затем я открыл документацию по arcobject, чтобы посмотреть - есть ли там готовая подсветка, чтобы написанного кода было как можно меньше(оказывается она есть еще с 9 версии). Тут я провозился пару дней, но проблему решил.
Заменил эту функцию в 300 строк кода в 2 функции по 10 строк кода в каждой; передачу параметров оставил, т.к. правок было бы до фига, пришлось бы тестировать код, а у меня времени было в обрез, т.к. это был всего лишь один баг из пары десятков, которые я исправил. Да еще и написал тысячи 3-5 строк кода с новым функционалом.
Собственно сама история вопроса: месяцев 4-5 назад мне поручили подготовить проект на .NET к сдаче по этапу: написать код по нескольким ТЗ, значительно повысить быстродействие(т.к. уже 100 объектов на карте отрисовывались около 5 минут!!!), исправить ошибки разработчиков, которые они сами не смогли исправить и по возможности не переписывать большую часть кода в проекте. да еще надо было взаимодействовать и с разработчиками на с#, и на c++, и на java. На все про все - чуть больше месяца .
Ошибок в проекте на c# было до фига. Я начал исправление чужих ошибок с изучения функций вывода текста на карту, т.к. карта была совершенно не читабельна, когда на ней было несколько объектов. Как же я удивился, когда увидел, что эта функция в 300 или 200 строк кода . А во многие методы и функции еще и передаются ненужные дополнительные параметры(кстати самих параметров было около 5-10) - например, метка на которой и пишется текст (т.е. белая метка размещается на карте, на ней текст. Эта метка затирает полезную информацию и когда метки накладываются друг на друга, то карта преращается в УГ) .
Оказалось, что это просто такая реализация ПОДСВЕТКИ . Только очень хреново работающая и если учитывать еще и вызовы, то размером в полтыщи строк кода . Вначале я посмотрел в нете как нормальные люди на c# делают подсветку - оказывается, это просто белая окантовка вокруг текста без всяких долбаных меток. Затем я открыл документацию по arcobject, чтобы посмотреть - есть ли там готовая подсветка, чтобы написанного кода было как можно меньше(оказывается она есть еще с 9 версии). Тут я провозился пару дней, но проблему решил.
Заменил эту функцию в 300 строк кода в 2 функции по 10 строк кода в каждой; передачу параметров оставил, т.к. правок было бы до фига, пришлось бы тестировать код, а у меня времени было в обрез, т.к. это был всего лишь один баг из пары десятков, которые я исправил. Да еще и написал тысячи 3-5 строк кода с новым функционалом.
-
- Гуру
- Сообщения: 527
- Зарегистрирован: 21 окт 2012, 00:17
- Репутация: 15
- Ваше звание: developer
Re: Забавное обвинение
Продолжение: т.к. в проекте было порядка ста тысяч строк кода, а все файлы были свалены в одну папку(справедливости ради стоит отметить, что около полусотни иконок все таки были свалены в отдельную папку, а исполняемые файлы находились еще в одной папке), то помимо обычных комментариев(тогда я разрабатывал ПО по всем правилам хорошего тона), я писал еще и комментарии, которые содержали мои идеи по модификации архитектуры приложения и того, что мне надо будет сделать на следующий день, чтобы не про***ть сроки. Сразу замечу, что ни баг-трекерами, ни таск системами, ни википедией мы не пользуемся(я знаю, что это глупо, но таковы правила ).
Начало конфликта: в репозитории в одном из коммитов(которые кстати разработчики на других языках вообще не просматривают) в одном(или двух) файлах была строка вида: "это г**но", а в комментарии к коммиту была строка "чтобы исправить этот некритичный баг надо написать 50 строк ***нокода", далее я описал исправление бага и объяснил, что это в дальнейшем не понадобится.
Как же я был удивлен, когда узнал, что бывшая разработчица этого продукта взяла и скинула файл моему начальнику(ну и ее кстати тоже) с моим комментарием "это г**но". Вот это кстати НАСТОЯЩИЙ ДОНОС. .
Начало конфликта: в репозитории в одном из коммитов(которые кстати разработчики на других языках вообще не просматривают) в одном(или двух) файлах была строка вида: "это г**но", а в комментарии к коммиту была строка "чтобы исправить этот некритичный баг надо написать 50 строк ***нокода", далее я описал исправление бага и объяснил, что это в дальнейшем не понадобится.
Как же я был удивлен, когда узнал, что бывшая разработчица этого продукта взяла и скинула файл моему начальнику(ну и ее кстати тоже) с моим комментарием "это г**но". Вот это кстати НАСТОЯЩИЙ ДОНОС. .
-
- Гуру
- Сообщения: 527
- Зарегистрирован: 21 окт 2012, 00:17
- Репутация: 15
- Ваше звание: developer
Re: Забавное обвинение
Суть вопроса: по опыту разработки в проектах с миллионами строк кода , я знал, что баги надо где-то фиксировать помимо репозитория, т.к. поиск этой информации по логу меркуриала будет затруднителен. Если был бы баг-трекер, то я бы просто указывал бы ссылку на коммит из репозитория. А так как ничего не было, то я просто для себя вел список багов, которые были до моих изменений в коде, и тех, которые появились в процессе ввода нового функционала.
Когда мой начальник или его зам говорили мне, что что-то неприемлемо в проекте и это надо исправить, то я сообщал им, что так было изначально(если действительно так было) и возможные способы исправления. Важное замечание из фразы так было изначально можно было сделать однозначный вывод в том, кто виноват в сложившейся ситуации.
Собственно сам вопрос: можно ли считать тот факт, что чужую вину я не брал на себя, тем, что я жаловался на других разработчиков?
Лично я ситаю, что ведение баг-листа - это обычное дело и ошибки должны исправлять те, кто их допустил, особенно, если качество кода ужасно, а в алгоритмах есть строки кода длиной в тысячи символов!!!. Самое интересное, когда я для проверки допустимых границ начал писать и заливать в репозиторий гавнокод(только с точки зрения архитектуры, т.к. язык и платформу я освоил за месяц; кроме того иногда поджимали сроки) сам, мне никаких замечаний эти разработчики по существу не делали.
Когда мой начальник или его зам говорили мне, что что-то неприемлемо в проекте и это надо исправить, то я сообщал им, что так было изначально(если действительно так было) и возможные способы исправления. Важное замечание из фразы так было изначально можно было сделать однозначный вывод в том, кто виноват в сложившейся ситуации.
Собственно сам вопрос: можно ли считать тот факт, что чужую вину я не брал на себя, тем, что я жаловался на других разработчиков?
Лично я ситаю, что ведение баг-листа - это обычное дело и ошибки должны исправлять те, кто их допустил, особенно, если качество кода ужасно, а в алгоритмах есть строки кода длиной в тысячи символов!!!. Самое интересное, когда я для проверки допустимых границ начал писать и заливать в репозиторий гавнокод(только с точки зрения архитектуры, т.к. язык и платформу я освоил за месяц; кроме того иногда поджимали сроки) сам, мне никаких замечаний эти разработчики по существу не делали.
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Забавное обвинение
Как я Вас понимаю...
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Забавное обвинение
Все зависит от выводов начальства. Где-то это считается мозговым штурмом и поиском решения, а где-то переводом стрелок. Сложно судить, какая у вас ситуация в коллективе, но понимание ее очень сильно может влиять на результирующую оценку. Вообще лучше писать, что в public, что в закрытых системах комментарии в рамках приличий. без нецензущины.novice писал(а): Собственно сам вопрос: можно ли считать тот факт, что чужую вину я не брал на себя, тем, что я жаловался на других разработчиков?
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Забавное обвинение
Вся эта история "гнилая" с начала и до конца. Все ее стороны так или иначе вели себя неконструктивно, а потому вина за сложившуюся ситуацию - общая, а какие-либо "правильные" действия в таком контексте - невозможны, как не может остаться чистым человек, который добровольно влез в грязь и еще активно ее сам месил.
Например, отсутствие навыков работы с какой-то платформой не может считаться оправданием для человека, которого "бросили на проект":
- можно сразу отказаться (если речь идет о сжатых сроках, т.к. самообучиться мгновенно невозможно, а без должного уровня знаний все равно выйдет нечто далекое от стандартов качества);
- можно согласиться, но тогда нужно соглашаться и на то, что могут встретиться любые неожиданности, а отсутствие знаний по конкретной платформе только усугубит проблему, а не будет служить оправданием.
Если проблема становится столь велика, что есть риск не справиться с принятой на себя ответственностью за нее, верные действия в этом случае - прежде всего, поставить руководство в известность о масштабах проблемы. При этом очевидно, что ее причины непосредственно для выработки путей ее решения не важны - важна суть. То есть если с проектом сложно работать из-за дрянного кода, то руководство должно знать, что он дрянной, и к чему это ведет, но вопрос "кто виноват, что код - дрянной" - второй, и важен он может быть только для того, чтобы руководство решило ради эффективности выгнать тех, кто пишет дрянной код, и взять квалифицированных разработчиков. Только будьте готовы и сами в таком случае отправиться вслед за ними, потому что если руководство допускает возможность замены разработчиков, чья квалификация не соответствует задаче, на тех, чья соответствует, то ваше собственное незнание важной для проекта платформы тоже будет, справедливым образом, расценено как помеха эффективной работе.
Вопрос о "стукачестве" и прочем таком встает, как правило, в тех ситуациях, когда у всех участников "рыльце в пушку" - когда каждый занимается тем, что хорошо умеет, а работа делается эффективно, затесавшимся криворуким в такой системе просто не оказывается места и они из нее вытесняются. Место для "разборок по понятиям" и вопросов, почему один индивидуум не покрывает криворукость другого, если он сам тоже нуждается до определенной степени в том, чтобы его кто-то покрывал, находится только в условиях, где всем есть что предъявить друг другу. Вопросы на форуме, которые на русский язык переводятся, как "я в этом ничего толком не понимаю, но за задачу, тем не менее, взялся, так сделайте же за меня пару кусков моей работы, за которую я получаю зарплату" красноречиво свидетельствуют о том, что проблема не в "стукачестве", а в том, чтобы, наконец, начать заниматься только тем, что умеешь, а не браться за все подряд, "авось как-то вытяну". Какой код CSS в том проекте на OL получится у вас (см. соседнюю тему), легко себе представить, и отличаться от того дрянного кода, который вы описали выше, он не будет ни чем.
Например, отсутствие навыков работы с какой-то платформой не может считаться оправданием для человека, которого "бросили на проект":
- можно сразу отказаться (если речь идет о сжатых сроках, т.к. самообучиться мгновенно невозможно, а без должного уровня знаний все равно выйдет нечто далекое от стандартов качества);
- можно согласиться, но тогда нужно соглашаться и на то, что могут встретиться любые неожиданности, а отсутствие знаний по конкретной платформе только усугубит проблему, а не будет служить оправданием.
Если проблема становится столь велика, что есть риск не справиться с принятой на себя ответственностью за нее, верные действия в этом случае - прежде всего, поставить руководство в известность о масштабах проблемы. При этом очевидно, что ее причины непосредственно для выработки путей ее решения не важны - важна суть. То есть если с проектом сложно работать из-за дрянного кода, то руководство должно знать, что он дрянной, и к чему это ведет, но вопрос "кто виноват, что код - дрянной" - второй, и важен он может быть только для того, чтобы руководство решило ради эффективности выгнать тех, кто пишет дрянной код, и взять квалифицированных разработчиков. Только будьте готовы и сами в таком случае отправиться вслед за ними, потому что если руководство допускает возможность замены разработчиков, чья квалификация не соответствует задаче, на тех, чья соответствует, то ваше собственное незнание важной для проекта платформы тоже будет, справедливым образом, расценено как помеха эффективной работе.
Вопрос о "стукачестве" и прочем таком встает, как правило, в тех ситуациях, когда у всех участников "рыльце в пушку" - когда каждый занимается тем, что хорошо умеет, а работа делается эффективно, затесавшимся криворуким в такой системе просто не оказывается места и они из нее вытесняются. Место для "разборок по понятиям" и вопросов, почему один индивидуум не покрывает криворукость другого, если он сам тоже нуждается до определенной степени в том, чтобы его кто-то покрывал, находится только в условиях, где всем есть что предъявить друг другу. Вопросы на форуме, которые на русский язык переводятся, как "я в этом ничего толком не понимаю, но за задачу, тем не менее, взялся, так сделайте же за меня пару кусков моей работы, за которую я получаю зарплату" красноречиво свидетельствуют о том, что проблема не в "стукачестве", а в том, чтобы, наконец, начать заниматься только тем, что умеешь, а не браться за все подряд, "авось как-то вытяну". Какой код CSS в том проекте на OL получится у вас (см. соседнюю тему), легко себе представить, и отличаться от того дрянного кода, который вы описали выше, он не будет ни чем.
-
- Гуру
- Сообщения: 527
- Зарегистрирован: 21 окт 2012, 00:17
- Репутация: 15
- Ваше звание: developer
Re: Забавное обвинение
Никто никого не бросал, у нас профессиональное руководство. Даже за месяц с небольшим работы было несколько контрольных точек. Если бы я завалил бы хоть одну, то проект передали бы другим разработчикам, кроме того я уже разрабатывал ПО на данной платформе и языке с использованием ArcObjects.отсутствие навыков работы с какой-то платформой не может считаться оправданием для человека, которого "бросили на проект". Если проблема становится столь велика, что есть риск не справиться с принятой на себя ответственностью за нее, верные действия в этом случае - прежде всего, поставить руководство в известность о масштабах проблемы.
Также проект был не очень большим. Столько кода пишет рядовой программист за год-два, если с нуля разрабатывает ПО. Более того, даже в теории программной инженерии - это то количество строк кода, которое может успешно поддерживать один человек.
Отсутствие опыта работы с каким-либо фреймворком, библиотекой, знаний в какой-либо области и т.д. не всегда критично. Иногда можно использовать альтернативные варианты разработки: winform вместо devexpressa, часть кода перенести в другой проект на другом языке, вместо TPL использовать чуть более старую версию, многопоточность организовать через процессы и т.д. Безусловно, часть задач перенести невозможно, но ответы на них можно получить на куче сайтов вроде stackexchange, codeproject, а также спросить у других разработчиков.отсутствие навыков работы с какой-то платформой
Попробуйте найти специалистов в arcobjects, devexpress и еще в куче библиотек в провинции, я думаю это еще и будет очень недешево, особенно если заодно нанимать архитектора. Кроме того у каждого свои понятия в квалифицированности.взять квалифицированных разработчиков
Собственно, никто так и не ответил на поставленный вопрос: есть ли какая-то альтернатива багтрекинговой системе?
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Забавное обвинение
всё очень странно
у вас
у вас
но у вас нет трекера в который глядело бы ваше непосредственное начальство?novice писал(а):профессиональное руководство
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Забавное обвинение
novice, вы в своем духе: вам говорят, что ваш вопрос не имеет прямого ответа, потому что проблема явно шире, а вы пытаетесь все равно вернуться к своему ограниченному представлению о ситуации и найти правых и виноватых в собственной системе координат, которая неверна.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Забавное обвинение
Also, упаси боже мне работать в таком рассаднике.
Встречный вопрос - а вы тут что делаете, пока ни одного вопроса или ответа реально по делу от вас.
Встречный вопрос - а вы тут что делаете, пока ни одного вопроса или ответа реально по делу от вас.
-
- Участник
- Сообщения: 78
- Зарегистрирован: 29 авг 2013, 10:55
- Репутация: 1
Re: Забавное обвинение
компания хорошая, на порядок лучше Nikita Online, единственный минус - гис-разработчики не самой лучшей квалификации
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Забавное обвинение
Уж не еще ли один виртуал г-на novice пожаловал...
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Забавное обвинение
В самый кульминационный момент развели по углам, запретив высказываться.
Не продолжая ту тему (и потому, надеюсь, не навлекая на себя бан) замечу, что моё обвинение было вызвано не отношением человека к определённым событиям в стране, а лишь способом - не достойном интеллигентного мыслящего человека - это мнение высказывать. Этот способ в момент и вызывает подозрения, что человек не свои мысли пишет, а по заказу. Хотя, допускаю, что эти мысли и его собственные. И тогда искренно жаль, на самом деле, их автора.
Не продолжая ту тему (и потому, надеюсь, не навлекая на себя бан) замечу, что моё обвинение было вызвано не отношением человека к определённым событиям в стране, а лишь способом - не достойном интеллигентного мыслящего человека - это мнение высказывать. Этот способ в момент и вызывает подозрения, что человек не свои мысли пишет, а по заказу. Хотя, допускаю, что эти мысли и его собственные. И тогда искренно жаль, на самом деле, их автора.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя