Что выделяет продвинутого Android-разработчика? | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
iOS Developer. Professional Kotlin Backend Developer Flutter Mobile Developer Symfony Framework C++ Developer. Basic Unity Game Developer. Basic Java Developer. Professional
-35%
Highload Architect Unity Game Developer. Professional React.js Developer Специализация Java-разработчик
-25%
Алгоритмы и структуры данных
-16%
Scala-разработчик C# Developer. Professional
-23%
Разработчик голосовых ассистентов и чат-ботов Team Lead Архитектура и шаблоны проектирования NoSQL Web-разработчик на Python Golang Developer. Professional PostgreSQL Vue.js разработчик Супер-практикум по использованию и настройке GIT Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Программист С HTML/CSS
Инфраструктура
Инфраструктурная платформа на основе Kubernetes Microservice Architecture Базы данных Highload Architect Reverse-Engineering. Professional
-8%
Network engineer. Basic Administrator Linux.Basic MongoDB Infrastructure as a code MS SQL Server Developer Cloud Solution Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Разработчик IoT Экcпресс-курс «ELK» Супер-интенсив "Tarantool" Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker»
Корпоративные курсы
Безопасность веб-приложений Экосистема Hadoop, Spark, Hive Пентест. Практика тестирования на проникновение Node.js Developer Java QA Engineer. Basic
-18%
Reverse-Engineering. Professional
-8%
DevOps практики и инструменты NoSQL Reverse-Engineering. Basic Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Game QA Engineer Супер - интенсив по Kubernetes Дизайн сетей ЦОД Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Что выделяет продвинутого Android-разработчика?

Android_Deep_18.9-5020-2798b7.png

Как сказал Роберт С. Мартин: «Вы читаете эту статью по двум причинам. Во-первых, вы программист. Во-вторых, вы хотите программировать лучше».

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

В библиотеке вы быстро найдёте нужную книгу только в том случае, если все они классифицированы и отсортированы. То же самое и с кодом: он должен быть аккуратно организован. Тогда любой посторонний Android-разработчик, увидев имена переменных, классов и пакетов, легко всё поймёт. И не будет ругаться, начиная проект с нуля.

Что же такое «чистый код»?

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

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

Профессионал понимает, что чистота кода — это главное, поэтому он пишет код, понятный другим. Предлагаем вам ознакомиться с рядом советов, которые помогут вам написать качественный код.

Задавайте уместные имена

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

К примеру:

// Неудачное название переменных
var a = 0 // user ages
var w = 0 // user weight
var h = 0 // user height

// Неудачное название функций
fun age()
fun weight()
fun height()

// Неудачное название классов для получения пользовательских данных
class UserInfo

// Неплохие варианты названия переменных
var userAge = 0
var userWeight = 0
var userHeight = 0

// Прекрасные варианты названия функций
fun setUserAge()
fun setUserWeight()
fun setUserHeight()

// Прекрасный вариант названия класса для получения пользовательских данных

class Users()

Имена классов

При именовании и объектов, и классов нужно использовать существительные либо фразы из существительных, к примеру WikiPage, Account, Customer, AddressParser. Избегайте слов Processor, Data, Manager, Info. Имена класса не должны быть глаголами.

Имена методов

А вот методы лучше называть глаголами или глагольными фразами, например deletePage(), save(), postPayment(). Предикаты, аксессоры и мутаторы называются по их значению, имеют префикс set, get, соответствуют стандарту JavaBean.

Для задач используйте доменные названия

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

Пишите код с использованием принципов S.O.L.I.D.!

SOLID является термином, описывающим принципы проектирования хорошего кода. Принципы придуманы Робертом К. Мартином. Давайте их перечислим: 1. SRP — принцип единой ответственности. Каждый класс отвечает за что-то одно. 2. OCP — принцип Открытости-Закрытости — объекты программы должны быть открыты для расширения, однако закрыты для модификации. 3. LSP — принцип подстановки Барбары Лисков. Дочерние классы не должны нарушать определения типов родительского класса. 4. ISP — принцип разделения интерфейса. Ни один клиент не должен зависеть от тех методов, которые он не использует. 5. DIP —принцип инверсии зависимостей, который определяется двумя пунктами: — модули высокого уровня не должны зависеть от модулей низкого уровня, при этом оба модуля должны зависеть от абстракций; — абстракции не должны зависеть от деталей, но детали должны зависеть от абстракций.

Значительно повысить свой уровень в написании кода вы сможете на продвинутом курсе «Android-разработчик». Не пропустите!

Статья подготовлена специально для OTUS на основании материала «Understanding Clean Code in Android».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться