Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Swift
Code

Три способа сделать ваш код Swift более читабельным

Russian (Pусский) translation by Masha Kolesnikova (you can also view the original English article)

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

Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям. - Мартин Фаулер

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

1. Используйте комментарии

Это может показаться очевидным способом сделать код более читабельным, но его часто упускают из виду. Если вы пишете код Swift, вполне вероятно, что вы используете XCode в качестве компилятора, и удобно, оказывается, что XCode обладает множеством функций, которые помогают сделать ваш код более читабельным.

Однострочные комментарии

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

Вот как сделать традиционный однострочный комментарий:

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

Быстрый комментарий

Возможно, вы использовали Command-Click для получения дополнительной информации о конкретной переменной, классе или методе, но знаете ли вы, что можете добавить такую информацию в свой собственный код? Для этого используйте специальный синтаксис однострочного комментария следующим образом: три слеша, затем пробел и тире. Затем добавьте имя атрибута (например, «параметр») и, наконец, введите слово, а затем его определение.

Вот пример синтаксиса комментариев быстрой справки:

Когда вы нажмете Command-Click на функции foobar, где бы она ни использовалась, вы увидите ее определение под parameters.

Блок комментариев

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

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

Вот пример:

Блок комментариев для быстрой справочной документации

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

Вот как вы могли бы документировать некоторый код:

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

2. Наименование на основе роли

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

В Swift лучше называть вещи в зависимости от роли, которую объект играет в коде. Например, вместо того, чтобы просто использовать имя apple для переменной типа Apple, если яблоко служит пищей для животного, его можно назвать food.

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

Переменные и константы

Имена ... свойств, переменных и констант должны читаться как существительные. - Apple

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

  • var scoreCounter для переменной состояния игры SpriteKit.
  • let sharedInstance для синглтона.

Булеаны

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

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

  • var isEmpty для массива.
  • let touchesEdge для игрового спрайта.

Протоколы

Протоколы, описывающие что-то, должны читаться как существительные. - Apple

Если вы используете протоколы для создания типа «шаблон», вам следует использовать то же наименование, которое вы использовали бы для переменных и констант. Это также имеет смысл, потому что вы называете тип методов, классов и т.д. Вот несколько примеров:

  • protocol Fruits для разных классов фруктов
  • protocol Collections для массов, списков и тд.
Протоколы, описывающие возможности, должны быть названы с использованием суффиксов: able, Ible или ing. - Яблоко

Если ваши протоколы определяют, что тип может делать, он должен быть назван с суффиксами выше. Это следует читать так, как будто протокол «способен» что-то делать. Вот еще один список примеров:

  • protocol Returnable для типов, которые могут быть возвращены.
  • protocol ProgressReporting для типов, которые могут быть показать прогресс.

Будь проще!

В дополнение к этим соглашениям об именах Apple также рекомендует вам избегать того, что они называют «художественными терминами», или, другими словами, терминами, которые не могут быть легко понятны. Они не говорят избегать их полностью, но не используют их, когда вместо этого будет достаточно базового слова.

3. Используйте шаблоны проектирования

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

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

MVC (модель-вид-контроллер)

Шаблон проектирования Model-View-Controller или MVC является отраслевым стандартом. Он разделяет каждую часть вашего кода на три части: модель, представление и контроллер.

  • Модель. Модель - это данные приложения. Это обрабатывает такие вещи, как повторно используемые структуры и классы, которые имеют дело только с данными приложения. Модель не обрабатывает ничего, касающегося представления или того, как информация будет показана пользователю.
  • Представление: представление отвечает только за визуальное представление данных, а также за взаимодействие с пользователем. Оно ничего не обрабатывает в отношении данных и не имеет отношения к конкретным представлениям. Это просто класс многократного использования, который можно использовать несколько раз без повторения кода.
  • Контроллер: Контролер является самым главным. Он приносит данные из модели, а затем отправляет их в представление, чтобы, наконец, отобразить их пользователю. Обычно это файл ViewController.swift, который прослушивает ввод и изменяет модель по мере необходимости.

Есть много вариантов этого, таких как MVVM и MVP. На них стоит почитать, но принцип похож на MVC. Чтобы узнать больше о MVC и MVVM, посмотрите эти статьи Барта Джейкобса здесь на Envato Tuts +.

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

Одиночки

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

Посмотрите на код ниже - он покажет вам, как создать синглтон:

Это так просто!

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

Чтобы узнать больше шаблонов дизайна для Swift, ознакомьтесь с нашим полным курсом.

В этом курсе вы узнаете 21 шаблон. Вы можете просто найти тот, который изменит ваш код!

Заключение

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

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.