1. Список говнокодов пользователя roman-kashitsyn

    Всего: 101

  2. C++ / Говнокод #16149

    +10

    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
    string intArrayToString(int* array, int size)
    {
      ostringstream ss;
      ss << "[";
      for (int i=0; i<size-1; i++)
        ss << array[i] << ",";
      ss << array[size-1];
      ss << "]";
      return ss.str();
    }
    
    string longIntArrayToString(long int* array, int size)
    {
      ostringstream ss;
      ss << "[";
      for (int i=0; i<size-1; i++)
        ss << array[i] << ",";
      ss << array[size-1];
      ss << "]";
      return ss.str();
    }

    О шаблонах мы, видимо, не в курсе. Ну и упаси вас боже передать суда size=0.

    Думаю, сюда можно смело выкладывать весь источник, но уж больно он уныл

    https://github.com/adobe-research/libkafka
    Адобъ Рисёрчъ на острие прогресса
    #ifdef DEBUG 
    #define D(x) x
    #else
    #define D(x)
    #endif

    #define E(x) cout.flush() << x
    Так ведь и придётся своего клиента писать... :(

    roman-kashitsyn, 12 Июня 2014

    Комментарии (19)
  3. Java / Говнокод #15834

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    final String[] arg1 = {"name-ru", "phone", "address-ru"};
    final Analyzer arg2 = getAnalyzer();
    final QueryParser parser = ReflectionUtils.getTheOnlyMatchingConstructor(
        MultiFieldQueryParser.class,
        new Class<?>[]{arg1.getClass(), arg2.getClass()}
    ).newInstance(arg1, arg2);

    Одним изящным движением превращаем миграцию на свежую версию lucene в попоболь.

    roman-kashitsyn, 24 Апреля 2014

    Комментарии (0)
  4. Java / Говнокод #15581

    +74

    1. 1
    2. 2
    3. 3
    Logger.getLogger(OriginReaderImpl.class).error("somebody calls reading origins without filtering",
        new RuntimeException());
    return Cf.newArrayList();

    У меня был когнитивный диссонанс: в логах стектрейсы, а транзакция успешно завершена.

    П.С. Код переформатирован так, чтобы вызов конструктора исключения не вылезал за границы экрана.

    roman-kashitsyn, 26 Марта 2014

    Комментарии (5)
  5. Java / Говнокод #15252

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public class LoaderForMongoCompanies extends AbstractJdbcLoader {
    
        @Override
        protected String getTableSuffix() {
            return "mongo";
        }
    
    }

    нужно больше классов

    roman-kashitsyn, 28 Февраля 2014

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

    +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
    final double[][] matrix = new double[companies.size() + 1][(sampleSizeTo - sampleSizeFrom) / sampleSizeStep + 2];
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[0].length; j++) {
            if (i == 0 && j == 0) {
                continue;
            }
            if (i == 0) {
                matrix[i][j] = sampleSizeFrom + (j - 1) * sampleSizeStep;
                continue;
            }
            if (j == 0) {
                matrix[i][j] = companies.get(i-1);
                continue;
            }
        }
    }

    Название функции getSmartDistibution (именно так) какбэ намекает, что дальше будет весело

    roman-kashitsyn, 14 Февраля 2014

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

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    auto q = db.exec("select name from sqlite_master where type='table'");
    QStringList tables;
    while(q.next()) {
        tables.append(q.value(0).toString());
    }
    if(tables.contains("searchIndex")) {
        types.insert(name, DASH);
    } else {
        types.insert(name, ZDASH);
    }

    Табличек в sqlite скорее всего мало и код должен работать довольно шустро.
    Но сам подход достоен QHP

    https://github.com/jkozera/zeal/blob/master/zeal/zealdocsetsregistry.cpp#L27

    roman-kashitsyn, 18 Января 2014

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

    +74

    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
    for (int i = 0; i != nl.length(); i++)
    {
        out.write(nl.charAt(i));
    }
    
    for (int i = 0; i != footerStart.length(); i++)
    {
        out.write(footerStart.charAt(i));
    }
    
    for (int i = 0; i != type.length(); i++)
    {
        out.write(type.charAt(i));
    }
    
    for (int i = 0; i != footerTail.length(); i++)
    {
        out.write(footerTail.charAt(i));
    }
    
    for (int i = 0; i != nl.length(); i++)
    {
        out.write(nl.charAt(i));
    }

    Зачем писать функцию, когда можно успешно копипастить циклы

    http://grepcode.com/file/repo1.maven.org/maven2/org.bouncycastle/bcpg-jdk16/1.45/org/bouncycastle/bcpg/ArmoredOutputStream.java

    roman-kashitsyn, 15 Декабря 2013

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    GZIPOutputStream out = new GZIPOutputStream(out) {
        {
            def.setLevel(Deflater.BEST_COMPRESSION);
        }
    };

    Вот так можно выставить максимальную степень сжатия GZIP-потока в жабе.

    roman-kashitsyn, 13 Декабря 2013

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    final Pair<List<Pair<Pair<Long, String>, Maybe<String>>>, List<Pair<Pair<Long, String>, Maybe<String>>>> split = Cu.split(pushResults, new Filter<Pair<Pair<Long, String>, Maybe<String>>>() {
                @Override
                public boolean fits(final Pair<Pair<Long, String>, Maybe<String>> arg) {
                    return arg.second.hasValue();
                }
            });

    Functional Java: simply clever

    roman-kashitsyn, 02 Декабря 2013

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

    +81

    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
    private static final Set<Long> ALLWAYS_MODERATE_RUBRIC_IDS =
                Cf.set(Long.valueOf(184105500L), Long.valueOf(184105900L),
                        Long.valueOf(184106400L), Long.valueOf(184105248L), Long.valueOf(184105250L), Long.valueOf(184105264L),
                        Long.valueOf(184105272L), Long.valueOf(184105274L), Long.valueOf(184105278L), Long.valueOf(184105280L),
                        Long.valueOf(184105282L), Long.valueOf(184105370L), Long.valueOf(184105376L), Long.valueOf(184105382L),
                        Long.valueOf(184105398L), Long.valueOf(184105402L), Long.valueOf(184105410L), Long.valueOf(184105426L),
                        Long.valueOf(184105430L), Long.valueOf(184105436L), Long.valueOf(184105438L), Long.valueOf(184105444L),
                        Long.valueOf(184105468L), Long.valueOf(184105476L), Long.valueOf(184105488L), Long.valueOf(184105490L),
                        Long.valueOf(184105494L), Long.valueOf(184105506L), Long.valueOf(184105518L), Long.valueOf(184105524L),
                        Long.valueOf(184105526L), Long.valueOf(184105528L), Long.valueOf(184105636L), Long.valueOf(184105638L),
                        Long.valueOf(184105640L), Long.valueOf(184105642L), Long.valueOf(184105644L), Long.valueOf(184105646L),
                        Long.valueOf(184105648L), Long.valueOf(184105650L), Long.valueOf(184105652L), Long.valueOf(184105654L),
                        Long.valueOf(184105658L), Long.valueOf(184105660L), Long.valueOf(184105680L), Long.valueOf(184105686L),
                        Long.valueOf(184105688L), Long.valueOf(184105690L), Long.valueOf(184105692L), Long.valueOf(184105694L),
                        Long.valueOf(184105696L), Long.valueOf(184105698L), Long.valueOf(184105704L), Long.valueOf(184105706L),
                        Long.valueOf(184105710L), Long.valueOf(184105712L), Long.valueOf(184105716L), Long.valueOf(184105722L),
                        Long.valueOf(184105724L), Long.valueOf(184105726L), Long.valueOf(184105742L),
                        Long.valueOf(184105744L), Long.valueOf(184105768L), Long.valueOf(184105792L), Long.valueOf(184105796L),
                        Long.valueOf(184105798L), Long.valueOf(184105806L), Long.valueOf(184105838L), Long.valueOf(184105840L),
                        Long.valueOf(184105866L), Long.valueOf(184105876L), Long.valueOf(184105892L), Long.valueOf(184105894L),
                        Long.valueOf(184105898L), Long.valueOf(184105902L), Long.valueOf(184105914L), Long.valueOf(184105918L),
                        Long.valueOf(184105930L), Long.valueOf(184105932L), Long.valueOf(184105944L), Long.valueOf(184106092L),
                        Long.valueOf(184106138L), Long.valueOf(184106140L), Long.valueOf(184106158L), Long.valueOf(184106186L),
                        Long.valueOf(184106194L), Long.valueOf(184106212L), Long.valueOf(184106222L), Long.valueOf(184106262L),
                        Long.valueOf(184106270L), Long.valueOf(184106292L), Long.valueOf(184106296L), Long.valueOf(184106298L),
                        Long.valueOf(184106332L), Long.valueOf(184106334L), Long.valueOf(184106336L), Long.valueOf(184106356L),
                        Long.valueOf(184106364L), Long.valueOf(184106366L), Long.valueOf(184106376L), Long.valueOf(184106414L),
                        Long.valueOf(184106424L), Long.valueOf(184106452L), Long.valueOf(184106592L), Long.valueOf(184106730L),
                        Long.valueOf(184106974L), Long.valueOf(184107196L), Long.valueOf(184107206L), Long.valueOf(184107212L),
                        Long.valueOf(184107216L), Long.valueOf(184107242L), Long.valueOf(184107275L), Long.valueOf(184107285L),
                        Long.valueOf(184107311L), Long.valueOf(184107313L), Long.valueOf(184107315L), Long.valueOf(184107349L),
                        Long.valueOf(184107375L), Long.valueOf(184107377L), Long.valueOf(184107383L), Long.valueOf(184107393L),
                        Long.valueOf(184107397L), Long.valueOf(184107401L), Long.valueOf(184107405L), Long.valueOf(184107409L),
                        Long.valueOf(184107503L), Long.valueOf(184107505L), Long.valueOf(184107507L), Long.valueOf(184107511L),
                        Long.valueOf(184107519L), Long.valueOf(184107525L), Long.valueOf(184107529L), Long.valueOf(184107787L),
                        Long.valueOf(184107789L), Long.valueOf(184107903L), Long.valueOf(184108071L), Long.valueOf(184108075L),
                        Long.valueOf(184108079L), Long.valueOf(184108081L), Long.valueOf(184108083L), Long.valueOf(184108085L),
                        Long.valueOf(184108105L), Long.valueOf(184108111L), Long.valueOf(184108143L), Long.valueOf(184108155L),
                        Long.valueOf(184108161L), Long.valueOf(184108163L), Long.valueOf(184108169L), Long.valueOf(184108171L),
                        Long.valueOf(184108207L), Long.valueOf(184108219L), Long.valueOf(184108223L), Long.valueOf(184108225L),
                        Long.valueOf(184108233L), Long.valueOf(184108235L), Long.valueOf(184108237L), Long.valueOf(184108245L),
                        Long.valueOf(184108251L), Long.valueOf(184108287L), Long.valueOf(184108289L), Long.valueOf(184108293L),
                        Long.valueOf(184108299L), Long.valueOf(184108351L), Long.valueOf(184108357L), Long.valueOf(184108359L),
                        Long.valueOf(184108361L), Long.valueOf(184108367L), Long.valueOf(242331571L), Long.valueOf(252709577L),
                        Long.valueOf(255605347L), Long.valueOf(256037362L), Long.valueOf(258233344L), Long.valueOf(275212651L),
                        Long.valueOf(295903440L), Long.valueOf(580546880L), Long.valueOf(585422559L), Long.valueOf(585423074L),
                        Long.valueOf(892505522L), Long.valueOf(1363851944L), Long.valueOf(1636761316L), Long.valueOf(1928261506L)
    
                );

    Печальный смайлик в конце меня понимает

    roman-kashitsyn, 01 Ноября 2013

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