Как объяснить программеру, что он пишет говнокод?
От: Andrey.dm  
Дата: 24.09.09 14:20
Оценка: -2 :))
Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...
Re: Как объяснить программеру, что он пишет говнокод?
От: hexamino http://hexamino.blogspot.com/
Дата: 24.09.09 14:27
Оценка: 25 (3) +7
Здравствуйте, Andrey.dm, Вы писали:

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


Не устраивает — увольняйте на испытательном сроке.
Если он действительно имеет неправильные представления о том, как надо писать код — его уволят еще с пары мест и он сам задумается.
Если же у него просто не сходятся представления с вашими — он найдет подходящее место и будет доволен.
Re: Как объяснить программеру, что он пишет говнокод?
От: MachoMuchacho  
Дата: 24.09.09 14:29
Оценка: 4 (4) +1 -1
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...


1. выяснить кто является для него авторитетом в плане написания кода
2. показать ему код, написанный общепризнанными мировыми авторитетами — какие-нибудь сверхпопулярные библиотеки и т.п.
3. ввести стандарты написания код единые для всей организации (документ занимает 30 страниц или около того, максимум — во всех хороших конторах, где я работал, он был) — и, собрав ВСЕХ ВСЕХ, сказать, что мы все будем писать так и никак иначе, чтобы не было выговором отдельным личностям
4. вводить код ревью, когда и этот человек у других проверяет код, и другие у него — чтобы интеграция шла не по принципу начальник-подчиненнный, а на командном уровне
Re: Как объяснить программеру, что он пишет говнокод?
От: bkat  
Дата: 24.09.09 14:33
Оценка: -1
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...


Устраиваей code review, на котором смотрите код не только этого программера, а всех, кто пишет работает.
Если обсудение будет по делу и конструктивно, то и проблем будет меньше.
Если есть Coding Guideline, то пользуйтесь им для проверки кода.
Это облегчит проверку формальных вещей.
Если Coding Guideline нету, то лучше его заиметь, а иначе вам обеспечены
нудные и бесполезные споры на тему "tab vs spaces" и подобные вещи...

Если вы еще приучитесь сначала обсуждать идеи на бумаге,
прежде чем кодировать, то будет еще лучше.
Многие косяки можно будет предотвратить до того, как уже будет код.
Re: Как объяснить программеру, что он пишет говнокод?
От: MachoMuchacho  
Дата: 24.09.09 14:41
Оценка: 21 (2) +3 -2
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...


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

такой человек — это ведь просто находка

надо лишь аккуратно дать ему понять, что мир гораздо больше и гораздо сложнее устроен чем он предполагал ранее, но при этом ему вполне по силам за полгода-год освоить все, что нужно и стать реальным экспертом в своей области
Re[2]: Как объяснить программеру, что он пишет говнокод?
От: AndrewJD США  
Дата: 24.09.09 15:21
Оценка:
Здравствуйте, MachoMuchacho, Вы писали:

MM>кстати, то что программер пишет говнокод и у него большое самомнение не есть признаки плохого программера


А какие признаки хорошего программера?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: Как объяснить программеру, что он пишет говнокод?
От: bkat  
Дата: 24.09.09 15:25
Оценка: +1 -1 :))) :))) :))) :))) :)
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, MachoMuchacho, Вы писали:


MM>>кстати, то что программер пишет говнокод и у него большое самомнение не есть признаки плохого программера


AJD>А какие признаки хорошего программера?


Использование слов "говнокод" и "быдлокодер" по отношению к другим
Re[3]: Как объяснить программеру, что он пишет говнокод?
От: MachoMuchacho  
Дата: 24.09.09 15:45
Оценка: +1 -10 :))) :))) :))) :))) :))) :))) :)))
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, MachoMuchacho, Вы писали:


MM>>кстати, то что программер пишет говнокод и у него большое самомнение не есть признаки плохого программера


AJD>А какие признаки хорошего программера?


* желание и умение учиться
(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)
* развитой интеллект — проверяется тестом на IQ
* склонность к сидячей одиночной работе
* наличие творческого хобби
* и, собственно, желание работать в этой области

всему остальному можно научить или научиться
Re: Как объяснить программеру, что он пишет говнокод?
От: Аноним  
Дата: 24.09.09 16:17
Оценка:
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...


А вот если к тебе приедет Абрамович и будет долго и упорно досаждать что жизнь твоя говно по сравнению с его , ты на это также однозначно будешь смотреть ?
Re: Как объяснить программеру, что он пишет говнокод?
От: AbramKotkin  
Дата: 24.09.09 16:35
Оценка:
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно. Любые попытки деликатно объяснить ему, что это не совсем верно и можно и нужно писать лучше, воспринимает в штыки, при этом отстаивая свой говнокод и его "правильность". Скилы у него слабенькие (продолбали на собеседовании), но о себе он в разы более высокого мнения, я бы даже сказал в большие разы. Пока на испытательном сроке и по понятным причинам скорее всего его не пройдет, но раз уж такая ситуация сложилась, хотелось бы все же узнать, как наиболее правильно переучить его, как объяснить, что то, что он пишет ну совсем никуда не годится и надо бы по-другому. Деликатно, естественно...



Переучивать нужно себя, или на кой кого-то еще перучивать? Откуда такое желание?

Если лично вы его не можете уволить, сообщите начальству своё недовольство.
Re: Как объяснить программеру, что он пишет говнокод?
От: MozgC США http://nightcoder.livejournal.com
Дата: 24.09.09 16:48
Оценка: 1 (1) +5 -1
Говорите ему не как надо, а почему надо по-другому: приводите реальные практические доводы и примеры того, к чему может привести бездумный код.
Re: Как объяснить программеру, что он пишет говнокод?
От: Tekk  
Дата: 24.09.09 16:49
Оценка: +3 :))) :))) :)
Здравствуйте, Andrey.dm, Вы писали:

