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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
#daynews #javascript

Согласно результатам опроса сайта DOU.UA в 2020 JavaScript выходит на 1-ое место по популярности, обогнав Java и C#.

Такие языки, как TypeScript, Python и Kotlin показывают стремительный рост популярности.

Подробный анализ
Hound Code Reviews

Знаете, каким инструментом пользуются такие мощные команды разработчиков, как CodeShip, RailGirls, Elastic, BBC News? Hound Code Reviews.

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

GitHub | Site

#programming #code_review
Концепция программирования

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

Старайтесь сделать его более целостным, т.к. зачастую исключительные ситуации имеют тенденцию к изменчивости.

#programming #algorithms
Я счастлив, когда пишу на этом языке

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

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

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

#programming #analytics
Паттерны за 5 минут

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

Паттерны настолько эффективны, что их пользу сложно переоценить, поскольку мы часто сталкиваемся со стандартными задачами. Знание паттернов - необходимость.

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

Sync by Unito - инструмент для повышения интеграции платформ по менеджменту команд разработчиков. Допустим, часть вашей команды использует Trello, другая - Asana.

Sync by Unito позволяет создавать персональные доски, синхронизирующиеся с несколькими платформами таким образом, что изменения в одной из них автоматически переносятся на персональную доску.

Sync by Unito | Tutorial

#programming #team_management
Можно ли вообще быть FullStack-разработчиком?

Автор статьи рассуждает над термином FullStack и тем, как ему можно соответствовать, ведь задачей fullstack-разработчика является разработка проекта во всех его аспектах.

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

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

#programming #web_development
Интернет меняется: HTTP/3 больше не взаимодействует с TCP.

Несмотря на то что TCP является одним из основных протоколов передачи данных, обеспечивающих гарантированную доставку пакетов, Google в 2012 году разработал протокол QUIC.

Более того, новая версия HTTP/3 теперь будет базироваться на QUIC. Этот протокол позволяет мультиплексировать несколько потоков данных между двумя компьютерами, работая поверх протокола UDP, и содержит возможности шифрования, эквивалентные TLS и SSL. Что-то невероятное, не так ли!

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

#programming #internet
В бюллетенях некорректные значения

Когда вы используете перечислимый тип в условиях if или case, проверяйте появление недопустимых значений. В переключателе case для перехвата неправильных значений часто применяется оператор default. Пользуйтесь им мудро для предотвращения непрогнозируемых алгоритмических сценариев.

#programming #if_case
Как быть хорошим разработчиком?

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

Как ни странно, именно эти признаки кода отличают мидла от сеньора, хорошего разработчика от профессионала.

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

#programming #clean_code
Я сейчас тебе препроцессор встрою

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

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

#programming #debugging
5 недооценённых приложений, которые определённо заслуживают вашего внимания

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

В данной статье собран набор очень полезных инструментов, таких как Ungit, Spacedesk, Alacritty, которые помогут существенно сэкономить время на разработку и администрирование.

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

#programming #tools
LGTM Looks good to me!

LGTM — целая платформа анализа кода для выявления уязвимостей и предотвращения их попадания в продакшн. Каждый pull request проходит тщательную проверку, при этом генерируются предупреждения об уязвимостях.

Таким образом, LGTM позволит разработчику выявить проблему на ранней стадии и пофиксить её до code review. При этом история уязвимостей сохраняется, поэтому вы всегда сможете отследить, как ваш проект улучшался и эволюционировал.

GitHub

#programming #tools
Google ломает стереотипы!

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

Таким образом, сертификат за 300$ позволит попасть на работу в Google и при этом не тратить тысячи на дорогостоящее вузовское образование. А теперь вопрос:
Бросьте эти 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