Re[3]: Низкая квалификация работников
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.11.11 13:27
Оценка:
Здравствуйте, alexsoff, Вы писали:

Pzz>>1. Не говорите сходу начальнику, что ваш предшественник — козел. Либо начальник сам про это знает, но не имеет выбора, либо начальник тоже козел. В любом случае, вас не услышат.

A>Зачем сразу так категорично? предшественник ведь не со зла так написал, а от того, что нет соответствующей квалификации.

Вот это и не надо никому говорить. Вообще, не надо говорить про людей, квалифицированные они или нет, говорите про код.

A>Да нет тестов, код выносится сразу на продакшен или там правится, недавно заставил перейти на svn


Ну видите, как хорошо. Вам удалось внедрить SVN — к вашему мнению прислушиваются
Re[6]: Низкая квалификация работников
От: Alex Dav Россия  
Дата: 13.11.11 14:16
Оценка:
Здравствуйте, __kot2, Вы писали:
Хотел поставить вам +3, но что то сайт перестал давать такую возможность
Все верно говорите + обычно кто кричит больше всех, что надо переписать все и везде — в результате вообще готов завалить проект.
Re[4]: Низкая квалификация работников
От: Alex Dav Россия  
Дата: 13.11.11 14:21
Оценка: +3
Здравствуйте, Klatu, Вы писали:

K>Некоторые дураки думают, что возраст автоматически делает их умнее

Это назвается опыт — подрастешь — узнаешь
Re: Низкая квалификация работников
От: divergo  
Дата: 13.11.11 14:40
Оценка:
Строки подключения — это не самое страшное.
Вот когда кривая архитектура
При этом проект уже запущен, переписывать ничего нельзя, плюс требуется следовать принятым в это проекте практикам.
В проект вносятся постоянно поправки, он растет и развивается.
Но! Даже самые элементарные операции вызывают дикие тормоза и мильён обращений к базе.
Re: Низкая квалификация работников
От: elmal  
Дата: 13.11.11 16:55
Оценка: 1 (1) -1 :)
Здравствуйте, alexsoff, Вы писали:

A>Что делать в таком случае? Переписывать проект заново, но сомневаюсь, что это поддержит начальство (проект на 6 человеко месяцев) или оставить все как есть, но в этом случае будем молиться на этого разработчика и думать как бы он не ушел.

Лучше всего в Москву валить в твоем случае. Хоть на удаленку, хоть как — любыми средствами. Чем раньше, тем лучше — промедление смерти подобно. У тебя явно избыточная квалификация для твоего работодателя. Сидеть на такой работе, где говнокод ковырять — это деградация в любом случае. Это никогда себя не окупит! Денег у тебя не будет столько, сколько могло бы быть в Москве, даже в случае, если ты наивысшую для простого неблатного смертного карьеру сделаешь, уйдя из программирования. А проект можно даже не пытаться вытягивать — один хрен тебе даж спасибо никто не скажет — это не надо никому.
Re[3]: Низкая квалификация работников
От: vb-develop  
Дата: 13.11.11 17:26
Оценка: +3 -1 :))
Здравствуйте, alexsoff, Вы писали:

A>а я же хочу внедрить паттерны, что несомненно поднимет планку для вхождения


ээ... я начинаю сомневаться что эта тема не троллинг...
Re: Низкая квалификация работников
От: Lloyd Россия  
Дата: 13.11.11 17:36
Оценка: 2 (2) +5
Здравствуйте, alexsoff, Вы писали:

A>Что делать в таком случае? Переписывать проект заново, но сомневаюсь, что это поддержит начальство (проект на 6 человеко месяцев) или оставить все как есть, но в этом случае будем молиться на этого разработчика и думать как бы он не ушел.


Когда делаешь задачу/фикс, то каждый раз делай чуть больше, чем нужно для реализации задачи — отрефактори и причеши ближлежащие методы/классы, перегруппируй код, вынеси повторяющиеся куски кода, исправь ворнинги и хинты решарпера, добавь тесты. Так мало-помалу может и приведешь в божеский вид.
Главное не бросайся переписывать с нуля — говнокод сложен для понимания и легко неправильно понять "гениальные" мысли предшественника и поломать рабочий код.
Re[5]: Низкая квалификация работников
От: alpha21264 СССР  
Дата: 13.11.11 17:47
Оценка: +1
Здравствуйте, alexsoff, Вы писали:

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


A>>Понимаешь... Если программа достаточно маленькая (один мегабайт кода) — то все равно в каком стиле она написана.

