LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Классы в ноде можно и классы нужны.

Можно, но не нужны.

Уж если случается состояние - нахрена его в каждый вызов функции пихать?

Для этого есть много причин.

Функции без скрытого состояния легко тестировать. Ты знаешь, что возвращаемое значение зависит только от входящих параметров.

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

Код, в котором все детали на виду, легко читать и отлаживать.

При всём при этом, хочу заметить, что вызов метода объекта в плане передачи состояния вообще ничем не отличается, чем если передавать это состояние первым аргументом. Нет никакой разницы между a.b(c) и b(a, c) кроме синтаксиса. Поэтому твой аргумент никакой критики не выдерживает, если честно. Ты и так это состояние пихаешь в каждый вызов.

Разница начинается там, где в дело вступает наследование и переопределение методов.

Исходная версия vbr, :

Классы в ноде можно и классы нужны.

Можно, но не нужны.

Уж если случается состояние - нахрена его в каждый вызов функции пихать?

Для этого есть много причин.

Функции без скрытого состояния легко тестировать. Ты знаешь, что возвращаемое значение зависит только от входящих параметров.

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

Код, в котором все детали на виду, легко читать и отлаживать.

При всём при этом, хочу заметить, что вызов метода объекта в плане передачи состояния вообще ничем не отличается, чем если передавать это состояние первым аргументом. Нет никакой разницы между a.b(c) и b(a, c) кроме синтаксиса. Поэтому твой аргумент никакой критики не выдерживает, если честно.

Разница начинается там, где в дело вступает наследование и переопределение методов.