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

    +120

    1. 1
    http://www.businessinsider.com/the-russian-internet-thinks-putin-is-dead-2015-3

    политота

    LispGovno, 13 Марта 2015

    Комментарии (3)
  2. SQL / Говнокод #17772

    −170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    CREATE TABLE `static_answers` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `question_id` int(11) unsigned NOT NULL,
      `title` varchar(255) NOT NULL,
      `is_correct` enum('0','1') NOT NULL,
      `created_at` int(11) unsigned NOT NULL,
      `updated_at` int(11) unsigned NOT NULL,
      `hits` int(10) unsigned NOT NULL DEFAULT '0',
    ...
    )

    Смотрим объявление поля is_correct
    ... Взорвали мозг пытаясь понять, почему: ожидаемый chance = (!фактический chance) в запросе:
    SELECT
    a.`id`, is_correct, IF(`is_correct`, 1, 0) chance
    FROM `static_answers` a
    WHERE q.`id` = 3268

    dwsVad, 12 Марта 2015

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

    +128

    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
    #include <stdio.h>
    int main()
    {
    int i,g;
    char a[26];
    a[0]='a';
    a[1]='b';
    a[2]='c';
    a[3]='d';
    a[4]='e';
    a[5]='f';
    a[6]='g';
    a[7]='h';
    a[8]='i';
    a[9]='j';
    a[10]='k';
    a[11]='l';
    a[12]='m';
    a[13]='n';
    a[14]='o';
    a[15]='p';
    a[16]='q';
    a[17]='r';
    a[18]='s';
    a[19]='t';
    a[20]='u';
    a[21]='v';
    a[22]='w';
    a[23]='x';
    a[24]='y';
    a[25]='z';
    for(i=0;i<25;i++)
    {
    for(g=0;g<i+1;g++)
    {
    printf("%c",a[g]);
    }
    if(g!=25)
    printf("\n");
    
    }
    return 0;
    }

    К предыдущему коду.

    alexmir, 12 Марта 2015

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

    +145

    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
    #include <stdio.h>
    int main (void)
    {
    printf("a");
    printf("\n");
    printf("ab");
    printf("\n");
    printf("abc");
    printf("\n");
    printf("abcd");
    printf("\n");
    printf("abcde");
    printf("\n");
    printf("abcdef");
    printf("\n");
    printf("abcdefg");
    printf("\n");
    printf("abcdefgh");
    printf("\n");
    printf("abcdefghi");
    printf("\n");
    printf("abcdefghig");
    printf("\n");
    printf("abcdefghigk");
    printf("\n");
    printf("abcdefghigkl");
    printf("\n");
    printf("abcdefghigklm");
    printf("\n");
    printf("abcdefghigklmn");
    printf("\n");
    printf("abcdefghigklmno");
    printf("\n");
    printf("abcdefghigklmnop");
    printf("\n");
    printf("abcdefghigklmnopq");
    printf("\n");
    printf("abcdefghigklmnopqr");
    printf("\n");
    printf("abcdefghigklmnopqrs");
    printf("\n");
    printf("abcdefghigklmnopqrst");
    printf("\n");
    printf("abcdefghigklmnopqrstu");
    printf("\n");
    printf("abcdefghigklmnopqrstuv");
    printf("\n");
    printf("abcdefghigklmnopqrstuvw");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwx");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwxy");
    printf("\n");
    printf("abcdefghigklmnopqrstuvwxyz");
    printf("\n");
    return 0;
    }

    alexmir, 12 Марта 2015

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?
    // ...
    preg_match('/^[0-9]{1,}$/', $value)     // positive integer
                            || (        // or negative integer
                                (substr($value, 0, 1) === '-')
                                && preg_match('/^[0-9]{1,}$/', substr($value, 1))
                            )
    
    ?>

    В битриксе так и не выучили регулярки..

    belukov, 12 Марта 2015

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

    +132

    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
    public static string DownloadString(string Url, bool UnZip = false)
            {
                var v = Configs.Instance.MainURL + Url;
                if (!CheckOnServer(v))
                    return "";
                using (var wb = new WebClient())
                {
                    if (UnZip)
                        v = Encoding.UTF8.GetString(IoUtils.UnZip(wb.DownloadData(v)));
                    else
                        v = wb.DownloadString(v);
                    if (v.StartsWith(((char)65279).ToString())) v = v.Substring(1);//utf8 header -_-
                }
                return v;
            }

    skydev, 12 Марта 2015

    Комментарии (1)
  7. Си / Говнокод #17767

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #define   CONC_LINE(a)  CONC(a, __LINE__)
    #define   CONC(a, b)  __CONC(a, b)
    #define __CONC(a, b)  a##b
    // ...
    int CONC_LINE(name);

    Способ присовокупить к названию переменной номер строки, где её объявили.
    Объясните кто-нибудь, почему #define CONC_LINE (a) __CONC ( a, __LINE__ ) дает: name__LINE__?

    refactor, 11 Марта 2015

    Комментарии (11)
  8. Си / Говнокод #17766

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /* */
            int fooBar() {
                /* do something */
    
    /* - */     return NULL;
    /* + */     return 0ULL;
            }

    > src/foobar.c:42:3: warning: return makes integer from pointer without a cast
    > return NULL;

    П О Ч И Н Е Н О

    Elvenfighter, 11 Марта 2015

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

    +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
    // Не очень красивое решение. Но зато можно не выставлять в паблик всякие кишочки
    	private void SetValueToPrivateField<Type>(Type instance, string field, object value) {
    		if (instance != null) {
    			FieldInfo fieldInfo = typeof(Type).GetField(
    				field,
    				BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic
    			);
    				if (fieldInfo != null) {
    				fieldInfo.SetValue(instance, value);
    			}
    		}
    	}

    Публичный сеттер нарушит инкапсуляцию, поэтому будем использовать рефлексию

    "Мне нельзя ничего есть, поэтому я вставлю себе трубку прямо в живот и буду при необходимости заливать прямо туда. Но есть не буду"

    Caritas, 11 Марта 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (bonusA is RuneBonusLine && bonusB is RuneBonusLine) {
        Mix(bonusA as RuneBonusLine, bonusB as RuneBonusLine);
       } else if (bonusA is RuneBonusBomb && bonusB is RuneBonusBomb) {
        Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusBomb);
       } else if (bonusA is RuneBonusBomb && bonusB is RuneBonusLine) {
        Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusLine);
       } else if (bonusB is RuneBonusBomb && bonusA is RuneBonusLine) {
        Mix(bonusB as RuneBonusBomb, bonusA as RuneBonusLine);
       }

    Is/As Oriented Programming

    Caritas, 11 Марта 2015

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