A>>Её можно заставить работать просто грубой силой.
A>Эта программа постоянно расширяется, так чтобы ее расширить приходится править код по всему проекту. Помнишь анек про обезьяну и банан: "да, что тут думать — трясти надо"?

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

A>>Во первых тащись от того, какой я умный. Ведь я тебя не видел и сразу угадал.

A>Да ладно, граватар тоже не заметил?

Не-а.

A>>Например.

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

Ну вот, уже понимаешь, что любое утверждение не догма.

A>>Берешь чужие исходники, немного допиливаешь, может быть слегка перекомпоновываешь

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

Нуу... это у тебя предрассудки. Дороже не значит лучше. Не только к программированию относится.
Да и вообще — 90% приходится использовать компоненты соседа Васи.
Ну жизнь так устроена. В программистских конторах.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Низкая квалификация работников
От: alpha21264 СССР  
Дата: 13.11.11 17:49
Оценка:
Здравствуйте, MxMsk, Вы писали:

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


A>>Советую не считать себя самым умным.

MM>Что, вообще нельзя критиковать? Уровень у всех программистов одинаковый?

Да как тебе сказать... Напоминаю о необходимости смотреть в зеркало. Только и всего.
Для твоего соседа твой код выглядит так-же непонятно как его код для тебя.
И стиль отличается настолько же.

Течёт вода Кубань-реки куда велят большевики.
Re[5]: Низкая квалификация работников
От: alpha21264 СССР  
Дата: 13.11.11 18:12
Оценка:
Здравствуйте, Abyx, Вы писали:

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


A>>Программы можно писать в разных стилях.

A>>Упорядочивать их вдоль или поперек. Экономить или на одном или на другом.
A>>Если твой предшественник писал в другом стиле — это не значит что его стиль хуже.
A>>Более того — у тебя есть шанс посмотреть в чем его стиль лучше.
A>>А когда поймешь — использовать плюсы и его и своего стиля.

A>кроме "разных стилей" есть хороший код и плохой код.

A>код в котором не соблюден DRY это плохой код. точка.

Вы так говорите, как будто видели этот код. А Вы его не видели.
С вероятностью 90% этот код не хуже того, который порождает топик-стартер.

A>это не "стиль", это непрофессионализм — лень, непонимание проблем своего кода, неуважение к коллегам которые будут работать с кодом после тебя.


Вам поди тоже 25 лет? Нет, Вам наверное меньше Вы явно младше топик-стартера.

A>"держать 1 Мб кода в голове" это вопиющий непрофессионализм. ОК, Вы держите этот код в голове. Завтра придет другой человек, ему дадут этот код и скажут добавить такие-то и такие-то фичи, срок неделя. Он успеет запомнить что вы там накопипастили, какой юнит от какого зависит?


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

A>Считаете что с вашим кодом всегда будете работать только вы? Отлично. Пишите как хотите, только другим советы не давайте.


Не хами. Особенно не хами, если не можешь удержать в голове 1 мегабайт кода.
1 мегабайт — это очень мало, уж поверь мне.
Как раз недавно пришлось вьезжать в чужой проект такого размера и прикручивать новую фичу.
Вьехал и вкрутил. За неделю, да.

A>>А я использую голбальные переменные

A>а автоматические тесты используете? покрытие больше 90%?

Использую. Сколько процентов — не считал. Этим другие люди занимаются.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: Низкая квалификация работников
От: MxMsk Португалия  
Дата: 13.11.11 18:20
Оценка: 1 (1)
Здравствуйте, alpha21264, Вы писали:

A>Да как тебе сказать... Напоминаю о необходимости смотреть в зеркало. Только и всего.

A>Для твоего соседа твой код выглядит так-же непонятно как его код для тебя.
A>И стиль отличается настолько же.
Получается, опыт никакой роли не играет. Знания ничего не значат. Всё объясняется только неумением читать чужой код?
Re[6]: Низкая квалификация работников
От: Abyx Россия  
Дата: 13.11.11 19:17
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Вы так говорите, как будто видели этот код. А Вы его не видели.

A>С вероятностью 90% этот код не хуже того, который порождает топик-стартер.

я видел разный legacy код, такой же описывает ТС.
и судя по тому что ТС называет конкретные проблемы кода, которые наплодил автор кода, ТС не будет писать код хуже, IMO

A>>это не "стиль", это непрофессионализм — лень, непонимание проблем своего кода, неуважение к коллегам которые будут работать с кодом после тебя.


