• Что делать если команда говнокодит?

    search
    @search
    мама говорит что я особенный
    Ой как я вас понимаю. Сам страдал от подобного долгие годы (9 лет, если быть точным). К сожалению, мгновенного решения для вашей проблемы не существует. А смена работы - всего-лишь временная отдушина. В моём случае технический скилл был (и надеюсь остаётся) выше среднего, а лидерский (так называемый софт-скилл) - на нуле. Умение договариваться с людьми, адекватно реагировать на нужды коллег, продукта и бизнеса - оказались очень полезными навыками. К сожалению этот скилл не прокачаешь за выходные. Вот примерный список того что можно делать для прокачки лидерских качеств:
    - читать книги (в т. ч. художественную литературу)
    - участвовать в опен-соурс проектах
    - делиться опытом (выступать на митапах, выступать в кругу коллектива)
    - прокачивать т.н. "эмоциональный интеллект"

    В своём случае я почувствовал ощутимые улучшения примерно через год целенаправленной работы над собой.

    Как показывает жизненный опыт, на одних-лишь технических навыках в рай не уедешь. Чтобы быть красавчиком нужно уметь решать конфликтные ситуации.
    Ответ написан
    2 комментария
  • Что делать если команда говнокодит?

    @ArcadyZherdev
    Проблема не техническая, а организационная и соответственно решить технически её полностью нельзя. Никакие хуки на гит репо и continuous integration не защитят на 100%. Если есть желающие нагадить в коде они умудрятся это сделать.
    Решается организационно, либо ктото за ними подтирает и ему за это платят ..либо ктото заставляет их исправлять (про code review выше писали) ..воспитывать/обучать "серунов" (если работает) ..либо увольнять.
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Если Вы можете понять код, просто объясните им проблему, укажите на ошибки и научите: это проще и дешевле, чем искать новых и "притираться" долгое время.
    2. Пусть пишут текстом: для чего создан каждый объект и каждый из его методов.
    3. Если не поможет - пусть изначально рисуют блок-схему.
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

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

    но, не более 3х раз за день. а иначе привыкнешь и не сможешь отличать код от говнокода.
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Здесь стоит посмотреть с 2х строн:
    1. Если вы часть команды и мелкая сошка -- смирится, либо идти по головам к начальству с наглядными примерами, и объяснением того в долгосрочной перспективе ваш подход принесет больше прибыли (меньше убытков). Если начальник адекватный, он задумается и поставит вас тимлидом, если нет -- то это его проблемы, вы свою точку зрения донесли.

    2. Если вы лицо принимающее решение в команде, и являетесь тимлидом --- тогда руководить и вводить метрики, ревью кода, и т.п. штуки, чтобы когда кто-то косячил, другие говорили ему "Вася ты дурак".
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    @immaculate
    Программист-путешественник
    Это сложный вопрос, на который нет однозначного ответа. Лично я для себя нашел следующие выходы: не связываться вообще с языками, в которых очень низкий порог входа (Javascript, PHP). Пытаться спорить и воспитывать коллег (это тяжело и дает плоды только на очень длинной дистанции). Менять работу.

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

    Единственное исключение: один раз видел код одной довольно популярной соц. сети. Он был реально ужасен, но эта сеть до сих пор существует и довольно популярна, хотя и вытесняется потихоньку общепризнанными лидерами типа facebook. Как у них все не рушится, не понимаю, но код был такой, что просто волосы дыбом встали, когда увидел. Впрочем, это исключение, которое подтверждает правило.
    Ответ написан
  • Что делать если команда говнокодит?

    saintbyte
    @saintbyte
    Django developer
    Постареть и понять пока хипстеры дрочат на говнокод , старые задроты выкатывают прототип и получают финанирование.
    Ответ написан
    11 комментариев
  • Что делать если команда говнокодит?

    Мы стараемся не запускать эту проблему посредством code review, пытаясь распределить нагрузку по ревью между наиболее опытными участниками. Если в коде есть проблемы - тикет возвращается на доработку с замечаниями. Даже если банально не мержится с главной веткой. Попробуйте наладить этот процесс.

    Также мы всё собираемся настроить Continuous Integration. Jenkins может прогонять по коду проверку на соблюдение стандартов и покрытие тестами, а затем показывать результаты в красивом виде. Если чей-то коммит показывает более чем N ошибок в расчёте на единицу объёма кода - можно возвращать на исправление.

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

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


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

    Ну и важно, чтобы у самих разработчиков была установка на хороший код, профессиональная гордость. У фрилансеров её, бывает, нет, а есть отношение "тяп-ляп, лишь бы работало и лишь бы часы оплатили, а там хоть потоп". Учитывая, что их заказчики занимаются code review нечасто, развитие такого отношения закономерно. Но всё-таки хочется писать красивые программы. Такое желание обязано быть.

    Я, конечно, сам не волшебник, я только учусь, и работа с командой - такая штука, которой надо постоянно учиться. Видимо, вы тоже учитесь; успехов в этом.
    Ответ написан
    2 комментария
  • А как вы сжимаете картинки для googleSpeed?

    allard
    @allard
    Серийный программист
    В онлайне этот самый удобный: optimizilla.com/ru
    Жмет на пять с минусом =).
    Ответ написан
    3 комментария
  • Как превратить If в foeach?

    werty1001
    @werty1001
    undefined
    var pcp, width = $( window ).width(),
        size = width < 768 ? 'sm' : width > 991 ? 'lg' : 'md';
    
        $.each([ 'bottom', 'top', 'left', 'right' ], function( i, value ) {
            if ( $( '.has-tooltip' ).hasClass( size + '-' + value ) ) pcp = value;
        });
    Ответ написан
    Комментировать
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

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

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


    И посоветую не слушать популистов и ненавистников Битрикса. Многие из них просто работали или со старой версией, или работают сейчас, но не изучают новое ядро, не следуют новым практикам, или о новом ядре знают очень мало. А многие попросту плюются на все чем не пользуются сейчас, в духе "все дураки, я один умный", доля конструктивной критики весьма мала, хотя критиковать есть за что. Если бы битрикс был таким полным говном как многие описывают - он бы не занял доминирующую позицию на рынке.
    Ответ написан
    5 комментариев
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    В Битриксе не столько документация с давних пор не менялась, а архитектурные подходы устарели. Несмотря ни на какие технологические новшества, которые в нём появляются.

    Имхо, если вы изучите Битрикс, то вы будете человеком, знающим Битрикс. А веб-разработчиком вы называться не будете. Вам так же сложно будет потом въехать в нормальную веб-разработку, как и нормальному веб-разработчику разобраться с Битриксом.

    Если вы хотите найти свою нишу и засесть в неё конкретно и надолго, то углубляйтесь в Битрикс, изучайте его, набирайтесь опыта. Хорошие и качественные специалисты в любой сфере котируются. Но таким образом вы выберете себе мир Битрикса и будете существовать параллельно объективной реальности.
    Ответ написан
    1 комментарий