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

  Рет қаралды 3,097

Програмысли

Програмысли

Күн бұрын

Пікірлер: 56
@ingvardkas5374
@ingvardkas5374 3 жыл бұрын
Находил иногда интересные комментарии в коде типа "Этот клиент жмот, может и не заплатить!". Сразу просил предоплату )) Такие комментарии делают код лучше
@titanovsky
@titanovsky 3 жыл бұрын
С наступающим, Михаил! Спасибо за видео)
@programisli
@programisli 3 жыл бұрын
Спасибо, вас тоже с Новым годом
@TheZarbazan
@TheZarbazan 3 жыл бұрын
По своему опыту скажу что пулл реквесты + кодревью это очень и очень. Во первых: можно на этапе кодревью отсеять потенциальные ошибки. Во вторых: кодревью - для джунов и даже мидлов это дополнительная причина следить на чистотой кода. Ревьювер может и по шарке надавать )))
@fractalzombie
@fractalzombie 3 жыл бұрын
Привет. Если честно, забыл когда был первый пул реквест, но очень давно, как только появилось. У меня уже 16 лет в общем опыта программирования. Я очень сильно смотрю за своей командой и всеми ПРами, бывает рефакторю за ребятами, если они не понимают, что имею ввиду. А так не представляю себе жизнь без этого на работе, было бы очень сложно.
@MrDarthat
@MrDarthat 3 жыл бұрын
Со string.Empty всё просто, это способ указать явно, что строка должна быть пустой, что это не программист оставил пустые кавычки по ошибке и не было лишних вопросов.
@programisli
@programisli 3 жыл бұрын
Ну мне понравилось объяснение, что в пустых кавычках могут быть невидимые Unicode символы. В String.empty точно не будет невидимости. Это да, это может быть хорошей причиной для изменения
@caffeinejavacode1475
@caffeinejavacode1475 3 жыл бұрын
Вы в целом смотрите PR или по комитам? Что вы делали когда было 10 пулреквестов и нужно все ревьювить? Как избавлялись от накопления? Вы ревьювели код или бизнес логику тоже?
@programisli
@programisli 3 жыл бұрын
Если большой запрос, то смотрю по коммитам. Что делать, чтобы не накапливалось - выделять время, иначе никак
@pafnuteus
@pafnuteus 3 жыл бұрын
"Переделаю потом" в большинстве случаев означает "переделаю никогда" :) Так растет технический долг. Сам таким грешу.
@programisli
@programisli 3 жыл бұрын
Ну если что-то серьёзное, то я заблокирую запрос. «Исправить потом» это что-то маленькое, что подправить можно за пять секунд
@alexlife4329
@alexlife4329 3 жыл бұрын
Нужная штука, щас как раз сборкой релизов занимаюсь. Для Pull Request где нужна не критичная доработка, то аппрувится и создается новый task на доработку.
@ДенисК-р6я
@ДенисК-р6я 2 жыл бұрын
Я не представляю, как мы жили без пул реквестов до их появления. Никто не знал, что делают другие
@Fjfdjnffnn
@Fjfdjnffnn 3 жыл бұрын
Пуллреки еще и для обмена опытом. А то у нас всегда "чукча писатель, а не читатель". И пока люди не начнут читать чужой код на пуллреках, они не поймут как сложно иногда их собственный код читать. Когда они начнут читать код, то они как бы увидят себя со стороны. Поймут, что и имена переменных очень важны. А до тех пор так и будут называть все переменные x, потому что "тут же все итак понятно". А с учетом текучки программистов читабельность кода встает на передний план. Человек написал ему одному понятную фигню, уволился, а потом все заново переписывать приходится, потому что никто понять не может почему тут 5-ая вложенность циклов и что такое за переменная value
@arseniy.k8895
@arseniy.k8895 3 жыл бұрын
Очень интересно, и в тоже самое время очень страшно вас слушать, т.к у меня 10+ лет опыта в программировании Delphi C++ PHP в 2 проектах. Но знаний намного меньше, это очень пугает. Буду смотреть вас и дальше при возможности. Спасибо!
@programisli
@programisli 3 жыл бұрын
Ну у меня уже 25 лет опыта, так что накопилось историй, которые можно рассказать
@Anton-kh9bj
@Anton-kh9bj Жыл бұрын
​​@@programisliМихаил, не думали ли выпустить видеокурс по разработке для передачи знаний и опыта, накопленных за столь долгую плодотворную карьеру? 😊
@СергейПантелеевичМавроди-я2ф
@СергейПантелеевичМавроди-я2ф 3 жыл бұрын
Здравствуйте, когда-то давно у Вас выходило видео, где рассказывалось про книги для программистов. Не могли бы Вы подсказать, что именно необходимо читать тому человеку, который собирается идти в iOS разработку?(На языке программирования Swift, разумеется)
@programisli
@programisli 3 жыл бұрын
Если знаешь английский, то рекомендую m.kzbin.info/aero/PL3d_SFOiG7_8ofjyKzX6Nl1wZehbdiZC_
@fazleev
@fazleev 3 жыл бұрын
если есть незначительные замечания по оформлению - одобряю и пишу в слак чтобы не забивать PR комментариями
@programisli
@programisli 3 жыл бұрын
Если программисты потом реально исправляют, то такой подход ускорит разработку.
@fazleev
@fazleev 3 жыл бұрын
@@programisli как правило, правят в этом же PR. После approve можно дослать коммиты типа cleanup или doc до слияния в dev
@andrewdirrell7497
@andrewdirrell7497 3 жыл бұрын
как самому учиться кодингу высоконагруженных систем, больших проектов, энтерпрайз? это и в плане архитектурных решений и структуры кода, и разных технических нюансов. книжек по этой теме практически нет.. только если по решениям, которые предполагают энтерпрайз, вроде Java EE..
@programisli
@programisli 3 жыл бұрын
Информации не так много, я учился на своих ошибках. Сейчас много видео а KZbin, я выкладываю немного на канале Програмысли видеоуроки.
@andrewdirrell7497
@andrewdirrell7497 3 жыл бұрын
@@programisli а самому для себя как создать "песочницу энтерпрайз"?) некое подобие большого проекта с искусственно созданной нагрузкой итд?)
@viktorgladkih8048
@viktorgladkih8048 3 жыл бұрын
Ответ конечно из ряда. Но вот как вам аргумент, что code style на проекте такой?
@programisli
@programisli 3 жыл бұрын
Если есть стиль, то это аргумент, его нужно придерживаться
@Mr43046721
@Mr43046721 3 жыл бұрын
А как вы относитесь к кросс код ревью в командах различных размеров?
@programisli
@programisli 3 жыл бұрын
Никогда не сталкивался, но такое может проверить стиль. Без знания логики работы приложения баги выловить будет сложно
@GrandpaTin
@GrandpaTin 3 жыл бұрын
Пропустить ПР для того, чтобы быстрее что-то начать тестировать или закрыть какую-то дыру - для меня крайне редкий случай. Обычно все-таки добиваюсь того, чтобы все было по фен-шую. Логика здесь простая - в истории в мастере не должно быть кривых коммитов с говнокодом или плохим код-стайлом. Тогда при необходимости можно откатываться на любой коммит в мастере и точно знать, что "вот это зааппрувлено как годное изменение". К тому же, пару раз бывали случаи, что программист при внесении каких-то исправлений по код-стайлу на самом деле ломал работу фичи и это не было замечено, никто не рецензировал такой ПР нормально потому что "ну че там смотреть, просто порядок навел". Другая проблема с отложенными исправлениями - необходимость создавать таски, еще один ПР, снова кого-то отвлекать, ждать пока посмотрят - короче, лишние накладные расходы. Да и таски на рефакторинг, если они не выполнены сразу, потом так и висят в бэклоге потому что "надо фичи пилить".
@programisli
@programisli 3 жыл бұрын
Ну тебе в любом случае придётся возвращаться и смотреть, что изменено, чтобы убедится - исправили твой комментарий или не, так что с этой точки зрения экономии не вижу
@GrandpaTin
@GrandpaTin 3 жыл бұрын
@@programisli От конкретного случая зависит. Если исправление небольшое и было сделано сразу, мне как рецензенту скорее всего не придется "переключаться между задачами", я пойду чаю налью пока там коммит с исправлениями подвезут. А если в ПР много чего нужно переделать, то да, для рецензента большой разницы нет в рамках какой таски это будет сделано.
@alexandertsimbulov2386
@alexandertsimbulov2386 3 жыл бұрын
Видео очень интересное, но как программист начинающий, я не до конца понимаю принцип и причину создания пул реквестов. Он всегда виден всем? Нужен только для ревью? Как он должен делаться правильно?
@programisli
@programisli 3 жыл бұрын
Видимость в каждой компании по своему настраивается. Часто виден всем. Нужен для ревью кода, чтобы найти ошибки
@caffeinejavacode1475
@caffeinejavacode1475 3 жыл бұрын
как по мне empty читабильнее А source код могли посмотреть?
@programisli
@programisli 3 жыл бұрын
Тогда .net кажется ещё не был открыт. А мне «» удобнее. Тут нужно или стиль корпоративный иметь или как-то договариваться
@47fps3
@47fps3 3 жыл бұрын
Может string.empty как бы более понятный чем "". Можно подумать что в "" просто забыли добавить символы, а string.empty явно прям указывает что программист хотел записать пустую строку.
@programisli
@programisli 3 жыл бұрын
Но это не делает код читабельнее. Если нет политики компании писать именно String.Empty, то зачем это делать?
@47fps3
@47fps3 3 жыл бұрын
Если в компании не обязательно так писать можно и не писать. Просто мне кажется что так лучше.
@pafnuteus
@pafnuteus 3 жыл бұрын
пустая строка "" - это по сути антипаттерн "Магическое число". строковые литералы в коде методов смотрятся стремно.
@user-QesOrwuMqN
@user-QesOrwuMqN 3 жыл бұрын
константа равная пустой строке нужна для решения проблемы с «невидимыми» символами юникода, визуально в коде сравнение с пустой строкой, а по факту редактор просто не отображает этот символ. а в константе гарантировано ничего нет
@programisli
@programisli 3 жыл бұрын
Вот это может быть хорошим аргументом, а не просто - ну MS же придумали
@aleksandrdemidov6058
@aleksandrdemidov6058 3 жыл бұрын
еще ни разу не видел PR :)
@Fjfdjnffnn
@Fjfdjnffnn 3 жыл бұрын
В чем разница между "сделать код лучше" и "критиковать"? Если критика конструктивная, то это сделает код лучше. А критика должна быть конструктивная, иначе это не критика, а холивар. Вот холивара на пулреках быть не должно
@bringoff
@bringoff 3 жыл бұрын
Мне нравится подход Square к пулл реквестам - они сначала мерджат всё, а ревью делается постфактум. Но это, конечно, подходит для команды, где у всех достаточно высокий уровень.
@programisli
@programisli 3 жыл бұрын
Боюсь это будет расслаблять и мало кто будет смотреть потом код. Сначала же нужно своё закончить
@bringoff
@bringoff 3 жыл бұрын
@@programisli ну, я не знаю, как там устроены процессы, но подозреваю, что решается примерно так же, как и с ревью перед мерджем. Например, назначается обязательный ревьюер. Зато меньше задержек при разработке.
@Сергей-г4о3н
@Сергей-г4о3н 3 жыл бұрын
Первый)
@IgorGallemar
@IgorGallemar 3 жыл бұрын
Обогнал :)
@Сергей-г4о3н
@Сергей-г4о3н 3 жыл бұрын
@@IgorGallemar что то позиции сдаешь)
@codingfox
@codingfox 3 жыл бұрын
а что ты еще умеешь?)
@IgorGallemar
@IgorGallemar 3 жыл бұрын
@@codingfox много чего, СУБД наше всё
@FADIK1987
@FADIK1987 3 жыл бұрын
не совсем понял чего удалили мой комент ну ладно ) - вроде все по теме было !
@programisli
@programisli 3 жыл бұрын
Я ничего не удаляю, но иногда слышу о том, что комментарии пропадают и в спаме их нет. Сейчас проверю, может в спаме что появилось
@programisli
@programisli 3 жыл бұрын
Я ничего не удаляю, но иногда слышу о том, что комментарии пропадают и в спаме их нет. Сейчас проверю, может в спаме что появилось
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
Учись программированию как ребёнок
10:49
Програмысли
Рет қаралды 4,9 М.
Многие стрессуют на собеседовании
17:16
Програмысли
Рет қаралды 4,1 М.
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Рет қаралды 16 М.
Исправь это в своём резюме и тебя наймут!
18:22
Четырёхчасовая рабочая неделя
28:21
Програмысли
Рет қаралды 6 М.
Рекрутинг сломан - зачем и почему
23:58
Програмысли
Рет қаралды 30 М.
Linux не для программистов
12:19
Програмысли
Рет қаралды 13 М.
Программисты несчастны
16:35
Програмысли
Рет қаралды 7 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН