«Когда я был мальчиком и видел страшные вещи в новостях, моя мама говорила мне:« Ищи помощников, ты всегда найдешь людей, которые помогут »», - Фред Роджерс.

Если кто-то вырос в период с 1970-х по 1990-е годы, вы, вероятно, видели шоу PBS под названием «Соседство мистера Роджерса» хотя бы раз в детстве. У Фреда Роджерса была известная цитата, которая запомнилась мне с детства. И хотя я носил этот девиз на протяжении всей своей жизни, я считаю, что эта цитата применима не только к физическому миру, но также может быть применена к миру программирования. Введите вспомогательные методы.

Что такое вспомогательный метод?

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

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

Хотите прочитать эту историю позже? Сохраните в Журнале.

Как создать вспомогательный метод?

Вообще говоря, методы, содержащие более 10 строк кода, должны вызывать вопросы. Если вам нужно сделать комментарий внутри вашего метода, чтобы объяснить, что делает эта часть метода, вам, вероятно, следует сделать это отдельным методом. Ваши методы должны просто делать то, что описывает название метода. Допустим, мы работаем в приюте для животных и хотим разобраться с нашими собаками и кошками. На изображении выше вы можете увидеть два метода #grab_dogs и #all_pugs. Первый метод #grab_dogs делает именно то, что описывает название метода. Он переходит к классу Animal и выбирает все экземпляры, в которых вид атрибута содержит строку «Dog». Когда вызывается #grab_dogs, он возвращает массив всех экземпляров собак, которые были созданы в классе Animal. Ниже вы увидите второй метод под названием #all_pugs, который должен вернуть всех мопсов. Хотя это вернет правильные экземпляры, это не самый чистый способ написания кода и не самый эффективный.

Вы можете видеть, что первые две строки кода в #all_pugs - это именно то, что мы сделали в #grab_dogs. Не было бы лучше, если бы мы могли просто использовать значения, возвращаемые из #get_dogs, и использовать эти значения в наших #all_pugs?

Оказывается, можем! Если мы просто вызовем #grab_dogs внутри наших #all_pugs, мы избавим себя от хлопот по воссозданию колеса. Это не только облегчает нашу жизнь программистам, но и упрощает чтение для других. Теперь, когда у нас есть метод #grab_dogs, мы можем использовать этот блок кода для нескольких целей. Скажем, мы хотим получить имена всех наших собак в приюте, мы можем вызвать наших #all_dogs, перебрать всех собак и получить имена каждой из них. Ух ты! точно так же мы создали 3 метода, которые делают разные вещи, но вызывают один и тот же «вспомогательный метод».

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

📝 Сохраните эту историю в Журнале.

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