AD>Взяли программера. Пишет говнокод и медленно.


А почему ты решил, что это говнокод? Надо больше данных, с иллюстрациями.

PS Если пишет говнокод и медленно — это не страшно, вопрос решаем. Вот когда человек пишет говнокод и очень быстро — это реальная проблема. Такой может легко подмять под себя весь проект и обречь его на долгое и мучительное умирание.
Re: Как объяснить программеру, что он пишет говнокод?
От: SE Украина  
Дата: 24.09.09 18:36
Оценка: +5
Здравствуйте, Andrey.dm, Вы писали:

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


А имеет смысл тратить силы и время и переучивать? Умный человек воспринимает свою работу всегда со здравым критицизмом.

На то, чтобы стать профессионалом могут уйти годы, а юношеский максимализм может не пройти вообще.
Re[2]: Как объяснить программеру, что он пишет говнокод?
От: Andrey.dm  
Дата: 24.09.09 19:56
Оценка: 2 (1)
Здравствуйте, SE, Вы писали:

SE>Здравствуйте, Andrey.dm, Вы писали:


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


SE>А имеет смысл тратить силы и время и переучивать? Умный человек воспринимает свою работу всегда со здравым критицизмом.


Да, если при этом прокачиваешь и свои скилы, лидерские, например, и т.п.

Всем спасибо, буду продолжать учить, но немного изменю тактику...
Re[4]: Как объяснить программеру, что он пишет говнокод?
От: x905  
Дата: 25.09.09 04:43
Оценка: 3 (3) +3 -2 :)
Здравствуйте, MachoMuchacho, Вы писали:

MM>* желание и умение учиться

MM>(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)

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

MM>* развитой интеллект — проверяется тестом на IQ


этот тест вообще никикам боком не относится к интеллекту

MM>* склонность к сидячей одиночной работе


это что еще за новость?
замкнутый индивид с гемороем?

MM>* наличие творческого хобби


уже ближе к теме

MM>* и, собственно, желание работать в этой области


вот это совсем точно — с этово и надо начинать

MM>всему остальному можно научить или научиться


не всему )
если мне предмет был в щколе\вузе неинтересен, ненужен или противен — я не мог себя заставить его "учить" ибо бестолку захламлять свой мозг ненужными сведениями
Re: Как объяснить программеру, что он пишет говнокод?
От: anglichanin  
Дата: 25.09.09 05:30
Оценка: 30 (1) +4
Практически любой программист с некоторой завистью смотрит на код написанный лучше его. А по поводу аргументирования недостатков кода читай Макконнелла.
Re[3]: Как объяснить программеру, что он пишет говнокод?
От: bkat  
Дата: 25.09.09 05:31
Оценка: +1
Здравствуйте, Andrey.dm, Вы писали:

SE>>А имеет смысл тратить силы и время и переучивать? Умный человек воспринимает свою работу всегда со здравым критицизмом.


AD>Да, если при этом прокачиваешь и свои скилы, лидерские, например, и т.п.


Т.е. этот программер нужен для самоутверждения?
Ну тогда его реакция объяснима.
Возможно проблема не только в том, что он неадекватно(?) реагирует на критику,
но и в том, что ты прокачиваешь свои лидерские скилы.
Ему похоже просто не повезло...
Re[4]: Как объяснить программеру, что он пишет говнокод?
От: LaptevVV Россия  
Дата: 25.09.09 05:34
Оценка: 30 (1) +5 -3
Здравствуйте, MachoMuchacho, Вы писали:

MM>* желание и умение учиться


MM>(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)

Полная фигня!
MM>* развитой интеллект — проверяется тестом на IQ

Нифига тест IQ не проверяет...
MM>* склонность к сидячей одиночной работе

Это да.
MM>* наличие творческого хобби
Не обязательно
MM>* и, собственно, желание работать в этой области
Творческий чел найдет творчество в любой сфере.
Или просто не будет этим заниматься. Как я бухгалтерией не занимаюсь и никогда не буду.
MM>всему остальному можно научить или научиться
Не все ХОТЯТ учиться. Таких научить невозможно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Как объяснить программеру, что он пишет говнокод?
От: Pepel Беларусь  
Дата: 25.09.09 05:47
Оценка:
Здравствуйте, MachoMuchacho, Вы писали:

MM>Здравствуйте, AndrewJD, Вы писали:


AJD>>Здравствуйте, MachoMuchacho, Вы писали:


MM>>>кстати, то что программер пишет говнокод и у него большое самомнение не есть признаки плохого программера


AJD>>А какие признаки хорошего программера?


MM>* желание и умение учиться

MM>(проверяется по школьным и вузовским данным — необходимо наличие одного из следующих пунктов — золотая/серебряная медаль, математическая спецшкола, красный диплом)
MM>* развитой интеллект — проверяется тестом на IQ
MM>* склонность к сидячей одиночной работе
MM>* наличие творческого хобби
MM>* и, собственно, желание работать в этой области

MM>всему остальному можно научить или научиться



согласен, особенно по поводу первого, я б только оговорился — это скорее признак "генетики" хорошого проектировщика либо тестера .. хорошим кодерам присуща некая придурковатость
Re[5]: Как объяснить программеру, что он пишет говнокод?
От: Quadri  
Дата: 25.09.09 07:39
Оценка: 6 (1) +1 :))) :))) :)
Здравствуйте, Pepel, Вы писали:

P>согласен, особенно по поводу первого, я б только оговорился — это скорее признак "генетики" хорошого проектировщика либо тестера .. хорошим кодерам присуща некая придурковатость


Ага, а еще зеркалка, КПК и велосипед да?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.