LINUX.ORG.RU
ФорумTalks

[О стереотипах] Раз уж тут у нас курилка и можно обо всем...


0

0

...то давайте подискассим насчет такого вот вопроса.

Делаете вот вы ревью кода своего коллеги. Это человек, устроившийся к вам на работу недавно, тихий, необщительный, короче, стереотипнейший программист. И во время этого ревью вы видите, что код из рук вон плох: копипаста лезет из щелей, глобальные переменные, какие-то хаки, чтобы это все не сломалось. Одним словом, жуть такая, что вы беретесь за валидол, понимая, что вам это будет долго сниться. Как можно дословнее опишите, как вы объясните коллеге суть вещей, что будете делать. Представьте это себе в ярких красках, но будьте реалистом.

Представили? А какие будут ваши действия, если такую лажу допустил человек, о котором вы бы никогда такого не подумали? У него стаж больше вашего, человек, приятный во всех отношениях, никогда мухи не обидит, он вам денег одалживал, а потом простил долг?

Представили и это? А теперь представьте себе, что у человека, описанного в предыдущем абзаце, ко всему вышесказанному, еще и пол, противоположный вашему. И вам надо сказать, что этот человек очень сильно облажался. Как вы будете это делать?

Три просьбы. Пожалуйста, без лицемерия. Над вами никто не стоит, пишите, как оно есть. И вторая — потрудитесь указать собственный пол, сделав это макскомально честно. Третья — если вы _были_ в такой ситуации, то скажите, как поступили, а не как бы вы поступили теперь.

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

★★★★★

Если придется - одинаково. Nothing personal. Но вообще я этого не буду делать, потому что это сделает тимлид. Он умный и общительный, ему за это платят.

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


просто жгёшь термитом.

volh ★★
()

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

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

Пол не важен - мы не на романтическом свидании..

Похожие ситуации бывали при первом ревью. Тогда мы садились и подробно обсуждали, как и что делается, и с какой целью. Вменяемые люди обычно внемлют аргументам. Хотя относиться к ним начинаешь подозрительно :)

Еще больше ситуаций бывало на собеседованиях - но там всё тривиально решается :D Готов человека доучивать - бери, не готов - ищи другого.

Manhunt ★★★★★
()

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

1. Done!
2. М
3. Кокретно в такой нет (я не программист), а подобные ситуации бывает возникают.

run4way
()

Ну покажи свой код, объясни почему то, что она делает неправильно, если не поймет. Спокойно конечно, если это тебя лично не касается. В чем проблема то?

alex4
()
Ответ на: комментарий от volh

просто жгёшь термитом.

У нас есть интересные личности (tm), которые затруднятся с ответом.

shimon ★★★★★
() автор топика
Ответ на: комментарий от alex4

> Ну покажи свой код, объясни почему то, что она делает неправильно, если не поймет. Спокойно конечно, если это тебя лично не касается. В чем проблема то?

Я не прошу совета, мне интересен подход лично каждого из вас. А главное — будет ли разница в подходе? Почему она будет?

shimon ★★★★★
() автор топика
Ответ на: комментарий от volh

> Если придется - одинаково. Nothing personal. Но вообще я этого не буду делать, потому что это сделает тимлид. Он умный и общительный, ему за это платят.

Ты и есть умный и общительный тимлид. И, да, одинаково — это как?

shimon ★★★★★
() автор топика
Ответ на: комментарий от alex4

> Ну покажи свой код

А зачем тому человеку смотреть *твой* код? Вроде бы, это не у него к *твоему* коду, а у тебя к *его* коду вопросы?

> объясни почему то, что она делает неправильно, если не поймет.


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

Manhunt ★★★★★
()

С девушками мне обычно общаться на такие темы проще; во многом, потому что они часто пытаются завязать романтические отношения, а для этого надо как минимум не уступать мне в навыках, если мы оказались коллегами. Поэтому они спокойно относятся к критике и исправляются, если что-то действительно делают не так.
С парнями всё зависит от ЧСВ накосячившего и его собственных симпатий-антипатий.
Преимущественно разговор протекает со всеми одинаково, спокойно с изящной, но опасной улыбкой мистера Мордена сообщаю о допущенной ошибке и, если конструктивный разговор идёт дальше, обсуждаем, что можно и нужно сделать по-иному.

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

ЗЫ: отращивающий гусарские усы мужлан.

Terrens
()
Ответ на: комментарий от shimon

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

"Анечка, вы тут мне глазки не стройте, придется переписывать. У вас время до конца понедельника. Да, да, не получится у вас в кино сходить. И не надо плакать, я вам не папа и вообще не родственник."

Черт. Хочу быть тимлидом.

volh ★★
()
Ответ на: комментарий от Terrens

> во многом, потому что они часто пытаются завязать романтические отношения

То бишь — если мишуру романтичности затолкать в темный угол — будут делать все, чтобы не идти на конфликт?

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

> будут делать все, чтобы не идти на конфликт?

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

Terrens
()

