1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #14178

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(window.SomeModeMap) // OK
      ...
    
    if(window.SomeModeMap && value instanceof window.SomeModeMap) // OK
      ...
    
    if(window.SomeModeMap && value instanceof window.SomeNodeMap) // WTF, Error
      ...

    Автодополнение - это уникальный инструмент для тиражирования опечаток.

    1024--, 04 Декабря 2013

    Комментарии (10)
  3. C++ / Говнокод #14125

    +13

    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
    //Сегодня QuestionGovno.
    //Допустим есть код:
    #include <iostream>
    using namespace std;
    class T{};
    struct M{M(T){}};
    struct G{G(T){}};
    
    int f(M){return 0;}
    bool f(G){return 0;}
    
    int main() {
    	bool a(f(T()));
    	return 0;
    }

    Казалось бы должна быть неоднозначность при компиляции, так как компилятор не знает какую перегрузку f бы выбрать.
    И как бы так оно и есть:
    http://ideone.com/o21NDg
    Логично? Логично.
    Но стандарт считает по другому:
    http://en.cppreference.com/w/cpp/language/overload_resolution
    Смотрите пункт:
    Best viable function
    F1 is determined to be a better function than F2 if implicit conversions for all arguments of F1 are not worse than the implicit conversions for all arguments of F2, and
    ...
    2) or. if not that, (only in context of non-class initialization by conversion), the standard conversion sequence from the return type of F1 to the type being initialized is better than the standard conversion sequence from the return type of F2

    Как мне повторить поведение, которое указано в стандарте?

    LispGovno, 22 Ноября 2013

    Комментарии (10)
  4. PHP / Говнокод #13984

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <!-- END CONTENT CONTAINER -->
    		<?php include("mgr.footer.php"); ?>		
    	</div>
    </body>
    </html>
    <?php mysql_close($db); ?>

    Пример кода из админки одного индуского движка.

    Dinar, 21 Октября 2013

    Комментарии (10)
  5. Куча / Говнокод #13976

    +140

    1. 1
    У МИНЯ БОЛШЫ ВСЕХ ЛАЙКАВ НА ГАВНАКОДИ А ЧИВО ДАБИЛСЯ ТЫ??7

    ВСЕ МНЕ ЗАВИДУЮТ ПАТАМУШТА Я БАГАТ И УСПЕШОН

    PragramistOtBoga, 19 Октября 2013

    Комментарии (10)
  6. Куча / Говнокод #13966

    +121

    1. 1
    2. 2
    3. 3
    ref <- newIORef 0
    replicateM_ 1000000 $ modifyIORef ref (+1)
    readIORef ref >>= print

    LispGovno, 17 Октября 2013

    Комментарии (10)
  7. PHP / Говнокод #13963

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    ...
    } catch ( Exception $e ) {
        throw new Exception( $e->getMessage() );
    }

    Словили исключение и послали его дальше.

    enures, 17 Октября 2013

    Комментарии (10)
  8. PHP / Говнокод #13950

    +145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $packages = array(
        1 => array(
            1 => 'HTML_AJAX',
            2 => 'HTML_Common2',
            3 => 'HTML_QuickForm2'
        ),
        2 => array(
            1 => 'HTTP_Download',
            2 => 'HTTP_Request2'
        )
    );

    Ребята пошли против системы

    kindofbear, 15 Октября 2013

    Комментарии (10)
  9. Java / Говнокод #13901

    +69

    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
    package first;
    
    import java.util.Scanner;
    
    public class First {
    
    	public static void main(String[] args) {
    
    		String line = "Empty directories can be moved. If the directory is not empty,";
    
    		System.out.println("Enter simbol to delete:");
    		Scanner s = new Scanner(System.in);
    		String del = s.nextLine();
    		s.close();
    
    		StringBuilder sb = new StringBuilder(line);
    		for (int i = 0; i < sb.length(); i++) {
    			if (sb.charAt(i) == del.charAt(0)) {
    				sb.deleteCharAt(i);
    				
    			}
    		}
    
    		System.out.println(sb);
    	}
    
    }

    Это из раннего. Давно что-то не выкладывал, вот руки зачесались.

    spivti, 06 Октября 2013

    Комментарии (10)
  10. C++ / Говнокод #13846

    +21

    1. 1
    2. 2
    3. 3
    for (size_t index = 0; index != size; ++size) {
    ...
    }

    Устраняю последствия ночного кодинга

    Setry, 23 Сентября 2013

    Комментарии (10)
  11. ActionScript / Говнокод #13787

    −121

    1. 1
    if(!(plant is CropBase && !(plant is TreeBase)))

    Гениально-простое построение выражения

    strax, 13 Сентября 2013

    Комментарии (10)