Объявление переменных в сравнении с проверкой ошибок: что будет первым? - PullRequest
3 голосов
/ 20 октября 2010

При написании функции у меня всегда возникает путаница, стоит ли сначала проверять ошибки и объявлять переменные позже (или) назначать параметры локальным переменным, а затем проверять ошибки.Какой из следующих способов предпочтительнее и почему?Я обычно придерживаюсь первого типа.

void DoSomething1(Object x, Object y){

  // All sort of error checking goes here
  if IsError(x) return;
  if IsError(y) return;

  // Variable declaration
  int i,j;
  Object z = x;
}


void DoSomething2(Object x, Object y){

  // Variable declaration
  int i,j;
  Object z = x;

  // All sort of error checking goes here
  if IsError(z) return;
  if IsError(y) return;

}

Ответы [ 2 ]

7 голосов
/ 20 октября 2010

Вы должны следовать правилу близости и объявить переменные как позднее , насколько это возможно. Это локализует их создание и использование. Вам также следует проверить параметры на достоверность при самой ранней возможной возможности свести к минимуму выполненную работу.

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

Поскольку вы заявляете «независимость от языка», несмотря на то, что ваш код выглядит как-то странно знакомым :-), почти наверняка есть языки, в которых у вас нет выбора, и переменные должны быть объявлены сверху.

1 голос
/ 20 октября 2010

Объявляйте переменные, когда они вам нужны, обычно это когда промежуточный результат готов или когда вы только собираетесь войти в цикл.

Таким образом, это подразумевает, что проверки ошибок часто выполняются перед объявлениями.1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...