> Как можно дословнее опишите, как вы объясните коллеге суть вещей, что будете делать.

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

> Представили? А какие будут ваши действия, если такую лажу допустил человек, о котором вы бы никогда такого не подумали? У него стаж больше вашего, человек, приятный во всех отношениях, никогда мухи не обидит, он вам денег одалживал, а потом простил долг?


> Представили и это? А теперь представьте себе, что у человека, описанного в предыдущем абзаце, ко всему вышесказанному, еще и пол, противоположный вашему. И вам надо сказать, что этот человек очень сильно облажался. Как вы будете это делать?


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

isden ★★★★★
()

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

— Вот здесь, я уверен на 99%, у тебя написан отборный БРЕД. Я пытался понять его со всех сторон, зачем бы тебе понадобилось писать именно так, но не смог. Но вижу, что это ПОЛНЫЙ МАРАЗМ. Ты и сам это увидишь сейчас, если прочтешь свой код. Так что исправляй и рефакторь.

Я знаю этого человека, и знаю, что он именно так скажет и папе римскому, и матери Терезе, и самой сексапильной и умной (sic) программистке, если таковая будет у нас работать.

А есть ли люди, которые по тем или иным причинам не решились сказать то, о чем думают, в том тоне, в котором они об этом думали (и в котором сказали бы, будь перед ними кто другой)?

shimon ★★★★★
() автор топика

> Как можно дословнее опишите, как вы объясните коллеге суть вещей, что будете делать. Представьте это себе в ярких красках, но будьте реалистом.

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

p.s. мой пол - Мужской. Честно.

p.p.s тимлид

p.p.p.s. из команды в 7 человек - трое девушки(да-да, именно программистки)

r_asian ★☆☆
()
Ответ на: комментарий от isden

> "пошол нах-й отсюда, тупой п-дарас!"

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


А вот почему такая многоликость? ;-)

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

есть. Я. Не столь важен пол, сколько знакомство. Если человек знаком - не могу его ставить перед фактом его же косяка до некоторого предела, после которого срываюсь на истерику и сжигание мостов. Я был бы ничтожный тимлид :( хорошо что я не. Причина - слабохарактерность и истеричность, однако.

spunky ★★
()
Ответ на: комментарий от shimon

> А вот почему такая многоликость? ;-)

есть у меня такая слабость - не могу грубить девушкам :((

isden ★★★★★
()
Ответ на: комментарий от volh

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

> Черт. Хочу быть тимлидом.


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

Manhunt ★★★★★
()

Все зависит от положения того человека относительно меня. Если <= то говорю что "так никто не делает, ну разве что в некоторых индусских деревнях". Если > то говорю что не согласен с этим и тем-то, и сделал бы так и сяк, но со мной конечно же не соглашаются )

urxvt ★★★★★
()
Ответ на: комментарий от r_asian

> p.p.p.s. из команды в 7 человек - трое девушки(да-да, именно программистки)

Фигасе - это где такой цветник? :D

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

> Фигасе - это где такой цветник? :D

Нормально, год назад их было 3 из 6, причем одна была БСД-админом. Переманили газовики-нефтянники, до сих пор оплакиваю ;'-(

Специально не выбирал, но так уж получилось, что, например, в последнем наборе из 10 кандидатов с тестовым заданием справились трое, причем на удв. это сделала девушка. Задание, в общем-то, простое, и гендерно-нейтральное.

r_asian ★☆☆
()

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

не зависимо от того М или Ж это. вот и всё.

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

kbps ★★★
()

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

На 2-3 раз должно помочь.

alexru ★★★★
()

когда речь идет о технических вопросах - пол пофигу.

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

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

vasaka ★★★
()
Ответ на: комментарий от shimon

>А есть ли люди, которые по тем или иным причинам не решились сказать то, о чем думают, в том тоне, в котором они об этом думали (и в котором сказали бы, будь перед ними кто другой)?

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

run4way
()
Ответ на: комментарий от Manhunt

А зачем тому человеку смотреть *твой* код? Вроде бы, это не у него к *твоему* коду, а у тебя к *его* коду вопросы?

чтобы показать как правильно

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

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

alex4
()

Давай просто -- человек, на твой взгляд, пишет плохой код (без костюмов и общительности). У меня был такой реальный случай. Я работал над одной программой совместно с человеком, и мне не нравился и код, и подходы к алгоритмам, и синтаксическая неряшливость. Мы реализовывали протокол обмена кое-какой, и человек не имел никакого представления о проектировании протоколов через разрисовку автоматов, а потом их программной реализации (это только один эпизод). То, что творилось в коде, было уму непостижимо. Сделал просто: я сел с ним вместе программу писать и между делом говорил вещи, которые я хотел бы, чтобы он больше не делал, но только с доводами. Самое важное, что я не говорил ему, что мне не нравится его код, а комментировал кое-какие свои мысли по программе, на которые он просто кивал и понимал. И дальше уже было попроще.

Ну и манера речи тоже играет роль. Я никогда не опускаю людей и говорю так, чтобы было все по-доброму. Уничижительный тон убрать, высокомерие убрать и т. п. Лучше сказать: "Знаешь, я бы лучше сделал бы так, потому что ...". А еще хорошо иногда соглашаться с его какими-то доводами. Ну то есть все должно быть построено на обмене опытом, а не пинании.

Zubok ★★★★★
()

>если такую лажу допустил человек, о котором вы бы никогда такого не подумали? У него стаж больше вашего, человек, приятный во всех отношениях, никогда мухи не обидит, он вам денег одалживал, а потом простил долг?

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

Помогу всё исправить, причесать код и тп, потрачу на это столько времени и сил сколько понадобится. А как же иначе?

justuser ★★
()
Ответ на: комментарий от justuser

> Помогу всё исправить, причесать код и тп, потрачу на это столько времени и сил сколько понадобится. А как же иначе?

А самый первый случай?

shimon ★★★★★
() автор топика

В таких случаях, помоему, всё елементарно - говоришь, что у вас ¨вот такие¨ стандарты кодирования, что такие и подобные вещи в вашей компании не применяют. Главное без грубостей и понтов, работа это не ЛОР всётаки:)

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

