У меня есть еще один свет, чтобы подчеркнуть полезность соглашения, поощряющего пустой блок скобок в объявлении функций (и, следовательно, в вызовах к ним) с побочными эффектами.
Это с отладчиком .
Если добавить часы в отладчике, например, например, process
, ссылаясь на пример на логическое значение в фокусированном контексте отладки, либо в виде представления переменной, либо в качестве оценки функции без побочных эффектов, это создает неприятный риск для последующего устранения неисправностей.
В самом деле, если отладчик сохраняет эти часы как попытку попытаться оценить каждый раз, когда вы меняете контекст (изменение потока, перемещение в стеке вызовов, достижение другой точки останова ...), что, как я обнаружил, было, по крайней мере, в случае с IntelliJ IDEA или Visual Studio для других языков, тогда побочные эффекты любой другой функции process
, возможно, обнаруженной в любой области просмотра, будут вызваны ...
Только представьте, какой загадочный способ устранения неполадок может привести к тому, что вы просто не будете иметь в виду это предупреждение из-за невинных регулярных имен. Если бы соглашение было приведено в исполнение, в моем примере логическое вычисление process
никогда бы не вернулось к вызову функции process()
в наблюдениях отладчика; в вашем отладчике может быть просто разрешен явный доступ к функции (), помещающей process()
в часы, но тогда будет ясно, что вы не имеете прямого доступа ни к какому атрибуту или локальным переменным, а к другим функциям process()
в других случаях просмотренные области, если возможно не повезет, будут, по крайней мере, очень менее удивительными.