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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
🧑‍💻 Не бойтесь перемен!

Часть 1

В этой небольшой серии советов будут собраны очень простые рекомендации, о которых знает каждый, вот только далеко не каждый их использует. Допустим, вместо «многослойных» if-ов можно использовать оператор (x ? y : z).

Пример с if: код 1.

Пример с (x ? y : z): код 2.

Также не забывайте о существовании forEach(), который избавит вас от претензий в стиле «Многа букав»:

 static void forEach(){
int [] mas = {1, 2, 3, 4, 5};
for (int i : mas){
System.out.println(i);
}
}

Продолжение следует...

Clean Code #совет #код
Review Board

Сетевое, open-source решение для ревью кода. Чтобы протестировать этот инструмент, можете либо попробовать демо на их сайте, либо загрузить и установить программу на вашем сервере.

📑 Сайт

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

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

Выберите правильный вариант 👆
🧑‍💻 Не бойтесь перемен!

Часть 2

Перед прочтением рекомендуем ознакомиться с первой частью.

В прошлой части мы рассмотрели тернарные операторы и forEach().

В этой части поговорим об вложенных условиях. Объединяйте вложенные if. Посмотрите, насколько проще становится код.

Было: см. код 1.

Стало: см. код 2.

Продолжение следует...

Clean Code #совет #код
Газпромбанк проведет свой хакатон для DevOps-специалистов

Банк совместно с компанией SAS проведет свой первый онлайн-хакатон GPB Hack. Призовой фонд составит 500 тысяч рублей, а лучшие участники получат шанс попасть в банк на работу.

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

Прием заявок завершится 24 мая. Стать участником можно по ссылке.
📖 Pro Git — профессиональный контроль версий
🖋 Скот Чакон, 2019

Обучающая книга о Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Автор рассматривает в тексте всевозможные аспекты работы с Git'ом, начиная с установки программы и базовых принципов работы децентрализованных систем контроля версий, и заканчивая рассмотрением внутреннего устройства Git'а и созданием валидных объектов в базе Git'а собственными руками. Несмотря на довольно обширный материал и затрагивание довольно специфических тем, книга написана довольно простым языком, содержит массу примеров и иллюстраций, и поэтому должна быть понятна и новичкам, только начинающим знакомиться с системами контроля версий.

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

Clean Code #книги #git
🧑‍💻 Поговорим о боли под названием «try-catch»

Читаемость кода часто усугубляется повсеместными блоками try-catch, которые сильно портят «картинку». Кроме того, по мере чтения такого программного кода теряются цель и логика происходящего в нем. А все должно быть предельно понятным, особенно для стороннего человека. Правильно обрабатывать возможные ошибки – признак настоящего мастерства.

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

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

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

1
. Релиз Ubuntu 21.04: поддержка Microsoft SQL Server и Flutter SDK «из коробки».

2. Review Board — сетевое, open-source решение для ревью кода.

3. Pro Git — профессиональный контроль версий.
Crucible

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

Схоже с Review Board, Crucible поддерживает большое количество систем контроля версий — SVN, Git, Mercurial, CVS и Perforce. Базовая функция — позволить проводить ревью кода. Вдобавок к общим комментариям к коду, он позволяет писать inline-комментарии внутри diff view, чтобы точно указать на то, что вы хотели сказать.

📑 Сайт

Clean Code #инструменты #CodeReview
📖 Приемы объектно-ориентированного проектирования
🖋 Э. Гамма, 2015

В книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.

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

Clean Code #книги
там в @digital_dealerz промокод на скидку 25% на наших ботов лежит, не пропусти
🧑‍💻 Логирование

Не пренебрегайте лог-файлами! Эти «ребята» всегда помогут в создании и сопровождении вашего будущего ПО, ведь на поиски и обработку ошибок будет уходить гораздо меньше времени.

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

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

Clean Code #совет #cleancode
📑 Microsoft выпустила open-source инструмент для проверки защищённости ИИ

На GitHub-аккаунте Azure появился репозиторий с новым проектом — Counterfit. Его основной задачей является тестирование чужого искусственного интеллекта (ИИ) на защищённость от атак. Дополнительного «шарма» проекту добавляет его «опенсорсность».

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

Clean Code #новости #microsoft #GitHub
📑 8 лучших советов по улучшению продуктивности для разработчиков

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

Clean Code #статьи
Clean Code #test #js

Выберите правильный вариант 👇🏼
🧑‍💻 Тестирование

Юнит-тестирование (или модульное тестирование) — еще одна составляющая хорошего программного кода, которая заставит помучиться. Зато в итоге вы сможете запросто проверять на правильность отдельные модули.

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

Clean Code #совет #cleancode