Среда - неделе конец.
Решил копнуть ещё одну нужную и важную тему - тему ревью кода. В ней не так много холиваров, как в юнит-тестировании, например, но тем не менее за долгие годы наблюдения за этим процессом я неоднократно наблюдал ожесточённые битвы инженеров. Многие команды просто игнорируют эту практику ссылаясь на нехватку времени, на наличие тестировщиков, автотестов и вот этого всего, забывая при этом, что код-ревью - это один из важнейших процессов в софтверной разработке. Как минимум это гигиена кода и один из способов борьбы с хрупкостью, как максимум - это статическое тестирование кода, КПД которого в ряде случаев может превышать пользу от динамического тестирования руками тех самых тестировщиков, особенно если речь идёт о системах класса А.
По доброй традиции ИТ-сообщество придумало приличное количество практик, которые позволяют делать процесс код-ревью качественно и с положительным выхлопом. О практиках, паттернах, антипаттернах, пользе и вреде материалы ниже.
Начну с ребят из Баду. Ребята постоянно делятся своими наработками в инженерии, не обошли они и тему ревью. Здесь отмечу, что у них есть ещё performance-review, о котором рассказывал Алексей Рыбак на одном из хайлодов, но это не то ревью:)) Итак.
https://habr.com/company/badoo/blog/354856/ - история становления код-ревью в Баду, как оно появилось, как оно видоизменялось в процессе роста числа разработчиков. Важный момент - рассказ написал Илья Агеев - директор по контролю качества. Т.е. всё, как у взрослых - ревью - часть процесса обеспечения качества продукта.
https://habr.com/company/badoo/blog/413965/ - продолжение первого поста, но теперь взгляд чуть с другой стороны - для чего ещё может применяться код-ревью (а там обучение новичков, свежий взгляд на код, снижение бас-фактора и т.д.). Но секс в том, что это на самом деле совершенно не является основным назначением этого процесса, и часто за этими псевдо-целями теряется то, ради чего это всё затевалось - правильность архитектуры, соблюдение соглашений, корректность решения и тестируемость кода. Собственно ещё одна точка зрения на эту тему от всё того же Ильи Агеева. Кстати, в статье в самом начале есть ссылка на кучу статей по этой тематике, не удивляйтесь, когда увидите, куда она приведёт. Тема реально популярная и востребованная в мировой ИТ-индустрии.
З.Ы. Кстати, если вы до сих пор не подписаны на их бложеки и видосы - рекомендую обязательно это сделать, например, здесь https://tech.badoo.com/ru/
Решил копнуть ещё одну нужную и важную тему - тему ревью кода. В ней не так много холиваров, как в юнит-тестировании, например, но тем не менее за долгие годы наблюдения за этим процессом я неоднократно наблюдал ожесточённые битвы инженеров. Многие команды просто игнорируют эту практику ссылаясь на нехватку времени, на наличие тестировщиков, автотестов и вот этого всего, забывая при этом, что код-ревью - это один из важнейших процессов в софтверной разработке. Как минимум это гигиена кода и один из способов борьбы с хрупкостью, как максимум - это статическое тестирование кода, КПД которого в ряде случаев может превышать пользу от динамического тестирования руками тех самых тестировщиков, особенно если речь идёт о системах класса А.
По доброй традиции ИТ-сообщество придумало приличное количество практик, которые позволяют делать процесс код-ревью качественно и с положительным выхлопом. О практиках, паттернах, антипаттернах, пользе и вреде материалы ниже.
Начну с ребят из Баду. Ребята постоянно делятся своими наработками в инженерии, не обошли они и тему ревью. Здесь отмечу, что у них есть ещё performance-review, о котором рассказывал Алексей Рыбак на одном из хайлодов, но это не то ревью:)) Итак.
https://habr.com/company/badoo/blog/354856/ - история становления код-ревью в Баду, как оно появилось, как оно видоизменялось в процессе роста числа разработчиков. Важный момент - рассказ написал Илья Агеев - директор по контролю качества. Т.е. всё, как у взрослых - ревью - часть процесса обеспечения качества продукта.
https://habr.com/company/badoo/blog/413965/ - продолжение первого поста, но теперь взгляд чуть с другой стороны - для чего ещё может применяться код-ревью (а там обучение новичков, свежий взгляд на код, снижение бас-фактора и т.д.). Но секс в том, что это на самом деле совершенно не является основным назначением этого процесса, и часто за этими псевдо-целями теряется то, ради чего это всё затевалось - правильность архитектуры, соблюдение соглашений, корректность решения и тестируемость кода. Собственно ещё одна точка зрения на эту тему от всё того же Ильи Агеева. Кстати, в статье в самом начале есть ссылка на кучу статей по этой тематике, не удивляйтесь, когда увидите, куда она приведёт. Тема реально популярная и востребованная в мировой ИТ-индустрии.
З.Ы. Кстати, если вы до сих пор не подписаны на их бложеки и видосы - рекомендую обязательно это сделать, например, здесь https://tech.badoo.com/ru/