✏️ Как осуществить качественное код-ревью на нескольких платформах
Просматривая код своих коллег и оставляя полезные комментарии вы улучшаете качество кода, тем самым улучшая здоровье проекта. На ревью можно увидеть различные недочёты, которые в дальнейшем могут превратиться в падения, пропуски багов, тормоза и т.д. Увидеть такие моменты — очень классное умение, его можно и нужно тренировать 💪
Мне как ревьюру несомненно хочется, чтобы была какая-то польза от комментариев, чтобы человек понял, почему надо сделать так, а не иначе.
Хороший тон — скидывать ссылки на документации или какие-то примеры из других подобных случаев. Человек сразу видит, на что опираться, откуда это взялось. 🖥
Ещё я понимаю, что мои комментарии увидят другие, и я также могу почитать комментарии других и учиться на них, запоминая какие-то повторяющиеся моменты, которые, к слову, можно затем систематически отлавливать анализаторами кода (если это, конечно, возможно).
На разных платформах могут быть свои правила, которые нужно соблюдать. Для одного языка можно выработать общие правила, это унифицирует правила и не нужно запоминать для каждого свои)
На разных языках какие-то синтаксические различия — это понятно. Но общие концепции тоже можно сохранить, к примеру, концепцию AAA (arrange, act, assert).
💡 Можно сделать чек-лист код-ревью для каждого языка/платформы, он поможет ничего не забыть при проведении код-ревью.
🔍 Про анализаторы кода. Настроить их по максимуму, чтоб убрать рутину по форматированию, обязательным элементами, неиспользуемому коду и т.д.
Нужно проверять код автотеста на логику шагов, а так ли тест должен выглядеть?
Может быть что-то излишне или чего-то наоборот не хватает? Может быть что-то не будет работать при определённых условиях? 💡Подсвечивайте такие моменты, ведь в дальнейшем тест будет гоняться в таком виде и, возможно, нескоро заметится, что что-то не так ⚡️
📁 Тестовые данные, это большая тема, про которую стоит не забывать, часто используется в тестах и может быть в самих данных уже кроется какой-то нюанс. Очищаются ли все данные? Почему тут используется именно эти данные? Почему мы берём эти данные, а не другие? Эти и другие вопросы могут прийти во время ревью)
📖 Смотреть и впитывать себя особенности платформ/языков — бесценный опыт. Благодаря нему ты видишь общую картинку. Где-то не применяют какое-то правило или интерпретируют его по-другому? 📈 Есть места, что можно улучшить.
Собирайте такие моменты и улучшайте вместе с командой.
👀 Все ревьеры поставили апрув, но ты видишь какой-то момент, который нужно подправить прямо сейчас? Не откладывай на потом — напиши. У всех случается, что что-то не замечается, это жиза. Этот момент запомнят и скорее всего уже будут обращать на это внимание)
📌 Это лично моё видение, я верю, что качественное ревью помогает всем членам команды и проекту, что это не только рутина, это целая история, опыт,
Я сам не идеальный ревьюер, но стараюсь идти к этому:
— вхожу в команду ревьюеров своего БЮ на трёх платформах (Web, API, Android)
— за 1 год поревьюил где-то 180+ MR-ов, не знаю даже, это много или мало)) 💬Напишите в комменты, пожалуйста, сколько вы ревьюите обычно)
#статьи #кодревью #автотесты
Post #104
414

- 👍 5