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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
LGTM

Платформа для анализа кода, которая фокусируется на поиске критических уязвимостей и предотвращении проблем.

LGTM проводит более чем 1600 тестов, и, находя проблему, автоматически помечает её в pull request.

LGTM очень хорошо справляется со своей работой благодаря исследованиям команды в области безопасности, которая на текущий момент нашла более ста CVE (Common Vulnerabilities and Exposures) в таких больших проектах, как UBoot, Apache Struts, ядро Linux, Memcached, VLC и Apple XNU.

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

📑 Сайт

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

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

Выберите правильный вариант 👇🏼
🧑‍💻 Регулярно проверяйте свой код

Просто писать чистый код – это еще не все. Наша задача не заканчивается точкой с запятой. Следующий шаг – это поддержание чистого кода в таком состоянии. Так скажем, «чистый» код требует обслуживания. После того, как вы что-то написали, то вы должны всегда это проверять, исправлять и стараться улучшить. Иначе, если мы не будем проверять наш код и не будем улучшать его, то со временем он просто устареет. Точно также, как и наши старые устройства. Если мы хотим, чтобы наш код всегда был «в форме», то мы должны регулярно обновлять его.

То же самое относится и к коду, который мы пишем ежедневно. Код в принципе имеет особенность со временем становится более громоздким и сложным, а не проще и понятнее. Однако, все зависит от нас, будет ли код сложным или он будет простым и понятным. Единственный способ достичь этого, это регулярно проверять, написанный нами код. Другими словами, нам нужно обслуживать его. Это может быть необязательно для проектов, о которых мы не заботимся или у которых нет будущего. Для всего остального, обслуживание — это часть вашей работы.

Clean Code #совет #cleancode
📖 Шаблоны корпоративных приложений
🖋 Мартин Фаулер, 2016

Создание компьютерных систем — дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся все более трудоемкими, причем затраты труда растут экспоненциально. Как и в любой профессии, прогресс в программировании достигается исключительно путем обучения, причем не только на ошибках, но и на удачах — как своих, так и чужих. Книга дает ответы на трудные вопросы, с которыми приходится сталкиваться всем разработчикам корпоративных систем. Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий базовые принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений. Результат перед вами — незаменимое руководство по архитектуре программных систем.

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

Clean Code #книги #patterns
🧑‍💻 Указывайте имена, говорящие сами за себя

Что такое переменные, классы и функции? Ответить на данные вопросы можно разными способами, но если задуматься, все эти вещи – не что иное, как связующее звено между программистом и базовой логикой приложения.

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

Что означает переменная с именем dxy? Кто знает. Вам, вероятно, придется прочитать весь код, чтобы хотя бы понять его смысл. Например, значение переменной distanceBetweenXY логически понятно. То же самое верно для классов и функций. Не пишите CalcTan(), если можно написать CalculateTangent() или CalcTangentAngle().

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

1
. Уязвимости в популярных антивирусниках позволили обойти защиту от хакеров-вымогателей.

2. LGTM — платформа для анализа кода, которая фокусируется на поиске критических уязвимостей и предотвращении проблем..

3. Шаблоны корпоративных приложений.
DeepSource

Используется такими компаниями, как NASA, Uber и Slack. Он автоматически обнаруживает уязвимости и проблемы с документированием кода.

Примеры анализируемых проблем:

— используемый модуль не согласуется с требованиями к ПО;
— в репозиторий закоммичена конфиденциальная информация.

DeepSource автоматически добавляет аннотации и комментарии к pull request’ам, облегчая обнаружение проблем и гарантируя безопасность конфиденциальных данных. Это ускоряет процесс code review и обеспечивает более высокое качество проекта.

📑 Сайт

Clean Code #инструменты #CodeReview
🧑‍💻 Каждый класс/модуль должен заниматься только одним набором конкретных функций

Вы когда-нибудь разбирали фрагмент кода, который длился сотни или даже тысячи строк? Если у вас есть такой опыт, то вы знаете, насколько это трудно просто прочесть данный код, не говоря уже о его понимании и редактировании. Комментарии, конечно, могут помочь, но они “не вытянут” плохой код.

“Программирование представляет собой разбиение одного большого невозможного таска в несколько мелких вполне возможных.” — John Woods

Чистый код представляет собой код, разбитый на мелкие части. Где каждая функция должна отвечать только за одну вещь, и каждый класс должен стремиться реализовывать одну конкретную идею. На практике сложный расчет, как GetCreditScore(), следует разбить на несколько вспомогательных функций, таких как GetCreditReports(), ApplyCreditHistoryAge() и FilterOutstandingMarks().

Clean Code #совет #cleancode
📖 Программист-фанатик
🖋 Чед Фаулер, 2015

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

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

Clean Code #книги #programming
📑 Названы топ-3 самых активных вирусов

Специалисты из Check Point Research провели свежее исследование. Они выяснили, какие зловреды были наиболее активными в мае 2021 года как в России, так и в мире.

Clean Code #новости
📑 Самые посещаемые сайты и приложения, созданные на Angular

Angular прошёл долгий путь с момента появления в 2009 году. Широкие возможности фреймворка делают его одним из лучших инструментов для быстрой разработки многофункциональных и высоконагруженных приложений. Он давно завоевал признание мирового сообщества разработчиков и его выбирают для своих проектов такие лидеры своих индустрий, как Google, PayPal и Forbes.

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

Выберите правильный вариант 👇🏼
🧑‍💻 Избавляйтесь от ненужного кода

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

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

Clean Code #совет #cleancode
Новые возможности Visual Studio 2022

Microsoft анонсировала Visual Studio 2022. В этот раз, нас ждет действительно крупное обновление. Релиз Visual Studio будет более быстрым, доступным и лёгким, предназначенным как для учащихся, так и для тех, кто создаёт решения промышленного масштаба. Подробнее в статье.

📑 Читать статью | 🔎 Попробовать Visual Studio 2022

Какое из нововведений вам понравилось больше всего? Напишите в комментариях.
Codelingo

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

Codelingo позволяет устанавливать и проверять стандарты качества программно в файле codelingo.yaml.

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

Если в pull request’e не соблюдаются правила, Codelingo автоматически оставляет комментарии и отправляет уведомление.

📑 Сайт

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