Лучше всего осуществляя рефакторинг для страшного, В то время как (Истинный) цикл

Пожалуйста, взгляните на list-style-type . Устанавливает «пули» для списка. Стандарт, заданный таблицей стилей пользовательского агента, - list-style-type: disc;. Измените свойство на list-style-type: none;, чтобы избавиться от пуль.

* {
    padding:0;
    margin: 0;
    box-sizing: border-box;
}

html {
    height: 100%;
}

.wrapper {
    min-height: 100%;
    width: 100%;
    position: relative;
}

body{
    height: 100%;
    background:#b794e6ff;
}

h2{
    padding: 40px;
    background: #646ecb;
    color:#f0f1f5;
    font-family: fantasy;
    text-align: center;
    font-size: 30pt;
    letter-spacing: 15px;
}

.navbar {
    background: #fc575e;
    height: 40px;
    width:700px;
    display: block;
    margin:0 auto;
    text-align: center;
    text-transform: uppercase;
}

nav a {
    display: block;
    text-decoration:none;
    font-family: monospace;
    font-weight: bold;
    font-size: 13pt;
    color: aliceblue;
}

nav a:hover {
    background:#223423;
    color: #f0f1f5;
}


nav ul {
  display: block;
  list-style-type: none;  
}

nav ul li {
    float:left;
    width:140px;
    height: 40px;
    line-height: 40px;
    background:teal;
}

nav ul ul li{
    position: relative;
    display:none;
}

nav ul li:hover ul li{
    display:block;
}

  
    
    
    

    
     
      
      
       
   
      
      Round-a-Whirl
  
  
    

HEADER LOGO

This is a simple site I created using HTML and CSS of a travel site for the fictional Round-a-Whirl travel company.
Round-a-Whirl © 2019

11
задан Jeff Schumacher 28 October 2008 в 19:28
поделиться

11 ответов

Мы должны действительно осуществить рефакторинг в то время как (верный) циклы? Иногда это - стандарт кодирования, и большинство разработчиков привык для этой структуры. Если необходимо думать трудно о том, как осуществить рефакторинг этот код, действительно ли Вы уверены, что это - хорошая идея осуществить рефакторинг его?

Goto раньше был белой вороной в кодировании стандартов. Я выполнил алгоритмы, где goto сделал код намного более читаемым и короче. Иногда это не делает ценности, чтобы осуществить рефакторинг (или лучше использовать goto).

, С другой стороны, можно избежать в то время как (верный) большую часть времени.

24
ответ дан 3 December 2019 в 00:37
поделиться

Мое предпочтение было бы

start:

   // code goes here

goto start;

, Это наиболее ясно выражает намерение. Удача, получающая его мимо Ваших стандартов кодирования. (Удивление, какого количества кармы это собирается стоить мне).

61
ответ дан 3 December 2019 в 00:37
поделиться

Что так боится об этом? Попытайтесь найти общее условие повреждения и осуществите рефакторинг его, чтобы быть главой цикла. Если это не возможный †“, прекрасный.

22
ответ дан 3 December 2019 в 00:37
поделиться

Когда я встречаюсь некоторое время с (истинным) циклом, который говорит мне или

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

1 и 2 средства Вы могли бы также придерживаться с, в то время как (верный). (Я использую for(;;), но это - вещь стиля, по-моему.) я с другим плакатом, почему страх это? Я боюсь tortored циклов, которые переходят через обручи для прокручивания цикла "правильно".

14
ответ дан 3 December 2019 в 00:37
поделиться

Замена, Верная с условием, Вы собирались использовать для убегания из цикла.

В случае сервиса или фонового потока, Вы могли бы использовать:

volatile bool m_shutdown = false;
void Run()
{
    while (!m_shutdown)
    { ... }
}
12
ответ дан 3 December 2019 в 00:37
поделиться

Почему осуществляют рефакторинг? И что так "ужасно" об этой конструкции? Это широко используется, и хорошо понимается.

, Если это не, повредился, не фиксируйте его.

11
ответ дан 3 December 2019 в 00:37
поделиться

"Выполнение навсегда" ситуация является иногда частью более крупного конечного автомата. Много встроенных устройств (с выполненными навсегда циклами) действительно не работают навсегда . Они часто имеют несколько рабочих режимов и упорядочат среди тех режимов.

, Когда мы создали контроллеры теплового насоса, был режим самотестирования при включении питания (POST), который работал на некоторое время. Тогда был предварительный экологический сборочный режим, который работал, пока мы не выяснили все зоны и термостаты и этажерку.

Некоторые инженеры утверждали, что то, что прибыло затем, было "выполненным навсегда" циклом. Это не было действительно настолько просто. Это были на самом деле несколько рабочих режимов, которые зеркально отразили и перебросились. Там нагревался, и размораживал, и охлаждался и бездействовал, и другой материал.

Мое предпочтение должно рассматривать "навсегда" цикл как действительно всего один рабочий режим - могут быть другие в какой-то момент в будущем.

someMode= True
while someMode:
    try:
        ... do stuff ...
    except SomeException, e:
        log.exception( e )
        # will keep running
    except OtherException, e:
        log.info( "stopping now" )
        someMode= False

При некоторых обстоятельствах, ничто мы видели до сих пор наборы someMode к False. Но мне нравится притворяться, что будет изменение режима в некоторой будущей версии.

7
ответ дан 3 December 2019 в 00:37
поделиться
#define ever 1
for (;ever;)

?

Meh, просто оставьте его, как это, в то время как (верный) является, вероятно, столь четким, как Вы собираетесь добраться..

7
ответ дан 3 December 2019 в 00:37
поделиться

errr, чтобы быть рефакторингом.....

  • Бесконечный цикл Замены с Бесконечной рекурсией:-)

хорошо, если у Вас есть язык, который поддерживает Последние вызовы....

4
ответ дан 3 December 2019 в 00:37
поделиться

Если Вы хотите, чтобы он продолжился неограниченно долго до общего прерывания процесса выполнения программы, я не вижу ничто плохого с, в то время как (верный). Я недавно встретился с ним в сервисе сбора данных.NET, который объединился, в то время как (верный) с thread.sleep, чтобы просыпаться каждую минуту и опрашивать стороннюю услугу передачи данных относительно новых отчетов. Я рассмотрел рефакторинг его с таймером и делегатом, но в конечном счете решил, что это было самым простым и легким к чтению методом. 9 раз из 10 это - запах кода разъединения, но когда нет никакого условия выхода, почему делают вещи более трудными?

3
ответ дан 3 December 2019 в 00:37
поделиться

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

Думают о Рекурсии Hasselhoff.

1
ответ дан 3 December 2019 в 00:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: