Классика жанра — впиливаю новые фичи в уже существующие .net проджекты.
Отсутствие using'а и ручного закрытия sql коннекшена/ридера/sql команд уже не в первом по счету проджекте начинает, мягко говоря, напрягать
Фиг с ним, с остальными "мелочами" — с ними жить можно. Оно работает.
А вот неотдиспоженные объекты нафиг все рухают. И это нифига не прикольно.
Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
Здравствуйте, avishnyakov, Вы писали:
A>И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
Молча пофиксил и забыл, вместо того чтобы устраивать разборки.
Здравствуйте, UA, Вы писали:
UA>Молча пофиксил и забыл, вместо того чтобы устраивать разборки.
Во всех местах using-и поставить?
Тоже вариант, я согласен. Я совсем не против.
Если немного подумать, то это не выход. Точнее не совсем хороший выход.
Рано или поздно это может сказаться на моем доходе в виде отсутствия бонуса, штрафа, сорванных сроков проджекта/внедрения новой фичи/снятия с проекта/бла бла бла.
Ну потому что я молча натыкался/искал/правил баги в течении N часов или даже дней, после чего тестировал и возможно снова правил баги, а не "всего лишь кнопку несложную прикрутить за 5 минут".
Остальные следствия плавно вытекают их вышеописанного.
Мне бы не хотелось так попасть — хотел как лучше, получилось как всегда, правда?
Здравствуйте, avishnyakov, Вы писали:
A>Здравствуйте, UA, Вы писали:
UA>>Молча пофиксил и забыл, вместо того чтобы устраивать разборки.
A>Во всех местах using-и поставить? A>Тоже вариант, я согласен. Я совсем не против.
Смотря какие полномочия, если лид то надо было делать вовремя ревью чтобы не приходилось потом париться. Если разработчик то фиксишь по ходу того что видишь.
A>Если немного подумать, то это не выход. Точнее не совсем хороший выход. A>Рано или поздно это может сказаться на моем доходе в виде отсутствия бонуса, штрафа, сорванных сроков проджекта/внедрения новой фичи/снятия с проекта/бла бла бла. A>Ну потому что я молча натыкался/искал/правил баги в течении N часов или даже дней, после чего тестировал и возможно снова правил баги, а не "всего лишь кнопку несложную прикрутить за 5 минут". A>Остальные следствия плавно вытекают их вышеописанного. A>Мне бы не хотелось так попасть — хотел как лучше, получилось как всегда, правда?
Думаю что у вас сами процессы похрамывают, так как девелопить поверх неработающего кода стремно. Но даже если такое и случается то время на разработку должны проекспандить без вопросов.
A>А вы, UA, хотели бы на это напороться?
Бывали ситуации и намного хуже описанной, но тем не менее проэкты с трудом но взлетали и продолжают до сих пор летать 24x7 без поддержки.
Согласен с вами.
Думаю это у меня немного эмоции взыграли.
Я не лид, процессов на мой взгляд нет, ревью не практикуется.
Правим нет-нет понемногу, что то где то дописываем, но в целом иногда все это просто убивает — ведь понимаешь примерно как думал тот, кто не диспозит коннекты или ридеры-команды. Это оставляет некоторый осадок.
Здравствуйте, avishnyakov, Вы писали:
A>Собственно, буду краток.
A>Классика жанра — впиливаю новые фичи в уже существующие .net проджекты. A>Отсутствие using'а и ручного закрытия sql коннекшена/ридера/sql команд уже не в первом по счету проджекте начинает, мягко говоря, напрягать
A>Фиг с ним, с остальными "мелочами" — с ними жить можно. Оно работает. A>А вот неотдиспоженные объекты нафиг все рухают. И это нифига не прикольно.
A>Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
A>И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
А как работать, когда Dispose вызывается, но не в final-блоках? При этом тело метода с такими багами, что сыпется постоянно.
Я просто в отчете пишу, что правил такие-то баги, такого-то разработчика. И потом рассылку всем, будьте внимательны — не допускайте такого. Все с потниманием относятся.
Здравствуйте, Spender, Вы писали:
S>А как работать, когда Dispose вызывается, но не в final-блоках? При этом тело метода с такими багами, что сыпется постоянно. S>Я просто в отчете пишу, что правил такие-то баги, такого-то разработчика. И потом рассылку всем, будьте внимательны — не допускайте такого. Все с потниманием относятся.
Как вариант — вроде с одной стороны довольно нейтрально, с другой — и бестпрактис подтянется в тиме.
Думаю, что это неплохой путь. Конечно же с адекватным контентом письма и ясными мыслями в оном.
Здравствуйте, avishnyakov, Вы писали:
A>Фиг с ним, с остальными "мелочами" — с ними жить можно. Оно работает. A>А вот неотдиспоженные объекты нафиг все рухают. И это нифига не прикольно.
A>Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
большинство кода пишется "в горящем поезде на спине умирающего друга" — поэтому не до качества.
A>И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
Здравствуйте, Sni4ok, Вы писали:
S>до тех пор, пока над вами будет пастух, вам придётся хоть как-то проявлять лояльность, а значит с чем-то мериться, что вас может не всегда устраивать.
И куда же двигаться, мой уважаемый пастух?
Форум конечно же придает некой уверенности, пока сам на это не напоришься.
Здравствуйте, avishnyakov, Вы писали:
A>И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
Если не получается принудить всех писать нормально, можно сделать костыль. Например, периодически вызывать GC.Collect() по таймеру.
Это всё же лучше чем ничего.
Здравствуйте, avishnyakov, Вы писали:
A>Отсутствие using'а и ручного закрытия sql коннекшена/ридера/sql команд уже не в первом по счету проджекте начинает, мягко говоря, напрягать
Использовать фреймворки где не требуется вручную открывать конекшены , или самому написать.
Здравствуйте, avishnyakov, Вы писали:
A>Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
Радуйся — у тебя GC есть, и нет длительных поисков мем. ликов.
Планирование архитектуры, реевью и тестирование придумали не от хорошей жизни.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Фанатик, Вы писали:
Ф>Радуйся — у тебя GC есть, и нет длительных поисков мем. ликов. Ф>Планирование архитектуры, реевью и тестирование придумали не от хорошей жизни.
Здравствуйте, gandjustas, Вы писали:
G>Встроить в билд. В студии это analyze.
Во-первых на это будут забивать. Тупо отключать. Решарпер не юзается и даже и не пытаются. "Тормозит" — все что о нем знают.
Во вторых — кто нить вообще представляет, что такое работая рядовым быдло-девелопером продвинуть в компании CI с билд сервером? — ну так, что бы наверняка говно не коммитили. Да-да-да, понемногу, потихоньку, бла-бла-бла, так через пару лет может и доползем, только это какие то игры в политику, а не работа. И тупо означает, что мега-главный архитектор с армией управленцев или там проджект манагеров и т.д. занимается фигней.
Резюмируя, хочется сказать, что есть IT которое в блогах, где все красиво и прикольно. Умные слова есть всякие и есть ряд компаний, где это юзается и получается со всего этого бенефеты.
Ну и конечно же все остальные компании, где эти блоги даже не читают и совсем не представляют что означают эти умные слова
Здравствуйте, avishnyakov, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>Встроить в билд. В студии это analyze.
A>Во-первых на это будут забивать. Тупо отключать. Решарпер не юзается и даже и не пытаются. "Тормозит" — все что о нем знают.
А билд на сервере? В TFS2010 есть gated checkins, пока билд не сработает — не закоммитится.
A>Во вторых — кто нить вообще представляет, что такое работая рядовым быдло-девелопером продвинуть в компании CI с билд сервером? — ну так, что бы наверняка говно не коммитили. Да-да-да, понемногу, потихоньку, бла-бла-бла, так через пару лет может и доползем, только это какие то игры в политику, а не работа. И тупо означает, что мега-главный архитектор с армией управленцев или там проджект манагеров и т.д. занимается фигней.
Тогда меняйте работу.
Кстати за определенную плату могу консультантом поработать по внедрению vs2010\TFS\.NET 4
A>Резюмируя, хочется сказать, что есть IT которое в блогах, где все красиво и прикольно. Умные слова есть всякие и есть ряд компаний, где это юзается и получается со всего этого бенефеты.
Среди известных мне таких 80%, причем среди тех, которые попадают в оставшиеся 20%, очень много контор со штатом программистов менее 5 человек.
A>Ну и конечно же все остальные компании, где эти блоги даже не читают и совсем не представляют что означают эти умные слова
Их не так много.
Здравствуйте, avishnyakov, Вы писали:
A>Собственно, буду краток.
A>Классика жанра — впиливаю новые фичи в уже существующие .net проджекты. A>Отсутствие using'а и ручного закрытия sql коннекшена/ридера/sql команд уже не в первом по счету проджекте начинает, мягко говоря, напрягать
Ага, есть такое дело. Причем на собеседованиях, каждій норовит расспросить зачем IDisposable, а как доходит до реального кода...
Что еще более удивительно, но я неоднократно убеждался, что в этом конкретном вопросе корректный код пишут только сениоры и... джуниоры, но только те из них, которые правильных книжек начитались.
Здравствуйте, SE, Вы писали:
SE>Ага, есть такое дело. Причем на собеседованиях, каждій норовит расспросить зачем IDisposable, а как доходит до реального кода... SE>Что еще более удивительно, но я неоднократно убеждался, что в этом конкретном вопросе корректный код пишут только сениоры и... джуниоры, но только те из них, которые правильных книжек начитались.
Так вот, рядом была и есть тема о деструкторах в c++.
Она появилась достаточно давно, но периодические камменты в ней и то, что я видел и вижу на тех или иных проектах, заставляет крепко задуматься
Ряде случаев, как и IDisposable, фиксится решарпером и запретом на коммиты явного говнеца, но вот что делать с тем, что бы так не писали изначально — я не знаю.
Возможно есть смысл в обязательном порядке отправлять сотрудников на курсы и заставлять сдавать экзамены MS? — но тоже не панацея, если в голове дачи, машины и на рабочем столе новости яндекса или газонокосилки каждый 10 минут, то это полный провал.
Имхо, в таких случаях нужно менять работу.
Приходишь на собеседование и спрашиваешь у компании — юнит тесты юзаете? Resharper стоит? *тут еще ряд вопросов*
Да — продолжаешь общение.
Нет — идешь в другую компанию.
Ибо сколько уже можно?!
Здравствуйте, kosmik, Вы писали:
K>Можно просто брать людей, которые пишут код так как Вы ожидаете.
Можно, но кому это нужно? — продажи от этого не растут
K>>Можно просто брать людей, которые пишут код так как Вы ожидаете. A>Можно, но кому это нужно? — продажи от этого не растут
Теоретически — меньший time-to-market (а это поддержка sales) + меньше затрат на support. Но насколько это важно — очень сильно зависит от специфики конкретной компании.
Здравствуйте, kosmik, Вы писали:
K>Теоретически — меньший time-to-market (а это поддержка sales) + меньше затрат на support. Но насколько это важно — очень сильно зависит от специфики конкретной компании.
Довольно крупный интегратор.
Но еще раз, продажи от этого не растут — что бы вы не делали.
По моему, это очередное осознание того, что ресурсы суть есть не только память.
И GC не спасает.
GC — чисто для прикладухи, да и то для сферической...
Все равно панацеи только две: RAII и налаживание процессов разработки (code review, и т.д).
Мне до сих пор не особо понятно зачем GC нужен.
Утечки ресурсов все равно будут, а RAII похерили.
Я про java и dotnet.
Фреймворки там замечательные, а все остальное — только маскировка проблем.
Здравствуйте, avishnyakov, Вы писали:
A>Собственно, буду краток.
A>Классика жанра — впиливаю новые фичи в уже существующие .net проджекты. A>Отсутствие using'а и ручного закрытия sql коннекшена/ридера/sql команд уже не в первом по счету проджекте начинает, мягко говоря, напрягать
A>Фиг с ним, с остальными "мелочами" — с ними жить можно. Оно работает. A>А вот неотдиспоженные объекты нафиг все рухают. И это нифига не прикольно.
A>Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
A>И что делать в таких ситуациях? — я всего лишь хочу нормально работать и зарабатывать, а не заниматься всяким "политическим" бредом, ссорами и разбором полетов — бла бла бла. Вроде, хочу не много
A>Я само собой тоже не идеален, но, блин, планомерное и просто регулярное отсутствие using или на крайняк ручного освобождения ресурсов меня окончательно выбили из колеи и спустили мою веру в людей ниже плинтуса.
Автоматический билд + тест не спасут твою веру в человечество?
Здравствуйте, kosmik, Вы писали:
K>Тогда нужно либо забить либо валить
Забить — время проходить "впустую". Ты ничему не учишься с одной стороны, с другой — ничего не даешь тиму, как и тим тебе. Это неправильно.
Хотя конечно можешь изучать что то дома, но кому это нафиг нужно?
Фигня в том, что текущий .net стек, который уже более-менее стабильно присутствует на ха-ха-ру довольно сильно опережает то, чем приходится заниматься на работе. Это очень сильно беспокоит. Окружение и рабочий стек, технологии и процессы ну и сам уровень разработки очень сильно отстают от ха-ха-ру и я не вижу никаких объективных причин на то, что бы так было.
Я просто не понимаю это.
Здравствуйте, s.ts, Вы писали:
ST>Мне до сих пор не особо понятно зачем GC нужен.
Потому что ты рассматриваешь в качестве примера разработчиков, которые не умеют нормально программировать в среде с GC. Понятное дело, что серебряной пули нет, но определенные проблемы GC таки решает. И те, кто потратил время на изучение соответствующей платформы, те, кто думает о качестве своего кода, отлично пользуются преимуществами сборщик. Ну, а если судить о .Net или Java по дурацкому коду, написанному программистами, которые не утруждают себя соблюдением основных правил, то да — таким GC не нужен
Здравствуйте, avishnyakov, Вы писали:
A>Фигня в том, что текущий .net стек, который уже более-менее стабильно присутствует на ха-ха-ру довольно сильно опережает то, чем приходится заниматься на работе.
насколько сильно опережает? можно пример?
Берите ситуацию в свои руки! А именно:
1. Задружитесь с толковым менежером (директором, если нет толкового менежера)
2. Наглядно объясните другу, какие бенефиты бизнесу принесет нормальный процесс
3. Получив благословение, вводите процесс на ввереной вам территории
...
Х. ПРОФИТ!
Здравствуйте, avishnyakov, Вы писали:
A>Здравствуйте, kosmik, Вы писали:
K>>Тогда нужно либо забить либо валить
A>Забить — время проходить "впустую". Ты ничему не учишься с одной стороны, с другой — ничего не даешь тиму, как и тим тебе. Это неправильно. A>Хотя конечно можешь изучать что то дома, но кому это нафиг нужно?
A>Фигня в том, что текущий .net стек, который уже более-менее стабильно присутствует на ха-ха-ру довольно сильно опережает то, чем приходится заниматься на работе. Это очень сильно беспокоит. Окружение и рабочий стек, технологии и процессы ну и сам уровень разработки очень сильно отстают от ха-ха-ру и я не вижу никаких объективных причин на то, что бы так было. A>Я просто не понимаю это.
A>Резюмируя, хочется сказать, что есть IT которое в блогах, где все красиво и прикольно. Умные слова есть всякие и есть ряд компаний, где это юзается и получается со всего этого бенефеты.
В любой отрасли с её ростом работает закон больших чисел. Если утрировать, то основная масса -- посредственности. Особенно, после того, как в IT пошли люди не потому что им процесс нравится, а потому что зарплаты выше чем в остальных областях. Вам ещё повезло, по тому же закону больших чисел в Москве должны быть фирмы где и процесс налажен и отбор сотрудников жесткий...
Удвой число ошибок, если не получается добиться цели.
Здравствуйте, BigBoss, Вы писали:
BB>Так осталось только написать тест, воспроизводящий ошибку?
Осталось только перепрошить мозг всей компании, искоренив всякую фиготу типа "так исторически сложилось" и прочий бред наряду с личными выгодами отдельных людей "а мне все равно платят, пошло оно все нафиг".