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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
🧑‍💻 Код в классе должен читаться сверху-вниз как газетная статья в порядке убывания уровня абстракции. Вначале идут публичные функции, затем приватные.

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

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

1
. Practical Machine Learning for Computer Vision.

2. Noun Project — один из лучших инструментов для разработчиков, поскольку вы можете использовать его для поиска значков для своего проекта.

3. Вместо передачи в аргументы функции флага (boolean) лучше разбить функцию на две функции.
Octotree

Многие описывают Octotree как «GitHub на стероидах». Бесплатная версия этого расширения позволит вам быстро обозревать содержимое проектов в режиме, схожем с просмотром проекта в IDE. Кроме того, вы сможете кликать на import или require, чтобы просматривать зависимости.

Обратите внимание, что это расширение можно использовать и для приватных репозиториев. Для этого нужно ввести ваш токен аутентификации на GitHub.

Платная версия имеет куда больше функций. Например, просмотр в нескольких вкладках, поиск по всему проекту, режим для более удобного код-ревью. Больше информации о платной версии можно найти на сайте Octotree.

▍Альтернативные расширения

Sourcegraph: добавляет функцию «умного кода» для GitHub, GitLab и др. хостов. Поддерживает больше 20 языков.
Enhanced GitHub: показывает размер репозитория и файлов, ссылку на скачивание и возможность копировать содержимое файла.

📑 Установить

Clean Code #инструменты #Git
🧑‍💻 Класс должен иметь одну “ответственность”, одну причину для изменения

К примеру, наследники класса RecyclerView.Adapter должны отвечать за создание и связывание View с данным. В нем не должен находится код сортировки/фильтрации списка элементов.

Часто в файл с Activity добавляют класс RecyclerView.Adapter, что является неправильным.

Clean Code #совет #cleancode
📖 Guide to Efficient Software Design
🖋 David P. Voorhees, 2020

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

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

Clean Code #книги #programming
📑 Атака Trojan Source

Британские ученые из кембриджского университета Росс Андерсон и Николас Баучер, опубликовали документ, в котором подробно описали концепт атаки Trojan Source с индексом CVE-2021-42574. Она заключается в инъекции вредоносного кода в листинг программы с помощью полей комментариев. Сам эксплойт уже можно найти на GitHub.

Clean Code #новости
📑 Что такое Minimal Viable Product в программировании

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

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

Выберите правильный вариант 👇🏼
🧑‍💻 Если переопределяете какой-то метод без вызова метода родительского, то проверьте, что так можно делать

Загляните в исходники родительских классов, документации. Переопределяемые методы жизненного цикла Activity, Fragment, View должны обязательно должны вызывать методы родительского класса.

Есть аннотация @CallSuper, предупреждающая о необходимости вызывать родительский метод при переопределении.

Clean Code #совет #cleancode
Code Spell Checker

Помечает любые грамматические ошибки в коде. Лучше всего это расширение работает с кодом в camelCase.

Несколько вещей, которые стоит учесть при использовании этого расширения:

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

📑 Установить

Clean Code #инструменты
Как быть хорошим разработчиком и не ВЫЛЕТЕТЬ с рынка?

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

📺 YouTube

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

1
. Что такое Minimal Viable Product в программировании.

2. Code Spell Checker помечает любые грамматические ошибки в коде. Лучше всего это расширение работает с кодом в camelCase.

3. Если переопределяете какой-то метод без вызова метода родительского, то проверьте, что так можно делать.
📑 Excel получает новый JavaScript API для разработчиков

На конференции Microsoft Ignite 3 ноября 2021 года компания объявила, что теперь в новом Excel разработчики смогут создавать пользовательские типы данных и функции на их основе. Это станет возможным с помощью нового API JavaScript. Раньше в Microsoft Excel разрешалось использовать только два типа данных: текст и цифры.

Clean Code #новости #Excel #JavaScript
🧑‍💻 Не нужно комментировать каждый метод, код должен быть самодокументированным

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

Clean Code #совет #cleancode
Path Intellisense

Автоматически дополняет имена файлов при их импорте. Расширение работает с большинством языков программирования, а также с HTML. Для маппинга используется ts.config.compilerOptions.baseUrl в конфигурации вашего редактора.

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

    "path-intellisense.mappings": {
"/": "${workspaceFolder}",
"lib": "${workspaceFolder}/lib",
"global": "/Users/dummy/globalLibs"
},
}

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

📑 Установить

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

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

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