A>Вам поди тоже 25 лет? Нет, Вам наверное меньше Вы явно младше топик-стартера.


примерно на год меньше, экстрасенсорный вы наш

A>>"держать 1 Мб кода в голове" это вопиющий непрофессионализм. ОК, Вы держите этот код в голове. Завтра придет другой человек, ему дадут этот код и скажут добавить такие-то и такие-то фичи, срок неделя. Он успеет запомнить что вы там накопипастили, какой юнит от какого зависит?


A>Понимаешь, вьюношь... Вы сначала читать научитесь. Нет не код, сначала русский язык.

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

ОК, конкретно Вы не используете копипасту, зато любите глобальные переменные.
Не бывает больших и маленьких программ. Есть программы, которые проще переписать чем поддерживать, и если они маленькие это хорошо. И есть программы которые можно безболезненно реюзать или превращать в бОльшие.

A>>Считаете что с вашим кодом всегда будете работать только вы? Отлично. Пишите как хотите, только другим советы не давайте.


A>Не хами. Особенно не хами, если не можешь удержать в голове 1 мегабайт кода.

A>1 мегабайт — это очень мало, уж поверь мне.
A>Как раз недавно пришлось вьезжать в чужой проект такого размера и прикручивать новую фичу.
A>Вьехал и вкрутил. За неделю, да.

Один мегабайт может очень много.
Просто видимо вам постоянно попадаются 1 Мб хорошего кода, в мне 500 Кб плохого. Такое возможно, с точки зрения статистики.
Я не знаю какой код был у вас, но я имею ввиду проекты такого рода:
600Кб кода на дельфи, все в 1 файле, с асм вставками, (это когда коммент {FEEL THE POWER OF THE ASSEMBLER} и сотня строк асма сомнительного качества)
200-300Кб кода на дельфи, почти весь код в TForm1,
500Кб кода на С++ (MFC), запомнился тем что надо было поменять копипасту в пяти местах, потом после тестирования нашлось шестое, а потом седьмое,
~300 кода на Си в .cpp файлах (GUI — WinAPI), с кучей extern'ов внутри .cpp и прочих неразборчивых связей, кучей копипасты, switch'ами в сотни строк.

Когда на 10 строчек кода приходится восемь "WTF?!" — это не стиль. И кода становится очень много.
Да, я не могу сходу удержать в голове этот код, так чтобы можно было в нем что-то поправить и не сломать. (а как узнать что не сломал? иногда для тестирования нужен реальный сервер или реальное железо, которого нет)


A>>>А я использую голбальные переменные

A>>а автоматические тесты используете? покрытие больше 90%?

A>Использую. Сколько процентов — не считал. Этим другие люди занимаются.

и вам не говорят. вот такие нехорошие люди.
In Zen We Trust
Re[7]: Низкая квалификация работников
От: grosborn  
Дата: 13.11.11 19:29
Оценка: 1 (1)
Вот тут надо понимать, что за твоими хорошими словами на самом деле скрывается говнокод и наглость минусовать неоднократно когда тебя пытаются поправить. Я бы, например, твой код отлаживать наверное не смог бы нормально, поскольку у тебя там исключения на каждом шагу генерируются.
И что, переписывать все что ты написал?
Постарайся просто принять как рабочую точку зрения, что тебе пишут более опытные товарищи, понять ты это сможешь несколько позже, с приходом опыта.
Принимать и поддерживать плохой код часто лучше, чем переписывать все и сразу.
Перепишешь и не факт, что лучше сделаешь.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[8]: Низкая квалификация работников
От: Abyx Россия  
Дата: 13.11.11 20:03
Оценка:
Здравствуйте, grosborn, Вы писали:

G>наглость минусовать неоднократно когда тебя пытаются поправить.

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

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

Да, генерируются. И я тоже люблю использовать отладчик (что плохо), и не вижу никаких проблем с исключениями при отладке. Может вы отладчиком пользоваться не умеете? (Я не вижу другого объяснения)

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

Возраста или опыта? Что-то "опытный товарищ" больше интересовался возрастом, а не опытом разработки.
Я всегда рад послушать\почитать мнение авторитетов, но к тому же Р.Мартину (aka Uncle Bob) я прислушиваюсь больше чем к alpha21264. Хз, у него как-то убедительнее получается писать, наверное.

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

G>Перепишешь и не факт, что лучше сделаешь.
Это зависит только от квалификации. Если у вас не получается сделать лучше — ... (ну вы поняли).
In Zen We Trust
Re[9]: Низкая квалификация работников
От: grosborn  
Дата: 13.11.11 20:26
Оценка:
> Это зависит только от квалификации. Если у вас не получается сделать лучше — ... (ну вы поняли).

