(Слишком долго для комментария.)
Моя проблема с возвратом чего-либо, когда функция не имеет (значимого) возвращаемого значения, состоит в том, что она вводит в заблуждение, если только она не возвращает undefined
, что противоречит цели.
Если я вижу return
, я должен рассуждать о коде как в методе, так и на сайте вызова.
В функции, которую я должен определить, возвращает ли она что-нибудь еще, почемуон возвращает значение, которое он делает, и т. д. Единственный реальный способ обойти это - вернуть константу, которая дает понять, что это не действительно , возвращающий что-либо, это просто для удовлетворения желания вернуть что-то .
Если на сайте вызова игнорируется возвращаемое значение, мне нужно понять, почему, и если это нормально.Если я знаю, что каждая функция что-то возвращает, мне нужно проверить функцию, чтобы узнать, возвращает ли она это специальное значение, или пройти через описанный выше процесс.
Я бы почти предпочел пространство имен своих функций в "function"
и"method"
пространства имен в этой точке в качестве дифференциатора.Это позволило бы автоматизировать тестирование каждого пространства имен, чтобы убедиться, что все функции возвращают что-то полезное, все методы, в частности не , и предоставило бы подсказку на уровне источника относительно того, чего должен ожидать вызывающий объект.