Поговорим про Pull Request, они должны помогать сделать код лучше

Поделиться
HTML-код
  • Опубликовано: 26 дек 2021
  • В этом видео я решил поговорить про запросы на изменения кода, которые должны помогать улучшать код, а не критиковать. Я расскажу, как познакомился с запросами и о моем отношении к ним.
    Канал програмысли видеоуроки:
    / @dev-lessons
    Семейный канал:
    / @migpoedem
    Поддержать меня: boosty.to/mflenov
    Обо мне: www.flenov.ru
    Мой ИТ блог www.flenov.info
    Мой просто блог blo.moe
    Twitter: / flenov
    Инстаграм: / mflenov
    Телеграм: t.me/mflenov

Комментарии • 56

  • @ingvardkas5374
    @ingvardkas5374 2 года назад +28

    Находил иногда интересные комментарии в коде типа "Этот клиент жмот, может и не заплатить!". Сразу просил предоплату )) Такие комментарии делают код лучше

  • @titanovsky
    @titanovsky 2 года назад +5

    С наступающим, Михаил! Спасибо за видео)

    • @programisli
      @programisli  2 года назад +1

      Спасибо, вас тоже с Новым годом

  • @TheZarbazan
    @TheZarbazan 2 года назад +9

    По своему опыту скажу что пулл реквесты + кодревью это очень и очень. Во первых: можно на этапе кодревью отсеять потенциальные ошибки. Во вторых: кодревью - для джунов и даже мидлов это дополнительная причина следить на чистотой кода. Ревьювер может и по шарке надавать )))

  • @pafnuteus
    @pafnuteus 2 года назад +7

    "Переделаю потом" в большинстве случаев означает "переделаю никогда" :) Так растет технический долг. Сам таким грешу.

    • @programisli
      @programisli  2 года назад

      Ну если что-то серьёзное, то я заблокирую запрос. «Исправить потом» это что-то маленькое, что подправить можно за пять секунд

  • @fractalzombie
    @fractalzombie 2 года назад +6

    Привет. Если честно, забыл когда был первый пул реквест, но очень давно, как только появилось. У меня уже 16 лет в общем опыта программирования. Я очень сильно смотрю за своей командой и всеми ПРами, бывает рефакторю за ребятами, если они не понимают, что имею ввиду. А так не представляю себе жизнь без этого на работе, было бы очень сложно.

  • @MrDarthat
    @MrDarthat 2 года назад +3

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

    • @programisli
      @programisli  2 года назад +2

      Ну мне понравилось объяснение, что в пустых кавычках могут быть невидимые Unicode символы. В String.empty точно не будет невидимости. Это да, это может быть хорошей причиной для изменения

  • @user-lu5ln8ry2c
    @user-lu5ln8ry2c 2 года назад +3

    Пуллреки еще и для обмена опытом. А то у нас всегда "чукча писатель, а не читатель". И пока люди не начнут читать чужой код на пуллреках, они не поймут как сложно иногда их собственный код читать. Когда они начнут читать код, то они как бы увидят себя со стороны. Поймут, что и имена переменных очень важны. А до тех пор так и будут называть все переменные x, потому что "тут же все итак понятно". А с учетом текучки программистов читабельность кода встает на передний план. Человек написал ему одному понятную фигню, уволился, а потом все заново переписывать приходится, потому что никто понять не может почему тут 5-ая вложенность циклов и что такое за переменная value

  • @user-jb7xp6ms3j
    @user-jb7xp6ms3j 2 года назад

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

  • @alexlife4329
    @alexlife4329 2 года назад +2

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

  • @fazleev
    @fazleev 2 года назад +6

    если есть незначительные замечания по оформлению - одобряю и пишу в слак чтобы не забивать PR комментариями

    • @programisli
      @programisli  2 года назад

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

    • @fazleev
      @fazleev 2 года назад

      @@programisli как правило, правят в этом же PR. После approve можно дослать коммиты типа cleanup или doc до слияния в dev

  • @caffeinejavacode1475
    @caffeinejavacode1475 2 года назад +3

    Вы в целом смотрите PR или по комитам?
    Что вы делали когда было 10 пулреквестов и нужно все ревьювить?
    Как избавлялись от накопления?
    Вы ревьювели код или бизнес логику тоже?

    • @programisli
      @programisli  2 года назад +1

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

  • @user-li8uq4fw1g
    @user-li8uq4fw1g 2 года назад +1

    Здравствуйте, когда-то давно у Вас выходило видео, где рассказывалось про книги для программистов. Не могли бы Вы подсказать, что именно необходимо читать тому человеку, который собирается идти в iOS разработку?(На языке программирования Swift, разумеется)

    • @programisli
      @programisli  2 года назад

      Если знаешь английский, то рекомендую m.ruclips.net/p/PL3d_SFOiG7_8ofjyKzX6Nl1wZehbdiZC_

  • @arseniy.k8895
    @arseniy.k8895 2 года назад +3

    Очень интересно, и в тоже самое время очень страшно вас слушать, т.к у меня 10+ лет опыта в программировании Delphi C++ PHP в 2 проектах. Но знаний намного меньше, это очень пугает. Буду смотреть вас и дальше при возможности. Спасибо!

    • @programisli
      @programisli  2 года назад

      Ну у меня уже 25 лет опыта, так что накопилось историй, которые можно рассказать

    • @Anton-kh9bj
      @Anton-kh9bj 10 месяцев назад

      ​​@@programisliМихаил, не думали ли выпустить видеокурс по разработке для передачи знаний и опыта, накопленных за столь долгую плодотворную карьеру? 😊

  • @GrandpaTin
    @GrandpaTin 2 года назад +2

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

    • @programisli
      @programisli  2 года назад

      Ну тебе в любом случае придётся возвращаться и смотреть, что изменено, чтобы убедится - исправили твой комментарий или не, так что с этой точки зрения экономии не вижу

    • @GrandpaTin
      @GrandpaTin 2 года назад +1

      @@programisli От конкретного случая зависит. Если исправление небольшое и было сделано сразу, мне как рецензенту скорее всего не придется "переключаться между задачами", я пойду чаю налью пока там коммит с исправлениями подвезут. А если в ПР много чего нужно переделать, то да, для рецензента большой разницы нет в рамках какой таски это будет сделано.

  • @aleksandrdemidov6058
    @aleksandrdemidov6058 2 года назад +1

    еще ни разу не видел PR :)

  • @Mr43046721
    @Mr43046721 2 года назад +1

    А как вы относитесь к кросс код ревью в командах различных размеров?

    • @programisli
      @programisli  2 года назад

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

  • @alexandertsimbulov2386
    @alexandertsimbulov2386 2 года назад +1

    Видео очень интересное, но как программист начинающий, я не до конца понимаю принцип и причину создания пул реквестов. Он всегда виден всем? Нужен только для ревью? Как он должен делаться правильно?

    • @programisli
      @programisli  2 года назад

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

  • @user-QesOrwuMqN
    @user-QesOrwuMqN 2 года назад +2

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

    • @programisli
      @programisli  2 года назад +1

      Вот это может быть хорошим аргументом, а не просто - ну MS же придумали

  • @viktorgladkih8048
    @viktorgladkih8048 2 года назад +1

    Ответ конечно из ряда. Но вот как вам аргумент, что code style на проекте такой?

    • @programisli
      @programisli  2 года назад +1

      Если есть стиль, то это аргумент, его нужно придерживаться

  • @47fps3
    @47fps3 2 года назад +2

    Может string.empty как бы более понятный чем "". Можно подумать что в "" просто забыли добавить символы, а string.empty явно прям указывает что программист хотел записать пустую строку.

    • @programisli
      @programisli  2 года назад

      Но это не делает код читабельнее. Если нет политики компании писать именно String.Empty, то зачем это делать?

    • @47fps3
      @47fps3 2 года назад

      Если в компании не обязательно так писать можно и не писать. Просто мне кажется что так лучше.

    • @pafnuteus
      @pafnuteus 2 года назад +1

      пустая строка "" - это по сути антипаттерн "Магическое число". строковые литералы в коде методов смотрятся стремно.

  • @caffeinejavacode1475
    @caffeinejavacode1475 2 года назад +2

    как по мне empty читабильнее
    А source код могли посмотреть?

    • @programisli
      @programisli  2 года назад

      Тогда .net кажется ещё не был открыт. А мне «» удобнее. Тут нужно или стиль корпоративный иметь или как-то договариваться

  • @andrewdirrell7497
    @andrewdirrell7497 2 года назад +1

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

    • @programisli
      @programisli  2 года назад

      Информации не так много, я учился на своих ошибках. Сейчас много видео а RUclips, я выкладываю немного на канале Програмысли видеоуроки.

    • @andrewdirrell7497
      @andrewdirrell7497 2 года назад

      @@programisli а самому для себя как создать "песочницу энтерпрайз"?) некое подобие большого проекта с искусственно созданной нагрузкой итд?)

  • @user-lu5ln8ry2c
    @user-lu5ln8ry2c 2 года назад +2

    В чем разница между "сделать код лучше" и "критиковать"? Если критика конструктивная, то это сделает код лучше. А критика должна быть конструктивная, иначе это не критика, а холивар. Вот холивара на пулреках быть не должно

  • @user-wp6pd2fx8g
    @user-wp6pd2fx8g 2 года назад +3

    Первый)

    • @IgorGallemar
      @IgorGallemar 2 года назад +2

      Обогнал :)

    • @user-wp6pd2fx8g
      @user-wp6pd2fx8g 2 года назад

      @@IgorGallemar что то позиции сдаешь)

    • @codingfox
      @codingfox 2 года назад +3

      а что ты еще умеешь?)

    • @IgorGallemar
      @IgorGallemar 2 года назад

      @@codingfox много чего, СУБД наше всё

  • @bringoff
    @bringoff 2 года назад +1

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

    • @programisli
      @programisli  2 года назад +2

      Боюсь это будет расслаблять и мало кто будет смотреть потом код. Сначала же нужно своё закончить

    • @bringoff
      @bringoff 2 года назад

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

  • @FADIK1987
    @FADIK1987 2 года назад +1

    не совсем понял чего удалили мой комент ну ладно ) - вроде все по теме было !

    • @programisli
      @programisli  2 года назад +1

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

    • @programisli
      @programisli  2 года назад +1

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