Обновить
5
0

Пользователь

Отправить сообщение
Можно задать выполнение нужных частей кода битовой маской или значением enum'а. Предполагаем, что в следующей итерации цикла мы выполним тело целиком (а с goto так и выйдет); в этом месте мой мозг начинает понемногу плавиться.
private enum dirtyCycleJumper { 
fromFirst, 
fromSecond
}

private void doSecondCycle(int from, int to, dirtyCycleJumper startFrom) {

  int i;

  for (i=from; i<to; i++) {
  switch (startFrom) {
case fromFirst:  doAnotherJob_1(); 
case fromSecond:  doAnotherJob_2();
}
startFrom = dirtyCycleJumber.fromFirst;
}
return;
}



Вызываем doSecondCycle(3, 200, dirtyCycleJumper.fromSecond).
С такими требованиями, действительно, goto будет удобнее. Но случай какой-то уж больно маргинальный.
Надеюсь, я правильно понял семантику требования «прыгнуть в середину другого цикла».
private void doFirstCycle() {
  int j;
  for (j=0; j<100; j++) {
    doYourJob();
    if (this.haveToBreak) {
      doSecondCycle(3, 200);
      break;
    }
  }
return;
}

private void doSecondCycle(from, to) {
  int i;
  for (i=from; i<to; i++) {
  doAnotherJob();
  return;
}


В нужном месте той огромной нечитаемой функции, из одного из циклов которой нужно прыгать в середину другого, вместо цикла вставляете вызов функции. Заодно и читаемость повысится.
Надеюсь, я правильно понял семантику требования «прыгнуть в середину другого цикла».

private void doFirstCycle() {
int j;
for (j=0; j
Да простят меня присутствующие, но я использую подсказанное преподавателем в ВУЗе мнемоническое правило.
Представьте себе, что графический символ диода — это птичка. С одной стороны у неё клюв (катод), а с противоположной… Правильно, анод!
Виноват, имелся в виду обратный ток перехода (я здесь говорю не про КМОП), при возрастании температуры генерируется больше свободных зарядов. У КМОП сопротивление канала при росте температуры растёт. Так что оставим диффузию примесей и указанное ниже неблагоприятное воздействие термоциклирования. Срок жизни полупроводника с ростом температуры падает — разумеется, влияние одного градуса разницы температур вы не заметите.
Очень просто. Ускоренная миграция примесей между частями полупроводника разных типов при повышении температуры. Плюс повышение токов утечки, что может привести к неопределённости состояния логического элемента. Плюс повышение вероятности теплового пробоя: повышение температуры приводит к повышению тока утечки, а он, в свою очередь, увеличивает тепловыделение. И — бабах!
12 ...
108

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность