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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
📑 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
📑 DeepMind заявила Google, что не знает, как сделать искусственный интеллект менее токсичным

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

Clean Code #новости
📑 Как освоить Git медленно, но верно

Лучший способ освоить Git — делать это постепенно. И чтобы стать мастером, потребуется некоторое время.

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

Clean Code #статьи #Git
Clean Code #test #oop

Выберите правильный вариант 👇🏼
🧑‍💻 Отведите время на ревью кода

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

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

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

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

▍И это еще не все...

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

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

— Все их планы включают два бесплатных сайта-песочницы, среду разработки, тестирования и живую разработку на основе Git, бесплатные сертификаты HTTPS и интегрированную CDN (сеть доставки контента).
— PI помогает интегрировать командные рабочие процессы.

▍Плюсы

— Данные копируются и восстанавливаются при необходимости.
— Система поддержки доступна 24/7.
— Хостинг безопасен.
— Планы Pantheon включают два бесплатных сайта-песочницы.

📑 Сайт

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