Существует общий аргумент об инициализации нескольких переменных в одной строке:
Рассмотрим, например, int i, j = 1; что может привести к тому, что некоторые люди ошибочно полагают, что обе переменные инициализируются
Мы можем утверждать, что кто-то должен знать синтаксис своего языка, чтобы не ошибиться в этом. Другим аргументом может быть то, что разработчики учат так много языков, что могут допускать ошибки между особенностями языков.
Однако для этого очень конкретного случая мне интересно следующее: существует ли вообще язык, в котором сам синтаксис i, j = 1 инициализирует обе переменные?
Если нет, то этот аргумент не применяется.
Dim Apple, Orange, Pear as Fruit
есть юридическая декларация. Предположим, вы не знаете VB. Ваше первое впечатление такого Apple
типа Fruit
? Это не так. Помните, что языки часто читают люди, которые не являются экспертами в этом языке; если вы являетесь экспертом, используйте язык с умом, чтобы четко сообщать о своих намерениях даже неспециалистам. Я никогда не использую множественные инициализации на любом языке.
var x = 1, y = 1.5;
Это так же, как int x = 1; double y = 1.5;
или это так же, как double x = 1, y = 1.5;
? Когда мы добавили var
C # 3.0, я провел опрос и обнаружил, что около половины людей считают, что первое «очевидно» правильно, а другая половина считает, что другое «очевидно» правильно, и поэтому мы сделали его незаконным. Функция, которая вводит в заблуждение половину населения, является плохой функцией.