Clean Code
12.8K subscribers
2.51K photos
7 videos
3.32K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
🧑‍💻 Всегда начинайте с позитива

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

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

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

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

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

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

Помогает проектировать, разрабатывать и тестировать программное решение с помощью различных продуктов, таких как Ext JS, ExtReact, ExtAngular, GXT, Sencha Test и Sencha Themer.

▍Что еще?

Sencha Ext JS помогает создавать комплексные веб-приложения HTML5 с большим объемом данных с использованием JavaScript. Вы также можете создавать кроссплатформенные веб-сайты и приложения для любого устройства. В нем есть готовая к работе инфраструктура, компоненты и инструменты, которые помогут вам создать веб-приложение.

▍Ключевая особенность

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

▍Плюсы

— Он может работать на нескольких устройствах, таких как мобильные телефоны и планшеты.
— Готовые компоненты представляют собой законченное решение.
— Хорошая система поддержки доступна на форумах сообщества.

📑 Сайт

Clean Code #инструменты
🔥 Лучшее на канале за неделю

1
. 13 редких и недооцененных языков программирования.

2. Sencha — помогает проектировать, разрабатывать и тестировать программное решение с помощью различных продуктов, таких как Ext JS, ExtReact, ExtAngular, GXT, Sencha Test и Sencha Themer.

3. Грокаем глубокое обучение.
📑 MskHost объявил о приостановке работы после взлома и утечки данных клиентов

Вечером 12 сентября хостинг-провайдер MskHost объявил о приостановке работы. Это произошло спустя 12 часов после глобального взлома IT-инфраструктуры компании.

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

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

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

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

Это автономная программа на основе Java с открытым исходным кодом, которую можно легко установить в любой операционной системе на основе Unix, Windows и macOS. Что делает его одним из лучших инструментов разработчика, так это то, что его легко настроить и настроить.

▍Что-нибудь еще?

Он имеет сотни плагинов в Центре обновлений и может интегрироваться с широким спектром инструментов. Вы можете получить доступ к бесконечным возможностям, поскольку Jenkins может расширяться с помощью своих плагинов.

▍Ключевая особенность

— С помощью Jenkins вы можете распределять работу по нескольким платформам, а также успешно создавать и тестировать свое веб-приложение.
— С помощью плагинов в Центре обновлений вы можете исправить, протестировать и проанализировать любую проблему.

▍Плюсы

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

📑 Сайт

Clean Code #инструменты
Clean Code #test #oop

Выберите правильный вариант 👇🏼
Clean Code #test #oop

Выберите правильный вариант 👇🏼
🧑‍💻 Используйте комментарии строк

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

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

Clean Code #совет #cleancode #CodeReview
📖 Безопасный DevOps. Эффективная эксплуатация систем
🖋 Д. Вехен, 2020

Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд - оценивать эти риски и усиливать защиту системы от них.

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

Требуется знание Linux и владение стандартными практиками DevOps, такими как CI, CD и модульное тестирование.

💾 Скачать книгу

Clean Code #книги #DevOps
🧑‍💻 Как можно раньше устанавливайте стандарты оформления кода и используйте инструменты, которые могут помочь в проведении ревью

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

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

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

Clean Code #совет #cleancode #CodeReview
Рефакторинг кода

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

📺 YouTube

Clean Code #видео #refactoring
🔥 Лучшее на канале за неделю

1
. Безопасный DevOps. Эффективная эксплуатация систем.

2. Jenkins — это автономная программа на основе Java с открытым исходным кодом, которую можно легко установить в любой операционной системе на основе Unix, Windows и macOS.

3. Используйте комментарии строк.
Postman

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

▍Что еще?

Вы можете интегрировать и автоматизировать тесты в конвейере CI / CD. Postman может автоматизировать тесты, такие как функциональные тесты, модульные тесты, интеграционные тесты, регрессионные тесты и т. Д. Автоматизация помогает уменьшить количество человеческих ошибок.

▍Ключевая особенность

— Вы можете сократить время создания API, используя имитирующие серверы Postman.
— Он упрощает дизайн API и оптимизирует ваши внешние и внутренние задачи, так что вы можете легко просматривать ответы.

▍Плюсы

— Простая интеграция между разными командами на разных платформах.
— Экономически эффективным.
— Простая настройка HTTP.

📑 Сайт

Clean Code #инструменты
🧑‍💻 Начинайте с общего плана, а затем углубляйтесь в детали

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

1) Есть ли здесь проваленные тесты? Если да, то в чем причина?
2) Есть ли в этом пул-реквесте лишние файлы?
3) Можно ли выполнить checkout этой ветки без единой ошибки?
4) Была ли обновлена соответствующая документация, отражены ли в ней представленные в коде изменения?
5) Добавлены ли в проект новые пакеты или зависимости? Если да, то почему? Нужны ли они?
6) Является ли HTML валидным, семантическим и доступным?
7) Соответствует ли CSS стандартам проекта? Как насчет межбраузерной совместимости?
8) Соответствует ли JavaScript стандартам проекта? Является ли он модульным? Легко ли прослеживается логика? Учтены ли edge cases?

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

Clean Code #совет #cleancode #CodeReview
📖 Паттерны проектирования для C# и платформы .NET Core
🖋 Арораа Г., Чилберто Д., 2021

Паттерны проектирования — удобный прием программирования для решения рутинных задач разработки ПО. Грамотное использование паттернов позволяет добиться соответствия любым требованиям и снизить расходы. В этой книге описаны эффективные способы применения паттернов проектирования с учётом специфики языка C# и платформы .NET Core. Кроме знакомых паттернов проектирования из книги «Банды четырех» вы изучите основы объектно-ориентированного программирования и принципов SOLID. Затем узнаете о функциональных, реактивных и конкурентных паттернах, с помощью которых будете работать с потоками и корутинами. Заключительная часть содержит паттерны для работы с микросервисными, бессерверными и облачно-ориентированными приложениями. Вы также узнаете, как сделать выбор архитектуры, например микросервисной или MVC.

💾 Скачать книгу

Clean Code #книги #C_Sharp #dotnet