Хаки, которые я узнал, прочитав Чистую Кодовую книгу

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

  • Облегчает развитие.
  • Системная организация.
  • Повторное использование кода.

Я поделюсь семью советами по использованию функций, которые я узнал из Чистой Кодовой книги.

1. Назовите функции хорошими именами.

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

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

Имена функций должны содержать глаголы, которые указывают действие, которое будет выполнено функцией. Хорошо выбирать слово по концепции, слово, которое, где бы оно ни использовалось, действительно означало именно это. Например, если в классе x вы используете слово get для извлечения информации, в classy вы также должны использовать get вместо извлечения.

2. Создавайте небольшие функции

Небольшая функция упрощает работу с ним. Функции должны быть похожи на абзацы в рассказе: одна функция дополняет другую, образуя единое целое, которое имеет смысл и легко понимается. Работая с большими функциями, мы легко можем потеряться. Я работал над проектами с функциями с более чем 300 линиями. Я часто терялся посреди чтения, и мне приходилось начинать заново, чтобы понять, как работает. Благодаря небольшим функциям чтение и понимание становятся намного проще.

3. Создавайте функции, которые делают только одно

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

4. Создавайте функции, которые имеют только один уровень абстракции.

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

Итак, что касается функций, я считаю, что уровень абстракции - это цель функции, то, что она должна выполнять. Таким образом, наличие только одного уровня абстракции позволит достичь только одной цели. Например, когда у нас есть if и else, у нас есть условие, и если оно не выполняется, оно будет делать что-то еще. В этом случае у нас есть два уровня абстракции, так как наша функция делает две разные вещи в зависимости от условного результата.

5. Создавайте функции, которые используют как можно меньше параметров.

Идеальное количество параметров для функции - ноль, затем один и два. Следует избегать максимум трех плюс одно и то же. С параметрами сложно работать, поэтому лучше не использовать их в функциях. Две распространенные причины использования одного параметра в функции: Чтобы задать вопрос о параметре. или поработайте над этим параметром, преобразовав его во что-то другое и вернув результат.

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

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

Возвращая код ошибки, мы создаем проблему для того, кто вызвал функцию. Ему придется разобраться с ошибкой, вызывающей, например, вложенные структуры if. Поместите конструкции лотков / катушек в их собственные роли. Если мы подумаем о том, что мы сказали в пункте 3, мы создадим функцию, в которой есть только лоток / захват. Мы делаем только одну вещь - обработку ошибок внутри лотка / ловушки. Таким образом, у нас есть хорошее разделение, которое упрощает понимание кода.

7. Избегайте повторения функций.

Часто бывает трудно заметить, когда функция выполняет что-то повторяющееся. Одна функция может содержать разные инструкции, но, в конце концов, выполнять ту же операцию, что и другая. Поэтому мы должны быть очень осторожны с этим, поскольку дублирование может быть корнем всего зла в программном обеспечении. Было создано множество практик для уменьшения дублирования или даже его устранения. Некоторым из них нравятся объектно-ориентированное программирование и правила нормализации баз данных. При этом мы должны по возможности избегать дублирования кода.

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

Больше контента на plainenglish.io