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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
FeaturePeek

Инструмент для предварительной сборки и развёртывания ПО.

Один из самых утомительных этапов code review — локальный запуск ветвей ваших коллег для проверки корректной работы их кода.

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

Благодаря автоматическому предварительному развёртыванию каждого pull request’а те, кто выполняет code review, смогут просто нажать на ссылку и посмотреть, как работает код, прежде чем выполнить merge.

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

📑 Сайт

Clean Code #инструменты
Рефакторинг унаследованного кода: как разорвать зависимости?

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

📺 YouTube

Clean Code #видео #cleancode #refactoring
💡Подборка книг с советами для разработчиков

1.
Программист-фанатик.

2. Программист-прагматик.

3. Cracking the Coding Interview.

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

1
. Code review по-человечески.

2. FeaturePeek — инструмент для предварительной сборки и развёртывания ПО.

3. Программист-прагматик.
📑 В Windows нашли критическую уязвимость. Она позволяет запускать удалённый код через службу печати

Компания Microsoft предупредила пользователей о критической уязвимости в Windows, которая позволяет выполнять код через Диспетчер очереди печати. В нём за 20 лет существования постоянно находят новые проблемы с безопасностью.

Clean Code #новости #Windows #Microsoft
🧑‍💻 Оставляйте исчерпывающие комментарии

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

“Всегда пишите код так, как будто заканчивать за вами проект будет чокнутый садист, который знает, где вы живете.” — John Woods

Вот хорошее правило: комментарии существуют, чтобы объяснять ДЛЯ ЧЕГО этот кусок кода, а не ЧТО он делает. Чистый код не нужно комментировать, чтобы пояснить, что он делает – комментарий должен пролить свет на причину написания того или иного фрагмента кода.

В комментариях нужно писать о последствиях изменения или удаления определенного фрагмента (т. е. «Удаление этого кода приведет к падению A, B и C»), но самое важное – раскрывать вещи, которые нельзя сразу же почерпнуть из кода.

Clean Code #совет #cleancode
qTest

Является инструментом #1 для команд, специализирующихся в области Agile и QA. Его легко освоить и он достаточно прост в использовании, доступна интеграция с JIRA, прочими ALM и инструментами для автоматизации. qTest ускоряет каждый шаг QA-процесса, делает его проще и эффективнее: управление требованиями, репозиторий тест-кейсов, выполнение тестов, багтрекинг, отчеты и интеграция.

📑 Сайт

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

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

Выберите правильный вариант 👇🏼
🧑‍💻 Рефакторинг, рефакторинг и еще раз рефакторинг

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

Короче говоря, рефакторинг – термин, определяющий процесс редактирования кода, который не повлияет на его функциональность.

«Каждый раз, когда задумываетесь, за что отвечает код, спрашивайте себя, можете ли вы его как-то реорганизовать и сделать более читаемым» — Martin Fowler

«Не комментируйте кусок плохого кода. Просто перепишите его»

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

Clean Code #совет #cleancode
📖 Карьера програмиста
🖋 Г. Л. Макдауэлл, 2016

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

Шестое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других. Рассмотрены типичные ошибки, которые допускают кандидаты, а также эффективные методики подготовки к собеседованию.

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

Clean Code #книги #interview
🧑‍💻 Непрерывная интеграция (Continuous integration)

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

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

— Вы добавляете в скрипт сборки статические анализаторы, которые проверяют соглашения о кодировании, повышают качество кода и проверяют безопасность.

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

1
. В Windows нашли критическую уязвимость.

2. qTest является инструментом #1 для команд, специализирующихся в области Agile и QA.

3. Карьера програмиста.
PractiTest

Инструмент управления для SaaS, полного QA и Agile. Уникальные настраиваемые фильтры позволяют эффективно организовать требования, создавать и проводить тесты, отслеживать баги и составлять отчеты. Инструмент без каких-либо сложностей интегрируется с JIRA, трекером Pivotal, Bugzilla, и Redmine, а также с различными инструментами автоматизации тестирования, такими как Selenium, Jenkins и т.д. Их API предоставляют еще более расширенные настройки. Это не инструмент с открытым исходным кодом, но все же доступный.

📑 Сайт

Clean Code #инструменты #testing
🧑‍💻 Соглашения о кодировании (Coding сonventions)

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

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

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

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

Clean Code #совет #cleancode
📑 Microsoft выпустила linux-дистрибутив CBL-Mariner

Компания Microsoft выпустила первую стабильную сборку Linux-дистрибутива CBL-Mariner, который разработала сама.

CBL-Mariner 1.0 (Common Base Linux) — базовая платформа для развертывания linux-окружения в онлайн-сервисах. Microsoft использует его в облачном сервисе Azure.

Документацию и все файлы CBL-Mariner 1.0 Microsoft выложила в свободный доступ на GitHub.

Clean Code #новости #Linux #Microsoft
📑 Code review по-человечески (часть 2)

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

Clean Code #статьи #CodeReview