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

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

    −5

    1. 1
    EFG тред иди.

    Тред в котором мы пишим реквесты и пожелания EFG.
    EFG, прикрути живое обновление через вебсокеты, переделай фронт уже с этого древнего говна, на модное SPA, прикрути нейросеточку и блокчейн.

    хуита, 11 Декабря 2018

    Комментарии (29)
  3. Си / Говнокод #25076

    +1

    1. 1
    m[7500];char*c=m+3750;char*main(int k,char**a,char*s){return!a?~k?k&&*s?main(k+(*s==91)-(*s==93),0,s+1):s:(*(c+=(*s==62)-(*s==60))+=(*s==43)-(*s==45),*s==44?*c=getchar():*s-46||putchar(*c),*s-93?*s-91?0:!*c?s=main(1,0,s+1)-1:main(-1,0,1+s--),1[s]&&main(-1,0,s+1):0):main(-1,0,1[a]);}

    ...Пройдя долиной ошибок и ворнингов,
    Не убоюсь я ошибок сегментации...

    666_N33D135, 10 Ноября 2018

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

    0

    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
    static {
        final Logger log = LoggerFactory.getLogger(ModulePeer.class);
        if (log.isDebugEnabled()) {
          final Map<String, Function<String, String>> source = new LinkedHashMap<>();
          source.put("LD_LIBRARY_PATH", System::getenv);
          source.put("java.library.path", System::getProperty);
          source.put("java.class.path", System::getProperty);
    
          final Map<String, Set<Path>> dump = source.entrySet().stream().collect(Collectors.toMap(e -> e
            .getKey(), e -> Optional.ofNullable(e.getValue().apply(e.getKey())).map(i -> Pattern
              .compile(Pattern.quote(System.getProperty("path.separator"))).splitAsStream(i)).orElse(
                Stream.empty()).map(n -> Paths.get(n).toAbsolutePath()) //
              .collect(Collectors.toCollection(TreeSet::new)), (u, v) -> {
                throw new IllegalStateException(String.format("Duplicate key %s", u));
              }, LinkedHashMap::new));
    
          log.info(dump.toString());
        }
    ...
    }

    Немного практики с манадами и лямбдами.

    javamaker, 25 Сентября 2018

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

    −4

    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
    #include <iostream>
    using namespace std;
    int main()
    {	
           bool s;
    	if (s == true) {
    		return true;
    	}
    	if (s == false) {
    		return false;
    	}
    	else {
    		return !true && !false;
    	}
    }

    Настоящие программисты пишут вот так!

    Verenick, 19 Сентября 2018

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

    +2

    1. 1
    https://shmat-razum.blogspot.com/2012/12/blog-post.html

    Есть такое правило, к которому все привыкли: если в программе записано логическое выражение с and, и первое подвыражение оказалось равно false, то второе не вычисляется. Аналогично с or: если первое подвыражение равно true, второе не вычисляется. Это позволяет удобно записывать вещи вида

    if (index < 0 || array[index] == NULL)
    ...

    или
    if (index >= 0 && array[index] == ptr)
    ...


    Это правило действует во всех широко используемых языках программирования: C/C++, Java, C#, Javascript, Python, а также в многочисленных представителях семейств лиспов и смолтоков. И даже в Хаскеле. И даже в PL/SQL. У правила есть название: закорачивание логических связок (short-circuit evaluation). Казалось, оно само собой разумеется, и есть во всех языках.

    При столкновении с языком Fortran автора ждал сильный удар. Закорачивание в этом языке не просто не действует, а может действовать или не действовать в зависимости от воли компилятора. Эта неопределённость закреплена в стандарте. При этом, в интеловском компиляторе, например, просто нет ключа, чтобы этим управлять. Программист не может быть уверен, что выполнится лишь одна ветвь; в то же время, он не может быть уверен, что выполнятся обе. Поведение может зависеть от номера версии компилятора и настроек оптимизации.

    j123123, 15 Ноября 2017

    Комментарии (29)
  7. Куча / Говнокод #23314

    −4

    1. 1
    https://internals.rust-lang.org/t/help-test-async-await-generators-coroutines/5835

    Ну все, раст слился. Теперь это ненужное говно и у них.

    subaru, 30 Августа 2017

    Комментарии (29)
  8. bash / Говнокод #23205

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/bash
    
    declare -i i=100000000
    while ((i<200000000)); do
        echo ${i:1:8}
        ((i++))
    done

    Генератор wps пинов

    ProgRamistYshka, 20 Июля 2017

    Комментарии (29)
  9. PHP / Говнокод #19082

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function checkRus($str)
    {
    	$result = true;
    	$eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
    	for ($i = 0; $i < strlen($str); $i++) {
    		if (in_array($str[$i], $eng)) {
    			$result = false;
    			break;
    		}
    	}
    	return $result;
    }

    Проверка на "русскость" строки

    foreign, 25 Ноября 2015

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

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <? foreach ($arResult["SIZES"] as $skuId => $size): ?>
    	<? if ($skuId == $arResult["SKU_ID"]): ?>
    	<option value="<?= $skuId ?>" selected="selected" data-product-size="<?= $size ?>"><?= $size ?></option>
    	<? else: ?>
    	<option value="<?= $skuId ?>"
    		data-product-url="<?= $arResult["SKU_LIST"][$skuId]["DETAIL_PAGE_URL"] ?>"
    		data-product-size="<?= $size ?>"
    		<? if ($skuId == $arResult["SKU_ID"]) echo 'selected="selected"' ?>><?= $size ?></option>
    	<? endif ?>
    <? endforeach; ?>

    turbosnail, 08 Мая 2015

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

    +77

    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
    void insertObject(Object object)
    {
    +	auto found = std::find_if(
    +		objects.begin(),
    +		objects.end(),
    +		[&object](Object otherObject)
    +		{
    +			return otherObject == object;
    +		}
    +	);
    +
    +	if (found != objects.end())
    +		return;
    +
    	objects.push_back(object);
    }

    Надо было не вставлять в коллекцию дубликаты по какому-то критерию. Человек написал это.

    atsgovno, 17 Апреля 2015

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