LINUX.ORG.RU

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

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

Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.

Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).

К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.

Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного больше (в зависимости от сахара в языке), но разбираться в нём проще.

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

Исправление DarkEld3r, :

Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.

Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).

К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.

Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного больше (в зависимости от сахара в языке), но разбираться в нём проще.

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

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

Если бы приходилось указывать все 11 для любой функции, которая использует форматированный вывод, это было бы ужасно. Даже с аргументами по-умолчанию.

Почему? Видимо я что-то упускаю, но дефолтные значения параметров для того и нужны, чтобы не приходилось их указывать (если не хочется их поменять).

К тому же умолчать их можно только один раз во внешнем API. В дальнейшем все придётся передавать явно.

Это да. Но как по мне, ситуация тут схожа с исключениями: которые хороши и плохи своей неявностью. И тут мне весьма по душе подход языков, которые используют явный возврат ошибки. Кода немного (в зависимости от сахара в языке) больше, но разбираться в нём проще.

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