golodranez ★★★★
()
Ответ на: комментарий от shimon

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

justuser ★★
()
Ответ на: комментарий от alex4

> чтобы показать как правильно

Чтобы показать как правильно, нужно обратить внимание на конкретные недостатки. Аргументировать, почему они являются недостатками, и рассказать, как их (по твоему скромному мнению) обычно принято избегать. А портянка - кусок кода - едва ли расскажет ему о чем-либо, кроме coding conventions.

>> Прежде чем поучать, может быть, стоит узнать, из каких соображений человек написал так, а не иначе?


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


В любом случае важно и интересно, что он сам о своем коде думает. Это позволит тебе правильнее оценить его уровень, и скорректировать степень своего к нему доверия. Могли быть веские причины, чтобы выложить именно ужасный код. Вдруг он расскажет дущещипательную историю навроде такой: http://forum.ixbt.com/topic.cgi?id=26:39191-3#63 ?

Manhunt ★★★★★
()

Супер. А теперь представьте, что проект, из-за которого весь сыр-бор — свободный, вы его автор, а эти трое людей (Патлатый Нуб, Бесконечно Приятный Джентльмен и Бесконечно Приятная Дама) контрибутят вам патчи или имеют право коммита. В принципе, вы никому из них ничего не должны. Изменилось бы ваше отношение?

shimon ★★★★★
() автор топика
Ответ на: комментарий от Terrens

Ну, они вроде все делали ок на протяжении некоторого периода, но у Патлатого Нуба могли мобилу отжать, Бесконечно Приятный Джентльмен мог обнаружить у себя геморрой и перепугаться, а потом впасть в депрессию, а ПМС бывает даже у Бесконечно Приятных Дам, могло и обостриться. Ну и закоммитили они что-то ужасное.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

> В принципе, вы никому из них ничего не должны. Изменилось бы ваше отношение?

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

isden ★★★★★
()
Ответ на: комментарий от justuser

> У тебя слишком много невероятных допущений, ИМХО)

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

shimon ★★★★★
() автор топика
Ответ на: комментарий от isden

> то тогда нужно как минимум поговорить с этим человеком.

И как с ним говорить? Так же, как с коллегой в одном кабинете? В случае с FOSS ты всегда можешь сжечь мост, аж любо глянуть, и никто в морду ни от кого не получит.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

>А насколько ты себя ощущаешь социально ответственным перед человеком, которого знаешь по переписке в списке рассылки, бложеку и еще вы один раз виделись на какой-то там конфе?

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

justuser ★★
()
Ответ на: комментарий от shimon

> Так же, как с коллегой в одном кабинете?

нет конечно. это не мой подчиненный же. просто сказать что он пишет фигню, вот в таких то местах лучше и правильнее делать по-другому.

isden ★★★★★
()
Ответ на: комментарий от isden

> нет конечно. это не мой подчиненный же. просто сказать что он пишет фигню, вот в таких то местах лучше и правильнее делать по-другому.

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

shimon ★★★★★
() автор топика

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

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

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

provaton ★★★★★
()

Я, собственно, вообще затеял опрос затем, что в феминистических тредах здесь и много где еще (в блогах, где об?суждали шуточки Марка Шаттлворта, например), были примеры того, почему так много линуксоидов и мало линуксоидш. Один гласил, что почти у всех линуксоидов очень развит синдром женских гениталий в поле From: и это отталкивает (с мужиками — доктор Хаус, с бабами — доктор Кэмерон), другой о том, что если мужик облажался в программировании, то это потому, что он облажался, но если облажалась женщина, то это потому, что все женщины лажают.

Но пока что то ли аудитория по вечерам нерепрезентативная, то ли это является по сути своей мифами с экстраполяциями частного на целое.

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

> В первом случае тоже не особо есть субординация

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

isden ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.