Здравствуйте, AndrewJD, Вы писали:
MM>>кстати, то что программер пишет говнокод и у него большое самомнение не есть признаки плохого программера
AJD>А какие признаки хорошего программера?
Интерес, интеллект хотя бы чуток выше среднего и желание работать-учиться.
Re[4]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, MachoMuchacho, Вы писали:
MM>* желание и умение учиться MM>(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)
Я знаю вагон специалистов, которые имеют один из этх пунктов и при этом ни на что не годятся.
MM>* развитой интеллект — проверяется тестом на IQ
это слишком много времени и вероятность правиьлной оценки не сильно высока.
MM>* склонность к сидячей одиночной работе
Почему именно к одиночной, а не парной, коммандной ?
MM>* наличие творческого хобби MM>* и, собственно, желание работать в этой области
MM>всему остальному можно научить или научиться
Нужен интерес именно к конкретной работе, к конкретной области. Люди которые поработают год и уйдут мало интересны.
Re[2]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, MozgC, Вы писали:
MC>Говорите ему не как надо, а почему надо по-другому: приводите реальные практические доводы и примеры того, к чему может привести бездумный код.
Одному надо сказать, как надо. Другому — почему надо по другому. Третьему — почему так не надо. Четвертому — рассказать, что про его код думают другие. Пятому просто сообщить, что де это говнокод и тд. и тд.
Re[3]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Vzhyk, Вы писали:
V>Firstborn пишет: >> >> * Производительность — мерять LOCами глупо, но вот классами, >> наверное можно. Например в среднем по команде 5 классов в день, а >> у говнокодера — 2. Показываем ему две цифры. V>Представил: 5 классов в день, 25 в неделю, 100 в месяц, 1200 в год.
Хорошим тулом можно столько классов насоздавать, не передать словами.
Re[4]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Vzhyk, Вы писали:
V>>Firstborn пишет: >>> >>> * Производительность — мерять LOCами глупо, но вот классами, >>> наверное можно. Например в среднем по команде 5 классов в день, а >>> у говнокодера — 2. Показываем ему две цифры. V>>Представил: 5 классов в день, 25 в неделю, 100 в месяц, 1200 в год.
I>Хорошим тулом можно столько классов насоздавать, не передать словами.
на определенных этапах, когда человек уже врубился в технологию и основные понятия проекта, а количество бизнес-правил и элементов интерфейса зашкаливает за тысячи, то оставшиеся несколько тысяч правил и элементов интерфейса можно очень лего распределить по времени и мерить производительность ими
но это для очень больших проектов
или для очень большого числа однотипных средних проектов
Re[5]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, MachoMuchacho, Вы писали:
MM>на определенных этапах, когда человек уже врубился в технологию и основные понятия проекта, а количество бизнес-правил и элементов интерфейса зашкаливает за тысячи, то оставшиеся несколько тысяч правил и элементов интерфейса можно очень лего распределить по времени и мерить производительность ими
А как учесть настроение, самочувствие и тд ?
MM>или для очень большого числа однотипных средних проектов
Мне кажется это редкий случай ?
Re[6]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, MachoMuchacho, Вы писали:
MM>>на определенных этапах, когда человек уже врубился в технологию и основные понятия проекта, а количество бизнес-правил и элементов интерфейса зашкаливает за тысячи, то оставшиеся несколько тысяч правил и элементов интерфейса можно очень лего распределить по времени и мерить производительность ими
I>А как учесть настроение, самочувствие и тд ?
MM>>или для очень большого числа однотипных средних проектов
I>Мне кажется это редкий случай ?
я в ибм-ах и мс-ах не работал — не знаю
Re[4]: Как объяснить программеру, что он пишет говнокод?
Ikemefula пишет: > > V>Представил: 5 классов в день, 25 в неделю, 100 в месяц, 1200 в год. > > Хорошим тулом можно столько классов насоздавать, не передать словами.
А что есть разница в варианте выше, чем эти классы плодить, тулом или на
клавиатуре набивать?
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Andrey.dm, Вы писали:
AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...
Попробуйте парное программирование
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Vzhyk, Вы писали:
>> Хорошим тулом можно столько классов насоздавать, не передать словами. V>А что есть разница в варианте выше, чем эти классы плодить, тулом или на V>клавиатуре набивать?
Конечно, цыфра будет разная
Re[3]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, MachoMuchacho, Вы писали:
MM>Здравствуйте, AC1D, Вы писали:
ACD>>Попробуйте парное программирование
MM>да, точно MM>подсадите к нему шикарную девушку в миниюбке, которая время от времени будет томно вздыхать и говорить "секс только результатам code review"
кнут они пробовали, пусть попробуют пряник
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Олег К., Вы писали:
A>>Практически любой программист с некоторой завистью смотрит на код написанный лучше его. А по поводу аргументирования недостатков кода читай Макконнелла. ОК>Можешь кратко пересказать что говорит Макконелл по этому поводу?
Он дает советы как нужно писать при этом довольно наглядно объясняет почему. То есть если нужна аргументация "как лучше". К тому же если возникает некий личный конфликт ( я имею ввиду противостояние программиста написавшего код с душком )то всегда можно привлечь эксперта со стороны. Все как -то забыват о таком прекрасном инструменте. Возможно это и более дорогой инструмент, но он того стоит.
Re: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Andrey.dm, Вы писали:
AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...
Очень точное описание среднестатистического программиста.
На курсах актерского мастерства учат, что надо делать хорошую мину даже при плохой игре. У программистов то же самое. Видимо, синдром Бога появляется в 5 классе, когда на Паскале впервые написан "Hello World!". Тут уж ничего не поделать.
Re[3]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, MachoMuchacho, Вы писали:
MM>Здравствуйте, AC1D, Вы писали:
ACD>>Попробуйте парное программирование
MM>да, точно MM>подсадите к нему шикарную девушку в миниюбке, которая время от времени будет томно вздыхать и говорить "секс только результатам code review"
Можно еще грозного волосатого начальника, который будет сопеть и говорить ту же фразу
А если серьезно: в вашей ли власти его уволить? Если да — то увольняйте.
Не только метриками, багами и эстетикой кода жив проект. Ваши нервы вам дороже.
Можно податься в дзен, убедить себя, что плохой коллега — это Вызов,
перевоспитание его — это способ сделать рынок программистов мир немного лучше,
можно говорить, что вы не такой: вы не отступаете от проблем — можно многими способами себя заморочить.
Но ответьте себе на вопрос: оно вам надо? Для всех будет лучше, если у вас и у ваших подчиненных будут крепче нервы.
Пусть даже ваше решение сейчас приведет к некоторому проседанию производительности и небольшому отставанию от плана.
Если присутствие этого человека не является для проекта критичным — увольняйте.
И поверьте — вам лично не нужно никаких подтверждений "говнокодеропороды" этого человека —
достаточно лишь того, что вы не можете работать с ним.
Ухудшение вашей работы из-за наличия его в команде перевесят все преимущества,
которые, возможно, уже дал и, возможно, еще даст этот человек.
There is no such thing as the perfect design.
Re[6]: Как объяснить программеру, что он пишет говнокод?
Здравствуйте, Ikemefula, Вы писали:
>>> Хорошим тулом можно столько классов насоздавать, не передать словами. V>>А что есть разница в варианте выше, чем эти классы плодить, тулом или на V>>клавиатуре набивать?
I>Конечно, цыфра будет разная
Да лана. Хороший тул — ничто, по сравнению с производительностью старого поверенного метода повторного использования кода — копипаста. А если специальный скрипт повторного использования кода для какого-нибудь sed-а написать... Так ваще.
Re[4]: Как объяснить программеру, что он пишет говнокод?
>* желание и умение учиться >(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)
Практика опровергает такой способ проверки.
За примерами далеко ходить не надо, пример:
Я сейчас пишу софтину для дипломной работы знакомой девчонке, которая заканчивает ФИБ
по с пециальности «Комплексная защита объектов информатизации».
Не знает ни одного ЯП, не понимает что есть ОС и как она работает и т.д и т.п.
Моя девушка ей пишет экономическую часть, а ещё один комрад математику для этой дипломной работы.
Как специалист она ноль без палочки.
Вот таких специалистов пруд пруди, и именно из-за их существования появилась практика проводить собеседования при приёме на работу.
Хорошие оценки в ВУЗе сейчас показывают умение сдавать и договариваться, а не знания и не тягу к знаниям.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, MachoMuchacho, Вы писали:
MM>>* развитой интеллект — проверяется тестом на IQ LVV> LVV>Нифига тест IQ не проверяет...
Его надо иметь, чтобы тест показал его наличие