История изменений
Исправление DarkEld3r, (текущая версия) :
Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.
Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).
К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.
Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного больше (в зависимости от сахара в языке), но разбираться в нём проще.
Возвращаясь к динамическим переменным: да, если довести ситуацию до абсурда, то можно представить, что у нас есть функция, которая внутри использует несколько других функций и у каждой с десяток параметров. Так и до сотни параметров дойти можно. Выглядеть это, конечно, будет ужасно. Но всё-таки: в идеальном случае этот ад переместится в документацию, что совсем не факт, что будет лучше. Ну и теперь придётся следить за тем, чтобы дока и код не разъехались.
Исправление DarkEld3r, :
Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.
Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).
К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.
Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного больше (в зависимости от сахара в языке), но разбираться в нём проще.
Возвращаться к динамическим переменным: да, если довести ситуацию до абсурда, то можно представить, что у нас есть функция, которая внутри использует несколько других функций и у каждой с десяток параметров. Так и до сотни параметров дойти можно. Выглядеть это, конечно, будет ужасно. Но всё-таки: в идеальном случае этот ад переместится в документацию, что совсем не факт, что будет лучше. Ну и теперь придётся следить за тем, чтобы дока и код не разъехались.
Исходная версия DarkEld3r, :
Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.
Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).
К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.
Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного (в зависимости от сахара в языке) больше, но разбираться в нём проще.
Возвращаться к динамическим переменным: да, если довести ситуацию до абсурда, то можно представить, что у нас есть функция, которая внутри использует несколько других функций и у каждой с десяток параметров. Так и до сотни параметров дойти можно. Выглядеть это, конечно, будет ужасно. Но всё-таки: в идеальном случае этот ад переместится в документацию, что совсем не факт, что будет лучше. Ну и теперь придётся следить за тем, чтобы дока и код не разъехались.