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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
Бросьте эти if-else в помойку

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

Об этом на основе хороших примеров кода в следующей статье.

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

#programming #clean_code
Мощная подборка по принципам ООП

Рады сообщить, специально для вас мы подготовили тематическую подборку по принципам ООП.

Принципы ООП за 4 минуты - обучающая статья о принципах ООП, их значении и применении.

Объектно-ориентированный мусор - обсуждаются проблемы ООП на понятных примерах кода.

Используйте Композицию вместо Наследования - описывается проблемы чрезмерного использования Наследования и обсуждается целесообразность Композиции.

#programming #compilation
Clean Classes

Рубрика чистого кода всегда актуальна! В данной статье автор делится своим мнением о том, как следует проектировать структуру согласно ООП, а также каким образом писать классы, чтобы код получился лаконичным и поддерживаемым

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

#programming #clean_code
API Insights by Moesif

Вы даже не представляете, насколько полезным может быть API-менеджмент, в том числе и в отношении монетизации использования API конечными пользователями и разработчиками.

Moesif API Insights - инструмент с Github-интеграцией, который поможет в аналитике и мониторинге использования API. Это позволит вам не только исправить баги, но и подстроить API конкретно под нужды разработчиков.

Github

#api_management #tools
Apple. Дикое ужесточение конфиденциальности.

В iOS 14 планировалось ввести функцию, которая бы позволила пользователям отказаться от отслеживания рекламы. Таким решением обеспокоилась команда Facebook, предупредив Apple о возможном отказе работать с iOS 14. Данная функция поставила бы крест на Audience Network.

Пока Apple отложила вопрос о внедрении нового функционала на полгода.

#programming #apple_privacy
Обnull-яйте указатели

При удалении или освобождении указателей им следует присваивать NULL. Одна из самых распространенных проблем - так называемый "висячий указатель", т.е обращение к указателю после вызова delete или free.

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

#programming #pointers
Пора прокачаться в паттернах.

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

Паттерны за 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