А может быть дело в том, что у вас недостаточно квалификации для поддержки и рефакторинга чужого кода? Не кричать "шеф! все пропало!!!", когда копипастинг можно просто спокойно отрефакторить и вынести в отдельный класс?
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[10]: Низкая квалификация работников
От: Abyx Россия  
Дата: 13.11.11 21:15
Оценка:
Здравствуйте, grosborn, Вы писали:

>> Это зависит только от квалификации. Если у вас не получается сделать лучше — ... (ну вы поняли).


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


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

но тут возникает вопрос, не быстрее ли выкинуть код и переписать с нуля?
In Zen We Trust
Re[7]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 13.11.11 22:06
Оценка: +1
A>Разве применение паттернов, может превратить мешанину кода в еще большее гОвно,

Да, может. Особенно если паттерны бездумно применяются свеженьким выпускником ВУЗа, годков так 22-26. Как раз ваш случай.

A>неужели ты ставишь мнение таких метров программирования как Фаулер, Эванс,Бэк по структурированию и паттерированию программ в грош?


Любым инструментом можно сделать хорошо. Скажем, скальпелем. А можно и убить пациента вконец. Так же и запиливание паттернов поверх спагетти-кода может кого угодно убить.

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


Пишите уж лучше новый, раз существующий — существует и работает. Если им пользуются — не трогайте без необходимости. Совет из жизненного опыта.
Re[2]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 13.11.11 22:09
Оценка: +1
Pzz>2. Начальство лучше всего понимает, когда ему говорят о проблемах, понятных на его уровне. "Этот код вызывает у меня эстетическую неприязнь" началсьтво не поймет. "Этот код написан так, что любое изменение в нем займет в 10 раз больше времени, чем если бы код был приведен в порядок" звучит гораздо понятмее.

Отмечу, что опытный руководитель (да и просто Agile-процесс!) потребует отложить рефакторинг до того момента, когда он не станет жизненно необходим. Дело в том, что если рефаторинг делать сейчас, а изменения вносить когда-то потом, то, увы, зачастую приходиться рефакторить повторно, потому что предыдущий рефакторинг не решил тех проблем, которые мешают добавлению новой фичи.
Re[3]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 13.11.11 22:12
Оценка: +1
A>Тут палка о двух концах, в таком виде в котором проект сейчас сможет въехать любой студент, посади его, а через месяц он будет чувствовать себя королем, а я же хочу внедрить паттерны, что несомненно поднимет планку для вхождения. Очевидно, что начальству будет импонировать вариант студента с наименьшими будущими затратами.

На месте вашего начальника я бы был категорически против ваших предложений.
Чем проще написать проект, тем проще в нем искать баги. Да и добавлять функционал тоже.
Вы же будете изучать паттерны (да-да, именно изучать — на живом проекте! — потому что, очевидно, у вас нет широкого опыта применения оных паттернов, раз уж вы рветесь использовать паттерны ради паттернов и строчки в резюме).
Re: Низкая квалификация работников
От: Олег К.  
Дата: 14.11.11 01:11
Оценка:
A>Устроился на работу, по функциональным обязанностям должен буду отвечать за разработанные проекты. Но дело в том, что уже до меня был написан проект, разработчик которого, мягко говоря, не был "профи". В коде проекта все слои оказались смешаны, в UI размазана бизнес логика и порой присутствуют такие перлы, что можно только закрыть глаза, например конекшен стринги захардкожены жестко в коде и продублированы по всему приложению — бывает даже случается так, что в одном методе встречается 3-4 места с жестко прописанным конекшен стрингом. я не уже говорю о копипасте Бывали места, где имя функции содержало вперемешку кирилический символы и латиницу.

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

A>Что делать в таком случае? Переписывать проект заново, но сомневаюсь, что это поддержит начальство (проект на 6 человеко месяцев) или оставить все как есть,


Не надо ничего переписывать. Умей работать с существующим кодом. Тем более что шесть человеко-месяцев совсем ничего.

A>но в этом случае будем молиться на этого разработчика и думать как бы он не ушел.


Молиться подавно не надо. Надо уметь подхватить проект если что. Тем более что проект малюсенький.

P.S. Ты только представь если бы ты унаследовал проект которому 10 — 15 лет и писала его куча разных людей. Тоже бы горел желанием его переписать?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.