1. Си / Говнокод #3202

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Делаем из префикса количество хостов (без .0 и броадкаста)
    numips = pow(2.0, (double)(32 - slashnet)) - 2;
    
    // Делаем префикс из маски сети
    slashnet = 32 - ((int)log2((double)(0xFFFFFFFF - vnetconfig->nm)) + 1);

    Всё те же, всё оттуда же...

    raorn, 12 Мая 2010

    Комментарии (9)
  2. JavaScript / Говнокод #3201

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //Я знаю что такое closure, поэтому добавляем в начале и конце:
    (function(){
    
    $(function(){
    
    //....код мы будем писать здесь...
    
    });
    
    })();

    А ты знаешь, что такое closure, %govnouser%? Найдено здесь http://habrahabr.ru/blogs/webdev/93331/

    HyperGeek, 12 Мая 2010

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

    +116

    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
    class DllContainer
    {
      DllContainer()
      {
        // тут грузятся дллки в количестве N.
        // LoadLibrary() + некоторые операции
      }
      
      ~DllContainer()
      {
        // FreeLibrary() и т.п.
      }
    
      template <class T>
      T* GetComponent(ComponentID id)
      {
        // аналог QueryInterface.
        // ищет компонент, проверяет можно ли статик_кастить
        // и вертает указатель нужного типа
      }  
    };
    
    class ComponentUser
    {
      void Method1()
      {
        DllContainer loader;
        SomethingDoer* comp = loader.GetComponent<SomethingDoer>(ID1);
        comp->DoSomething();
      }
      
      void Method2()
      {
        DllContainer loader;
        SomethingElseDoer* comp = loader.GetComponent<SomethingElseDoer>(ID2);
        comp->DoSomethingElse();
      }
      
      void MethodN()
      {
        DllContainer loader;
        ShitPerformer* comp = loader.GetComponent<ShitPerformer>(IDN);
        comp->PerformSomeShit();
      }
    };

    недавно обнаружил код примерно такого плана.
    крупный коммерческий проект...

    g26g, 12 Мая 2010

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

    +76

    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
    long[] times = new long[9];
    times[0] = System.currentTimeMillis();
    initPsrList();
    times[1] = System.currentTimeMillis();
    initPsrHierarchy();
    times[2] = System.currentTimeMillis();
    initPsrCheckList()
    times[3] = System.currentTimeMillis();
    initTranslationTables();
    times[4] = System.currentTimeMillis();
    initTranslationInfo()
    times[5] = System.currentTimeMillis();
    initVoltage();
    times[6] = System.currentTimeMillis();        
    initElectroMetterPrecision();
    times[7] = System.currentTimeMillis();        
    initMeasTransformers();
    times[8] = System.currentTimeMillis();
    
    long diff;
    System.out.println("\n\n\n\n******************************************************************");
    diff = times[1] - times[0];
    System.out.println("-- initPsrList() = " + diff + "ms");
    diff = times[2] - times[1];
    System.out.println("-- initPsrHierarchy() = " + diff + "ms");
    diff = times[3] - times[2];
    System.out.println("-- initPsrCheckList() = " + diff + "ms");
    diff = times[4] - times[3];
    System.out.println("-- initTranslationTables() = " + diff + "ms");
    diff = times[5] - times[4];
    System.out.println("-- initTranslationInfo() = " + diff + "ms");
    diff = times[6] - times[5];
    System.out.println("-- initVoltage() = " + diff + "ms");
    diff = times[7] - times[6];
    System.out.println("-- initElectroMettersPrecision() = " + diff + "ms");
    diff = times[8] - times[7];
    System.out.println("-- initMeasTransformers() = " + diff + "ms");
    diff = times[8] - times[0];
    System.out.println("total = " + diff + "ms");
    System.out.println("\n******************************************************************\n\n\n\n ");

    Код подготовки отображаемой страницы на сервере.

    Eyeless, 12 Мая 2010

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

    +118

    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
    #region копирование в буфер
            private void copia_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                    sb.Append((char)13);//Перенос строки
                    sb.Append((char)10);//Перевод каретки
                }
                Clipboard.SetText(sb.ToString());//Отправляем всё в КлипБорд
            }
            #endregion
    
            #region Сохранить в файл
    
            private void save_Click(object sender, EventArgs e)
            {
                saveFileDialog1.DefaultExt = ".txt";
                saveFileDialog1.OverwritePrompt = true;
                saveFileDialog1.Title = "Координаты";
                saveFileDialog1.Filter = "Text Files|*.txt";
    
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < listBox1.Items.Count; i++)
                    {
                        sb.Append(listBox1.Items[i].ToString());//Добавляем строчку из листБокса
                        sb.Append((char)13);//Перенос строки
                        sb.Append((char)10);//Перевод каретки
                    }
                    sw.WriteLine(sb);
                    sw.Flush();
                    sw.Close();
                }
            }
            #endregion

    L5D, 12 Мая 2010

    Комментарии (28)
  6. PHP / Говнокод #3197

    +159

    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
    function key_exists_check($key,$ar)
    {
            if (empty($key))
                    $key = '0.001';
    
            strval($key);
    
            if (array_key_exists($key,$ar))
                    while (array_key_exists($key,$ar))
                            $key=strval(floatval($key)+0.001);
    
            return strval($key);
    }

    Другого решения не вижу - задача при добавлении в массив - делать уникальные ключи, которые типа float.

    atarix12, 12 Мая 2010

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /********************************************************************
    ОПЕРАЦИЯ ЛОГИЧЕСКОЕ ИСКЛЮЧАЮЩЕЕ ИЛИ
    ********************************************************************/
    static inline bool XOR(bool lhs, bool rhs)
    {
        return (lhs && !rhs) || ( !lhs && rhs);
    }

    Человек не знал, что есть стандартный xor...

    m08pvv, 11 Мая 2010

    Комментарии (22)
  8. C++ / Говнокод #3195

    +115

    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
    #include "iostream"
    
    using namespace std;
    
    int main()
    {
    	cout << "Vvedite storonu a:";
    	int a;
    	cin >> a;
    	cout << "Vvedite storonu b:";
    	int b;
    	cin >> b;
    	cout << "Vvedite storonu c:";
    	int c;
    	cin >> c;
    	int g=1;
    	while(g=1){
    		if(a==0||b==0||c==0){ cout << "Ne treugolnik";
    		break;}
    		if(a<=b+c || c<=a+b || b<=a+c){ cout << "Daaa!!! Treugolnik";}
    		break;}
    	return 0;
    }

    Вот как мы узнаем, треугольник ли это по сторонам.

    hromjo, 11 Мая 2010

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

    +225

    1. 1
    2. 2
    fstp qword [tmp]
    fild qword [tmp]

    суровое округление через память

    3.14159265, 11 Мая 2010

    Комментарии (26)
  10. Си / Говнокод #3193

    +136

    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
    int check_process(pid_t pid, char *search) {
      char file[1024], buf[1024];
      FILE *FH=NULL;
      int rc, ret=0;
    
      snprintf(file, 1024, "/proc/%d/cmdline", pid);
      rc = check_file(file);
      if (!rc) {
        // cmdline exists
        ret = 1;
        if (search) {
          // check if cmdline contains 'search'
          FH = fopen(file, "r");
          if (FH) {
    	bzero(buf, 1024);
    	while(fgets(buf, 1024, FH)) {
    	  char *p;
    	  while((p = memchr(buf, '\0', 1024))) {
    	    *p = 'X';
    	  }
    	  buf[1023] = '\0';
    	  if (strstr(buf, search)) {
    	    ret = 0;
    	  }
    	}
    	fclose(FH);
          }
        } else {
          ret = 0;
        }
      } else {
        ret = 1;
      }
      return(ret);
    }

    Суровые калифорнийские студенты суровы.

    raorn, 11 Мая 2010

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