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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
🧑‍💻 Пишите читабельный код

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

Самый простой способ – это использование пробелов. Сокращение кода перед его релизом является нормальным. Однако необязательно писать код, который имеет сокращенный вид. Вместо этого можно использовать различные опознавательные элементы такие, как: скобки, пустые строки и отступы для того, чтобы сделать структуру нашего кода более читабельной. Решение, использовать подобные элементы в структуре кода, значительно улучшит читабельность и ясность этого кода.

Clean Code #cleancode
Лучшие рекомендации по Code Review

Несколько советов и приемов Code Review, которым можно следовать как в крупных компаниях, так и в стартапах.

📺 YouTube

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

1
. Вышел Sublime Text 4 с поддержкой ARM-чипов и GPU-рендерингом.

2. Gerrit — это бесплатный веб-инструмент с открытым исходным кодом для Git-репозиториев, написанных на Java.

3. Refactoring.
Rhodecode

Это веб-инструмент, который помогает в проведении ревью кода.

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

Кроме того, визуальный changelog (история изменений) помогает вам ориентироваться в истории вашего проекта в различных ветках. Онлайн-редактор кода также предоставлен для внесения небольших изменений через веб-интерфейс.

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

📑 Сайт

Clean Code #инструменты #CodeReview
🧑‍💻 Пишите код так, чтобы любая функция или метод выполняли только одну задачу

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

Совет по написанию функций или методов, каждая из которых выполняет только одну задачу – это принцип разделения обязанностей. Такая практика была представлена Р. Мартином, в качестве одного из пяти принципов объектно-ориентированного проектирования, более известные, как SOLID. Если вы хотите узнать об этом больше, рекомендуем ознакомиться с данной статьей.

Clean Code #cleancode
📑 Пользователи Яндекса смогут удалять персональные данные, хранящиеся на серверах компании

Российский IT-гигант Яндекс анонсировал новую функцию. Начиная с 1 июня, пользователи смогут получить архив с собранной о них информацией с серверов компании. Также корпорация даст возможность удалить часть личных данных.

Clean Code #новости
📑 Продуктивность разработчика: советы по написанию кода и организации рабочего процесса

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

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

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

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

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

Что более важно, когда мы объясняем свои решения, то другие разработчики смогут предложить, возможно, лучшее решение проблемы, и тем самым улучшат наш код. Это возможно, так как они знают, в чем заключается проблема, и что необходимо получить в результате. Без этой информации им будет крайне сложно предложить лучшее решение. Или они даже пытаться не будут, так как подумают, что в этом нет нужды. Они подумают, что это в наших интересах, чтобы все оставалось, так как есть.

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

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

Clean Code #совет #cleancode
Imgbot

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

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

Imgbot — простой и эффективный инструмент, который позволяет без потерь сжимать все изображения в ваших репозиториях.

📑 Сайт

Clean Code #инструменты #CodeReview #img
📖 Паттерны проектирования
🖋 Фримен Эрик, 2017

В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию "Head First" издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.

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

Clean Code #книги #patterns
Code Review Best Practices

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

📺 YouTube

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

1
. Продуктивность разработчика: советы по написанию кода и организации рабочего процесса.

2. Rhodecode — это веб-инструмент, который помогает в проведении ревью кода.

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

Специалисты из Лондонского и Люксембургского университетов провели исследование защищённости популярных антивирусных приложений.

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

Clean Code #новости
🧑‍💻 Будьте последовательны

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

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

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

Clean Code #совет #cleancode
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

Выберите правильный вариант 👇🏼