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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
Долгие прелюдии

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

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

#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
If-else, пора забыть об этом

Однако никто не говорит, что использование в коде конструкций switch, if-else является чем-то запретным, это идеальные инструменты на начальном этапе разработки проекта.

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

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

#programming #clean_code
Sider - как не наступать на те же грабли

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

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

Github

#clean_code #tools
Какие языки хотят изучать разработчики

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

Так вот, команда Specops использовала инструмент Keyword Explorer от Ahrefs для анализа поисковых запросов в Google и Youtube на темы разных языков программирования. И что же, на 1-ом месте бессменный Python, а вот на 2-ом...

Подробнее

#programming #programming_languages
Насколько ваши предпочтения эффективны.

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

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

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

#programming #self_improvement