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

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

    +161

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    // Сначала он считал рефералов на уровнях
    
    $sql = mysql_query("SELECT `lvl1` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$a++;
    }
    $sql = mysql_query("SELECT `lvl2` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$b++;
    }
    $sql = mysql_query("SELECT `lvl3` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$c++;
    }
    $sql = mysql_query("SELECT `lvl4` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$d++;
    }
    $sql = mysql_query("SELECT `lvl5` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$e++;
    }
    $sql = mysql_query("SELECT `lvl6` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$f++;
    }
    $sql = mysql_query("SELECT `lvl7` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$g++;
    }
    $sql = mysql_query("SELECT `lvl8` FROM `таблица` WHERE `nick` = $nick");
    while($row = mysql_fetch_array($sql)){
    	$h++;
    }
    
    // Потом он начал регистрировать пользователя на определенном уровне
    
    if($a<3){
    	mysql_query("INSERT INTO `таблица`(`lvl1`) VALUES ('$login')");
    } 
    elseif($b<5){
    	mysql_query("INSERT INTO `таблица`(`lvl2`) VALUES ('$login')");
    }
    elseif($c<9){
    	mysql_query("INSERT INTO `таблица`(`lvl3`) VALUES ('$login')");
    }
    elseif($d<17){
    	mysql_query("INSERT INTO `таблица`(`lvl4`) VALUES ('$login')");
    }
    elseif($e<33){
    	mysql_query("INSERT INTO `таблица`(`lvl5`) VALUES ('$login')");
    }
    elseif($f<65){
    	mysql_query("INSERT INTO `таблица`(`lvl6`) VALUES ('$login')");
    }
    elseif($g<129){
    	mysql_query("INSERT INTO `таблица`(`lvl7`) VALUES ('$login')");
    }
    elseif($h<257){
    	mysql_query("INSERT INTO `таблица`(`lvl8`) VALUES ('$login')");
    }
    elseif($h>256){
    	echo "ВЫ использовали всех рефералов, можете смело идти нахуй:)";

    Пишем проект, чувак сделал реферальную систему, епт...

    proweber1, 23 Марта 2014

    Комментарии (14)
  3. Ruby / Говнокод #14953

    −131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def sum_all_orders
        sum = 0
        Order.where(user_id: self.id).each do |order|
          sum = sum + order.total_sum
        end
        sum
      end
    
      # вместо
      def sum_all_orders
         orders.sum(&:total_sum)
      end

    В коде магазина, таких ляпов полон проект. Задрался dd жмакать.
    Так сложно API active_support почитать???

    alexes_dev, 25 Февраля 2014

    Комментарии (14)
  4. C# / Говнокод #14950

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Сериализуем
    var outStream = new MemoryStream();
    serializer.Serialize(outStream, storedSplitInfo);
    string output = outStream.ToArray().Aggregate(string.Empty, (current, simbol) => current + (char) simbol);
    
    ...
    
    // Десериализуем
    var serializer = new XmlSerializer(typeof(StoredSplitInfo));
    return (StoredSplitInfo)serializer.Deserialize(new MemoryStream(docNumber.SplitInfo.Select(c => (byte)c).ToArray()));

    Вот таким изощренным способом мы умеем сериализовывать объекты в XML

    Govnokoder555, 25 Февраля 2014

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

    +46

    1. 1
    2. 2
    3. 3
    4. 4
    vector<int> v = {1, 4, 6};
    cout << "(";
    copy(v.begin(), v.end(), ostream_iterator<int>(cout, ", "));
    cout << ")";

    http://ideone.com/2j2jQG

    LispGovno, 21 Февраля 2014

    Комментарии (14)
  6. Java / Говнокод #14591

    +70

    1. 1
    2. 2
    .
    																		buffer.put(Transaction.getTransaction((JSONObject)transactionsData.get(j)).getBytes());

    Вложенность, например. Но это нужно видеть целиком.
    https://bitbucket.org/JeanLucPicard/nxt-public/src/

    rat4, 15 Февраля 2014

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    class Z {
       public function __toString() { return 'zzzzzzzz'; }
    }
    
     $zz = array();
     $zz[call_user_func_array('sprintf', array('%s', new Z))] = 1;

    нахуй так жить?

    __proto__, 13 Февраля 2014

    Комментарии (14)
  8. 1C / Говнокод #14520

    −170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если Источник.ПометкаУдаления <> Источник.ЭтотОбъект.Ссылка.ПолучитьОбъект().ПометкаУдаления Тогда
    	
    	// Действия
    	
    КонецЕсли;

    Код в конфигурации клиента.
    Условный цикл в подписке "Перед записью" документа.
    Смысл в том, чтобы сравнить изменённую пометку удаления и текущую (хранящуюся в базе).
    Следовало написать:

    Источник.ПометкаУдаления <> Источник.Ссылка.ПометкаУдаления

    Voittamaton, 07 Февраля 2014

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

    +39

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    #include <memory>
    
    struct Test {
        ~Test() { std::cout << "~Test\n"; }
    };
    
    int main() {
      std::shared_ptr<void> ptr( new Test );
      return 0;
    }

    http://ideone.com/xXPWhE

    Но:

    #include <iostream>
    #include <memory>

    struct Test
    {
    ~Test() { std::cout << "~Test\n"; }
    };

    int main() {
    std::shared_ptr<void> ptr( (void*) new Test );
    return 0;
    }
    http://ideone.com/jhNvpJ

    LispGovno, 05 Февраля 2014

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

    +126

    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
    cnt_queue_files()->
      Command = "ls "++code:lib_dir(messaging, priv)++" | grep -v ^l | wc -l",
      case catch list_to_integer(string:strip(os:cmd(Command), right, $\n)) of 
        X when is_integer(X) -> X;
        _ -> 0
      end. 
    
    clear_queue_files()->
      Command = "rm "++code:lib_dir(messaging, priv)++"/*",
      os:cmd(Command).
    
    create_empty_queue_file()->
      Command = "touch "++code:lib_dir(messaging, priv)++"/~"++?COLD_HALT_EXCHANGE++".que",
      os:cmd(Command).

    Ну просто похапе какое-то.

    kovyl2404, 16 Января 2014

    Комментарии (14)
  11. Java / Говнокод #14337

    +73

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    public enum Action {
    
        ADD, DELETE, UPDATE, REFRESH;
    
        public static Action getEnum(String value) {
            for (Action current : values()) {
                if (current.name().equalsIgnoreCase(value)) {
                    return current;
                }
            }
            throw new IllegalArgumentException("Unknown input value. Input value is '" + value + "'");
        }
    
        @Override
        public String toString() {
            return this.name().toLowerCase();
        }
    }
    
    public enum Manager {
    
        USER, ROLE, SERVICE;
    
        public static Manager getEnum(String value) {
            for (Manager current : values()) {
                if (current.name().equalsIgnoreCase(value)) {
                    return current;
                }
            }
            throw new IllegalArgumentException("Unknown input value. Input value is '" + value + "'");
        }
    
        @Override
        public String toString() {
            return this.name().toLowerCase();
        }
    
        public boolean isUser() {
            return this == USER;
        }
    
        public boolean isRole() {
            return this == ROLE;
        }
    
        public boolean isService() {
            return this == SERVICE ;
        }
    }
    
    public class StringToEnumConverterFactory implements ConverterFactory<String, Enum> {
        @Override
        public <T extends Enum> Converter<String, T> getConverter(Class<T> targetType) {
            return new StringToEnumConverter<T>(targetType);
        }
    
        private final class StringToEnumConverter<T extends Enum> implements Converter<String, T> {
    
            private Class<T> enumType;
    
            private StringToEnumConverter(Class<T> enumType) {
                this.enumType = enumType;
            }
    
            @Override
            public T convert(String source) {
                if (enumType.getName().equalsIgnoreCase("com.finder.enumerator.manager")) {
                    return (T) Manager.getEnum(source);
                }
                if (enumType.getName().equalsIgnoreCase("com.finder.enumerator.action")) {
                    return (T) Action.getEnum(source);
                }
                return (T) Enum.valueOf(this.enumType, source);
            }
        }
    }
    
    /* -- Mapping -- */
    @RequestMapping(value = "manage/index/{manager}/{action}", method = RequestMethod.GET)
    public String addValueToEntity(@PathVariable("manager") Manager manager, @PathVariable("action") Action action) {
    ...
    
    @RequestMapping(value = "/manage/index", method = RequestMethod.GET)
    public String indexPage(ModelMap model, @RequestParam(value = "manager", required = true) Manager manager) {
    ...

    Spring MVC. Проблема в том что строка lovercase а значения Enum-ов uppercase

    govnoacc, 10 Января 2014

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