LINUX.ORG.RU

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

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше. Но в целом такой способ тоже не особо хороший, лучше пользоваться тем что выше указан.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше. Но в целом такой способ тоже не особо хороший, лучше пользоваться тем что выше указан.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше. Но в целом такой способ тоже не особо хороший, лучше пользоваться тем что выше указан.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше. Но в целом такой способ тоже не особо хороший, лучше пользоваться тем что выше указан.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше. Но в целом такой спобов тоже не особо хороший, лучше пользоваться тем что выше указан.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше.

int f(...) {
  int a;
  q();
  a = 3;
  w();
  {
    int b;
    b = 4;
    x(b);
  }
  s();
  return 0;
}

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.

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

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

Согласен. Поэтому ещё одна рекомендация: если тело функции чрезмерно раздулось и от объявления переменных до их использования приходится долго листать - надо подумать о том как реорганизовать код, чтобы она стала короче.

В крайнем случае можно выделить блок фигурными скобками (и отступом!) и в его начале объявить те переменные, которые ты хочешь именно тут. Отступ и скобки помогут зрительно распознать это место, а так же ограничат область видимости временно-нужной переменной чтобы она не мешалась дальше.

А вот способ «давайте объявим переменную в середине кода или засунем её внутрь оператора» - самый плохой из вариантов решения указанной тобой проблемы.