1. C++ / Говнокод #8277

    +1000

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    int i = 0;
    
    init1();
    ++i;
    if (!isFailed1()) goto clean_up;
    
    init2();
    ++i;
    if (!isFailed2()) goto clean_up;
    
    init3();
    ++i;
    if (!isFailed3()) goto clean_up;
    
    goto end:
    
    clean_up:
    
    switch(i) {
      case 3:
        cleunUp3();
      case 2:
        cleunUp2();
      case 1:
        cleunUp1();
    }
    
    end:

    Он думает, что RAII не нужен.

    Запостил: AnimeGovno-_-, 22 Октября 2011

    Комментарии (15) RSS

    • это же чистый Си!
      Ответить
      • dirty-C
        Ответить
      • тащемта для си это была нормальная практика
        можно еще делать do { } while (0); с брейками, вместо goto
        только афтар ошибся, ему надо делать ++i только лишь когда init был успешен
        говнокод только в понимании с++
        Ответить
        • >говнокод только в понимании с++
          Как бы это и так в разделе С++, при том что автор считает, что RAII не нужен, если есть это.
          Ответить
          • Я щитаю, что это ты не нужен. Ни в разделе С++, ни где-либо еще на этом сайте.
            Ответить
        • на си делали так:

          a = acquireResourceA();
          if (a == NULL) goto end_a;
          b= acquireResourceB();
          if (b == NULL) goto end_b;
          
          //что-то делаем
          
          end_b:
          releaseResource(a);
          end_a:
          Ответить
    • Что-то говнокод становится подмножеством ГД.ру.
      Ответить
      • Прямо как дальний восток и китайцы. Или Челябинская обл.
        Ответить
        • Кстати, что там?
          Местные жители говорят, что китайцев незаметно.
          Ответить
          • происки КПК? кимоно-невидимки?
            тут на днях собираются запретить праворуких японок, так что о дальнем востоке можно забыть
            Ответить
            • Им стоило ввести территории с исключениями из этого правила. + владельцам праворульных японок поднять налог.
              Ответить
          • Там китайские помидорные плантации и пездецыды
            Ответить
    • Где здесь С++?
      Ответить

    Добавить комментарий