1. Куча / Говнокод #23544

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API продолжают отчаянно
    цепляться за устаревший формат "XML", отказываясь признавать простоту и удобство (для обеих сторон) формата "JSON"? 
    Как "simplexml_load_file(...)" с неебическим количеством мусора типа "@attributes" может быть лучше приятненького
    "json_decode(..., true)", учитывая, что первый, в случае, если дочерний тег с определённым именем у "родителя" один,
    возвращает по этому тегу одномерный массив, а в случае, если их несколько - многомерный? Где предсказуемость?

    COWuTEJIbTBOEuMAMKu, 16 Ноября 2017

    Комментарии (126)
  2. PHP / Говнокод #23543

    0

    1. 1
    2. 2
    3. 3
    do {
    // много кода и в нужный момент break :)
    } while (true === true);

    Для пущей уверенности в том что цикл "не сорвётся" в коде используется тождественно равно - моя отсебятинка в одном их проектов :)

    loderuner, 16 Ноября 2017

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

    0

    1. 1
    2. 2
    if(services_type == 3) var checked = 1;
    else var checked = 0;

    fellownik, 16 Ноября 2017

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

    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
    21. 21
    22. 22
    function numeral($s, $t1, $t3, $t5)
    {
    	$s = intval($s) % 100;
    	$z2 = intval($s / 10);
    	$z3 = $s % 10;
    	return ($z3 == 0) || ($z3 > 4) || ($z2 == 1)
    	       ? $t5
    	       : (($z3 > 1) && ($z3 < 5) ? $t3 : $t1);
    }
    
    function fileSizeInKB($size)
    {
        if ($size < 1024) {
            return intval($size) . '&nbsp;' . numeral($size, 'байт', 'байта', 'байтов');
        } else {
            $size /= 1024;
            if ($size < 1024)
                return intval($size) . '&nbsp;КБ';
            else
                return intval($size / 1024) . '&nbsp;МБ';
        }
    }

    high top pluralization method

    SeniorShaurman, 16 Ноября 2017

    Комментарии (1)
  5. PHP / Говнокод #23540

    +5

    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
    <?php
     
    class Govno
    {
    	function __toString()
    	{
    		return 'govno';
    	}
    }
     
    ${'<?php'}   = 42;
    ${M_PI}      = 43;
    ${new Govno} = 44;
    ${"\0"}      = 45;
    ${''}        = 46;
    ${null}      = 47;
     
    ${create_function('', 'return null;')} = 444;
    ob_start();
    phpinfo();
    ${ob_get_clean()} = 9000;
     
     
    var_dump(get_defined_vars());

    В ПХП возможно всё, если делать это через жопу.
    https://ideone.com/svS2sO

    Stallman, 16 Ноября 2017

    Комментарии (57)
  6. Си / Говнокод #23539

    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
    #include "string.h"
    #include "stdio.h"
    
    int main()
    {
      char c[15],*d = &c[0]; 
      scanf("%10u", &c[11]);
      sprintf(d, "%u\0",
         (c[11]&0xFF)|
        ((c[12]&0xFF)<<8)|
        ((c[13]&0xFF)<<16)|
        ((c[14]&0xFF)<<24));
      do if (c[0] > *d) c[0] = *d;
      while (*d++, *(d+1) != 0);
      printf("%d\n", c[0]-'0');
      return 0;
    }

    Находит наименьшее цифру в числе

    Sempai, 15 Ноября 2017

    Комментарии (2)
  7. Java / Говнокод #23538

    +2

    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
    import java.io.*;
    import java.math.RoundingMode;
    import java.text.DecimalFormat;
    import java.text.NumberFormat;
    
    import java.util.Scanner;
    /*
    Число E
    
    (Время: 1 сек. Память: 16 Мб Сложность: 10%)
    Выведите в выходной файл округленное до n знаков после десятичной точки число E. 
    В данной задаче будем считать, что число Е в точности равно 2.7182818284590452353602875.
    */
    
    import static com.sun.org.apache.xml.internal.security.keys.keyresolver.KeyResolver.length;
    
    public class Main {
        public static void main(String args[]) throws IOException {
            
            Scanner scanner=new Scanner(System.in);
            int n=scanner.nextInt();
            NumberFormat numberFormat = new DecimalFormat("0.000000000000000000000000000");
            numberFormat.setRoundingMode(RoundingMode.DOWN);
            String a=numberFormat.format(Math.E);
            char[] arr=a.toCharArray();
            for(int i=0;i<n+2;i++){
                System.out.print(arr[i]);
            }
        }
    
        }

    Понять и простить

    ArthurMakaev, 15 Ноября 2017

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

    −1

    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
    <?foreach($RObl as $v) {$n++;?>
    <li>
    <?if(!empty($v['URL_HOST'])) switch ($v['SOCR']) {?>
    <?	case 'обл.':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> область</a>
    <?		break;?>
    <?	case 'край':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> край</a>
    <?		break;?>
    <?	case 'Респ.':?>
    <?if(substr($v['NAME'],-2)!=='ая') {?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>">Республика <?=$v['NAME']?></a>
    			<?;} else {?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> республика</a>
    			<?}?>
    <?		break;?>
    <?	case 'АО':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>">АО <?=$v['NAME']?></a>
    <?		break;?>
    <?	case 'Аобл.':?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['NAME']?> автономная область</a>
    <?		break;?>
    <?	default:?>
    <a href="http://<?if(isSet($v['URL_HOST']) and $v['URL_HOST']!='') echo $v['URL_HOST']."/";?>"><?=$v['SOCR']?> <?=$v['NAME']?></a>
    <?}?>
    </li>

    Падаван Дмитрия Котерова

    SeniorShaurman, 15 Ноября 2017

    Комментарии (20)
  9. 1C / Говнокод #23536

    +2

    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
    Если ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнПосещение" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.ПосещениеАвтосалона;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Посещение'");
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнЗвонок" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.Звонок;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Звонок'");
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнEmail" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.EmailДилера;
    		ЭтаФорма.Заголовок = НСтр("ru = 'Регистрация нового трафика. Email'");
    		ЭлементыФормы.полеТелефон.Картинка = БиблиотекаКартинок.Renault_Mail_New_20;
    		ЭлементыФормы.полеТелефон.Маска =  "";
    		
    	ИначеЕсли ЭтаФорма.ВладелецФормы.ТекущийЭлемент.Имя = "кнЛидRenault" Тогда
    		ТипТрафика = Справочники.CRM_ТипТрафика.ЛидДилера;
    	КонецЕсли;

    Фирменная CRM система от Renault. Определения типа трафика по имени активного элемента владельца формы.

    NioGoth, 15 Ноября 2017

    Комментарии (7)
  10. Куча / Говнокод #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)