@Urukhayy

Является ли хорошим тоном постоянно использовать много методов/функций?

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

И есть ли какие-либо рекомендации по объёму строк в функциях?
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Лучше всего выносить, это хорошая практика выносить разный код в отдельные функции. Потом и читать удобнее и рефакторить и что угодно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
@AlikDex
если предполагаемый блок кода будет использоваться несколько раз в разных местах - то делать как функцию. Если же нет - отделить комментариями для чего этот блок и все.
Ответ написан
Комментировать
@asdz
Я думаю можно.
Ответ написан
Комментировать
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Чем компактнее код, тем лучше. Функции и процедуры существуют именно для этой задачи и всегда нужно стараться найти в разных алгоритмах общее и вынести это общее в отдельную функцию (если, конечно, его много).
Ответ написан
Комментировать
@mamkaololosha
Вынесите всё в отдельный namespace или класс.
Ответ написан
Комментировать
@ollisso
> И есть ли какие-либо рекомендации по объёму строк в функциях?

Зависит от языка.

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

2. если код используется больше чем в 1 месте - выносим его в отдельную функцию

3. нормальная длинна функции - не больше 1 экрана.
Если больше - стоит задуматься о том, чтобы её разделить.

4. В идеале - функция не должна заниматься несколькими делами:
считать, лезть в базу, заниматья выводом.
для каждой из задач должна быть 1 функция.
Ответ написан
Mrrl
@Mrrl
Заводчик кардиганов
Иногда на каждую характеристику лучше своя функция.
Иногда, если набор характеристик в каком-то смысле однородный (проекции модели на три координатные плоскости, число красных/зелёных/синих рёбер...) можно какой-то признак характеристики передать параметром - тогда одна функция будет вычислять любую из нескольких характеристик.
Иногда, если несколько характеристик удобно вычислять вместе, и они логически связаны между собой (и с большой вероятностью потребуются вместе) - объединить их в структуру и заставить функцию заполнять её всю.
Иногда - когда для вычисления характеристик уже не надо лезть в потроха объекта, а можно воспользоваться другими характеристиками, и, возможно, какими-нибудь итераторами, а кроме того, вычисление само по себе трудоёмко и требует сложных алгоритмов - вынести это вычисление в отдельный класс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы