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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
Clean Code #test #oop

Выберите правильный вариант 👇🏼
🧑‍💻 Аккуратный Java код

Самый простой способ быстренько «набросать» программу – использовать классы JavaBeans, которые пишутся в соответствии с некоторыми правилами. Например: см. код 1.

Слишком много лишних условий. Даже если IDE автоматически генерирует такой код (как при стандартном создании конструктора), исправляйте его, и вот почему. Вместо этого лучше применить стиль C-структур, который позволит хранить данные: см. код 2.

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

Если вы храните объекты Map или List, которые могут быть легко изменены, используйте ImmutableMap или ImmutableList.

Clean Code #совет #cleancode #java
🧑‍💻 Шаблон Builder

Если у вас есть сложный объект, пригодится шаблон Builder.

Вы создаете статический внутренний класс, который будет строить ваш объект. Он использует изменяемое состояние, но как только вы вызываете build, он выдает неизменяемый объект.

Представьте, что у нас есть более сложный DataHolder. Builder может выглядеть так: см. код 1.

Чтобы применить его: см. код 2.

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

Clean Code #совет #cleancode #java
10 советов по созданию чистого кода

Что такое чистый код? В этом выступлении докладчик ответит на этот вопрос и познакомит вас с 10 хорошими привычками, которые помогут вам писать чистый код.

📺 YouTube

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

1
. Релиз Kotlin 1.5: поддержка особенностей Java 15 и новый JVM-компилятор.

2. Collaborator — это инструмент для ревью кода и документов для команд разработчиков..

3. Используйте бейджики качества кода.
CodeScene

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

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

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

📑 Сайт

Clean Code #инструменты #CodeReview
🧑‍💻 Непрерывное создание объектов

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

Обработчик аннотации для создания неизменяемых объектов и билдеров.

Clean Code #совет #cleancode #java
📖 Cracking the Coding Interview
🖋 Г. Лакман Макдауэлл, 2016

Cracking the Coding Interview научит вас тому, что вам нужно знать и позволит вам работать с максимальной эффективностью. Автор книги тренировал и проинтервьюировал сотни разработчиков ПО и в результате появилась эта книга.

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

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

Clean Code #книги #interview
📑 В GitHub появилась возможность загружать видео

В блоге GitHub появилась запись о необычном нововведении. Теперь хранилище проектов позволяет загружать в репозитории полноценные видеофайлы в формате .mp4 and .mov.

Clean Code #новости #github
📑 Пять способов повышения продуктивности для программиста

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

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

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

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

Проверенные исключения следует использовать с осторожностью. Они заставляют добавлять много try/catch блоков и заворачивать в них исключения. Лучше использовать непроверенные исключения RuntimeException, которые свидетельствуют об ошибке со стороны разработчика и не требуют постановки try/catch. С RuntimeException код становится намного чище.

Пример использования вы можете увидеть на картинке.

Clean Code #совет #cleancode #java
Visual Expert

Это решение уровня предприятия для ревью кода, специализирующееся в коде баз данных. Он имеет поддержку только трех платформ: PowerBuilder, SQL-сервер, и Oracle PL/SQL. Если вы используете любую другую СУБД, то не сможете внедрить Visual Expert для код-ревью.

В дополнение к традиционному код-ревью, Visual Expert анализирует каждое изменение в коде, чтобы предвидеть возможные проблемы с его исполнением в связи с изменениями. Также, инструмент может автоматически генерировать полную документацию приложения из кода.

Если вы используете PowerBuilder, SQL-сервер или Oracle PL/SQL и хотели бы специализированный инструмент для ревью кода для ваших потребностей, стоит попробовать Visual Expert.

📑 Сайт

Clean Code #инструменты #CodeReview
🔥 Лучшее на канале за неделю

1
. Пять способов повышения продуктивности для программиста.

2. CodeScene — инструмент для ревью кода, который выходит за рамки традиционного статического анализа кода..

3. Cracking the Coding Interview.
📑 Вышел Sublime Text 4 с поддержкой ARM-чипов и GPU-рендерингом

Команда Sublime HQ представила обновлённый Sublime Text 4. Об этом разработчики написали в блоге компании, отдельно поблагодарив бета-тестеров за помощь в улучшении приложения. Там же они перечислили ключевые особенности свежего апдейта.

Clean Code #новости
🧑‍💻 Внедрение зависимости

Это, скорее, раздел разработки ПО в целом, чем раздел Java, но одним из лучших способов написания тестируемого программного обеспечения является применение зависимостей.

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

Хорошие альтернативы Spring – Google и Square Dagger или Google Guice.

Clean Code #совет #cleancode #java
Gerrit

Это бесплатный веб-инструмент с открытым исходным кодом для Git-репозиториев, написанных на Java. Для запуска Gerrit Вам нужно скачать исходный код и запустить его в Java. Вот процесс установки standalone-версии Gerrit.

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

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

📑 Сайт

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