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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
🧑‍💻 Непрерывное создание объектов

Если вы создаете много неизменяемых объектов вручную, примените обработчик аннотаций для автоматического создания их из интерфейсов. Это минимизирует код шаблона и уменьшит вероятность ошибок. Посмотрите эту презентацию для понимания проблем с обычными шаблонами в 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
Clean Code #test #oop

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

Выберите правильный вариант 👇🏼
🧑‍💻 Избегайте Null

Избегайте использования null, если это возможно. Не возвращайте нулевые коллекции, когда коллекция должна быть пустой. Если вы собираетесь использовать null, рассмотрите аннотацию @Nullable.

Если вы используете Java 8, отдайте предпочтение Optional. Используйте его следующим образом: см. код.

Ясно, что данные никогда не будут нулевыми, но условие при этом может выполняться или не выполняться. Единственный недостаток Optional – это то, что стандартная библиотека находится без хорошей поддержки, поэтому в ней по-прежнему требуется использование null.

Clean Code #совет #cleancode #java
📖 Refactoring
🖋 Martin Fowler, 2018

Второе издание книги Мартина Фаулера объясняет, что такое рефакторинг на самом деле, впрочем, как и первое издание, выпущенное 20 лет назад. После прочтения книги вы найдете ответы на следующие вопросы:

Зачем мне рефакторинг моего кода?
Как я могу распознать код, который нуждается в рефакторинге?
Как я могу успешно провести рефакторинг своего кода?

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

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

Clean Code #книги #refactoring
Каких звёзд нужно запереть и не выпускать?

Сбер решил, что запереть нужно Филиппа Киркорова: смотрим прямой эфир в канале Сбера
🧑‍💻 Пишите читабельный код

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

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

Clean Code #cleancode