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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
Пора прокачаться в паттернах.

Ребята, добрый день! Мы подготовили для вас подборку материалов для изучения паттернов проектирования на примерах кода с пояснениями:

Паттерны за 5 минут - статья, в которой рассказывается про каждый из типов паттернов и приводится пример каждого типа;

Паттерн - Фасад - комплексная статья о паттерне Фасад, особенностях его применения и концепции;

Паттерн - Мост - или как спрятать сложную внутреннюю логику, предоставив легкий интерфейс;

Observer vs Pub-sub - вечное противостояние и сложности в понимании.

Изучайте, друзья!

#programming #patterns
Code Climate умеренный.

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

Таким образом на основе отчетов Code Climate вы сможете получить легко поддерживаемый и расширяемый код.

GitHub | Sources

#tools #clean_code
Работай разумно, чтобы не пахать как лошадь.

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

Возможно, вы уже слышали и пробовали такие инструменты, как: Cloudcraft, Figma, BundlePhobia, Font Flipper. Так вот, сегодня речь пойдет именно о них!

Читать статью (6 мин)

#programming #tools
Четыре вещи, которым нужно разучиться, чтобы стать хорошим разработчиком.

Постулат данной статьи:
• Замени циклы функциями высшего порядка;
• Замени условные выражения структурами данных и полиморфизмом;
• Замени буквальные имена переменных на целевые имена;
• Забудь о существовании глобальной области видимости.

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

#programming #clean_code
Долгие прелюдии

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

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

#programming #pointers
C++ в сентябре 2020 стал самым быстрорастущим языком (+1.48%) в рейтинге TIOBE. С другой стороны, у Java серьезные проблемы — язык потерял 3.18% по сравнению с прошлым годом. В двадцатке из “наших” - Swift на 12 месте (+0.28%), Objective-C на 19 (-0.99%), Dart на 20 (+0.13%). JavaScript уверенно вырос (+0.41). Тем не менее JS остаётся первым в рейтинге самых популярных языков программирования
Flutter vs React Native vs Native

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

Данная статья представляет собой анализ производительности кода на основе сложных анимаций в единой среде GameBench.

Читать статью (5 мин)

#mobile_dev #performance
Coveralls

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

Рекомендуется взять на вооружение Coveralls совместно с такими интсрументами, как Code Inspector или же Codacy, чтобы обеспечить полную уверенность в разрабатываемом ПО.

GitHub

#tools #code_analysis
Упрощайте списки параметров

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

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

#programming #clean_code
WebAssembly — разрушительные технологии будущего.

Да, WebAssembly действительно ускорит работу веб-сайтов и приложений, позволит использовать максимум вычислительных ресурсов, однако какова плата за производительность?

Дело в том, что существует довольно страшная уязвимость, отследить наличие которой будет достаточно сложно. И вот именно она может стать роковой.

Читать статью

#programming #technologies
Snyk - повадырь.

Snyk поможет командам разработчиков находить уязвимости в проектах с открытым исходным кодом. Основные из поддерживаемых языков: Java, Ruby, Python, Node.js, Scala.

База Snyk отслеживает 800 тыс open-source проектов, что помогает более 25 тыс. приложений работать стабильнее. 83% пользователей Snyk регулярно обнаруживают уязвимости в своих проектах. А хорошо вооружен лишь тот, кто предупрежден.

GitHub

#programming #tools
Архитектура: важнейшие паттерны

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

Недаром говорят: "Как заправишь, так и поедет" Так вот, это как никак кстати относительно архитектуры ПО. Грамотное проектирование позволит вам сэкономить не только время и нервы, но и штат специалистов техподдержки.

Читать статью (7 мин)

#programming #architecture
Пошаговая инструкция о том, как стать экспертом Git.

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

Не обошли стороной механизм ветвления и слияния веток как основного метода разработки ПО в промышленных масштабах. Но самая важная особенность Git - контроль версий. Приглашаем под кат.

Читать статью

#programming #git
Рост установок в 3 квартале 2020

Количество загрузок приложений в мире достигло 36.4 млрд., это рост на 22.8% по сравнению с аналогичным периодом прошлого года. Установки в App Store выросли на 2.5% до 8.2 миллиарда, в то время как Google Play вырос на 30.3% до 28.2 миллиарда.

Компания Sensor Tower опубликовала отчет Store Intelligence Data Digest за третий квартал 2020 года.

Подробнее

#programming #news
Тест на клинкодера
#programming #clean_code
Упрощение поиска проблемных частей кода в Python

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

Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.

Читать статью

#programming #clean_code
О важности абстракции

Взгляните на листинги двух классов. Да, вам может показаться, что класс Program более компактный, но стоит более внимательно посмотреть на класс Employee, как тут же становится понятно, что здесь мы работаем на верном уровне абстракции.

Методы, которые используются во внутренних вычислениях, закрыты, а открытыми остаются лишь те, которые действительно выполняют свою задачу, при этом область применения класса Employee четко понятна из названий методов и переменных-атрибутов.

#programming #clean_code
С прозрачностью скриптов сборки к идеальным зависимостям

Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.

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

Читать статью (10 мин)

#programming #clean_code