Clean Code
13.3K subscribers
2.32K photos
5 videos
2.98K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
加入频道
Rhodecode

Это веб-инструмент, который помогает в проведении ревью кода.

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

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

Rhodecode легко интегрируется в существующие проекты, что делает его отличным выбором для тех, кто ищет веб-инструмент для код-ревью. Следовательно, комьюнити-версия идеально подходит для людей с техническими знаниями, которые ищут бесплатный и надежный инструмент для код-ревью.

📑 Сайт

Clean Code #инструменты #CodeReview
Imgbot

Когда вы сосредоточены на написании кода в установленный срок, легко забыть об оптимизации изображений.

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

Imgbot — простой и эффективный инструмент, который позволяет без потерь сжимать все изображения в ваших репозиториях.

📑 Сайт

Clean Code #инструменты #CodeReview #img
LGTM

Платформа для анализа кода, которая фокусируется на поиске критических уязвимостей и предотвращении проблем.

LGTM проводит более чем 1600 тестов, и, находя проблему, автоматически помечает её в pull request.

LGTM очень хорошо справляется со своей работой благодаря исследованиям команды в области безопасности, которая на текущий момент нашла более ста CVE (Common Vulnerabilities and Exposures) в таких больших проектах, как UBoot, Apache Struts, ядро Linux, Memcached, VLC и Apple XNU.

Среди анализируемых проблем — внедрение регулярных выражений, XSS-уязвимости и низкое качество кода, приводящее к снижению безопасности.

📑 Сайт

Clean Code #инструменты #CodeReview
DeepSource

Используется такими компаниями, как NASA, Uber и Slack. Он автоматически обнаруживает уязвимости и проблемы с документированием кода.

Примеры анализируемых проблем:

— используемый модуль не согласуется с требованиями к ПО;
— в репозиторий закоммичена конфиденциальная информация.

DeepSource автоматически добавляет аннотации и комментарии к pull request’ам, облегчая обнаружение проблем и гарантируя безопасность конфиденциальных данных. Это ускоряет процесс code review и обеспечивает более высокое качество проекта.

📑 Сайт

Clean Code #инструменты #CodeReview
Как сделать хорошее ревью кода?

Senior объясняет: ревью кода — это хлеб с маслом для разработчиков программного обеспечения, но многие ли из нас знают, как это делать правильно? За многие годы автор приобрел множество отличных практик — ими он делится в этом видео.

📺 YouTube

Clean Code #видео #cleancode #CodeReview
📑 Code review по-человечески (часть 1)

Обычно статьи о лучших практиках code review фокусируются на поиске багов, практически игнорируя другие компоненты ревью. Конструктивное и профессиональное обсуждение обнаруженных проблем? Неважно! Просто найди все баги, а дальше само сложится. В этой статье обсуждаются техники, которые предполагают, что code review — не только технический, но и социальный процесс.

Clean Code #статьи #CodeReview
📑 Code review по-человечески (часть 2)

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

Clean Code #статьи #CodeReview
🧑‍💻 Всегда начинайте с позитива

Бывает, что пул-реквест имеет множество проблем: не использованы правильные элементы, реализованный дизайн не совпадает с макетом, бессмысленная логика и т. д. Если вы выступаете в роли ревьюера, ваша задача – выискивать ошибки такого рода и корректно на них указывать. При этом очень легко начать фокусироваться только на негативе.

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

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

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

Похвала укрепляет уверенность людей в своих силах и делает их более восприимчивыми к обратной связи, ведь таким образом они осознают, что вы потратили время на тщательную проверку их кода. Так что, если их логика в отношении Х была не очень хороша, а вот с Y и Z они справились отлично, скажите им об этом!

Clean Code #совет #cleancode #CodeReview
🧑‍💻 Не «ты», а «код»

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

То же самое можно отнести и к ревью кода. Когда критикуете что-нибудь, важно избегать слова «ты» («вы»). Человеку и без того трудно принять критику его работы, так что не надо усложнять эту задачу, заставляя его прочувствовать, что это именно он был неправ. Например, можно совершенно изменить тон своего комментария, заменив «У тебя в в 25-й строке непонятная логика» на «Мне непонятна логика в 25-й строке». Я точно знаю, какой вариант я бы предпочла услышать, если бы это мой код просматривали.

Clean Code #совет #cleancode #CodeReview
🧑‍💻 Используйте комментарии строк

Для большинства проектов наша команда использует GitHub. Одна из моих любимых фич этой платформы – возможность запостить комментарий, касающийся конкретной строки кода. Это избавляет нас от многих трудностей, а также помогает не допустить возможной путаницы, которая возникает при написании объемных комментариев с указанием строк и файлов. Если большая часть ваших комментариев – единичные изменения, функционал GitHub может помочь в создании простого чекбокса поправок, которые нужно внести.

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

Clean Code #совет #cleancode #CodeReview