1. C++ / Говнокод #3801

    +163

    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
    long GetMicroseconds();
    
    CTvoid cLog::GetTime (char * acLocal, time_t tTime)
    {
      struct tm   ltLocalTime;
      struct tm * ptLocalTime;
    
      tTime       = time (NULL);
      ptLocalTime = localtime_r (&tTime, &ltLocalTime);
    
      sprintf(acLocal,"%04d%02d%02d %02d%02d%02d-%06ld",
                       ptLocalTime->tm_year+1900,
                       ptLocalTime->tm_mon+1,
                       ptLocalTime->tm_mday,
                       ptLocalTime->tm_hour,
                       ptLocalTime->tm_min,
                       ptLocalTime->tm_sec,
                       GetMicroseconds());
    
    }
    
    long GetMicroseconds()
    {
        struct timeval timeVal;
    
        if (0 == gettimeofday( &timeVal, NULL ))
            return timeVal.tv_usec;
    
        return -1;
    }
    
    cLog::__Write(...)
    {
        /* ... */
        tTime          = time(NULL);
        GetTime (acDataTime, tTime);
        /* ... */
    }

    R&D дали задание добавить микросекунды ко всем таймстемпам в логах.
    сказано - сделано.
    ну ведь никто не говорил что таймстемпы должны быть еще и консистентными.

    ЗЫ ну и time() надо вызвать раза два-три - для надёжности.

    Dummy00001, 28 Июля 2010

    Комментарии (16)
  2. bash / Говнокод #3800

    −126

    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
    start() {
      echo "starting Adaptec Storage Manager agent ..."
      kill `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
      sleep 2
      kill -9 `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
      sh /usr/StorMan/StorAgnt.sh >/dev/null 2>&1 &
      sleep 1
      echo
    }
    
                                                                    
    stop() {
      echo "stopping Adaptec Storage Manager agent ..."
      kill `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
      sleep 2
      kill -9 `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
      sleep 1
      echo
    }

    Кусок скрипта для RAID от фирмы Adaptec. Боюсь смотреть, что они там в java накодили.

    icCE, 28 Июля 2010

    Комментарии (12)
  3. PHP / Говнокод #3799

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # Подключаем MySQL класс
    a_import('libraries/mysql');
    $db = new MySQL();
    $db->debugging = TRUE;
    $db->connect();
    $db->charset('utf8');

    Код взят из CMS http://mobilecms.ru/

    Нет чтобы объявить свойства приватными, а начальные параметры передать в конструктор

    Aligan, 28 Июля 2010

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

    +168

    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
    $action=$_GET["action"];
    ...
    if($action==1){ ... }
    if($action==2){ ... }
    ...
    if($action==9){ ... }
    if($action!=1 && 
       $action!=2 && 
       $action!=3 &&
       $action!=4 &&
       $action!=5 &&
       $action!=6 &&
       $action!=7 &&
       $action!=8 &&
       $action!=9) print("<html><body bgcolor=".'"#000000"'." color=".'"#FFFFFF"'."><div align=".'"center"'."><h1><b>Ошибка! Такой страницы нет!</b></h1></div><!--*copyright*--></body></html>");

    crazy code

    XyHb, 28 Июля 2010

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

    +167

    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
    <?php
    /*///////////////////////////////////////////////
    Эта функция инклюдит файл.
    Все, что этот файл отправляет на вывод,
    не уходит на вывод, а возвращется этой функция
    
    Для работы, функция использует функции ob, 
    которые работают с буфером, поэтому 
    использовать их для друхих целей нужно очень 
    аккуратно и только, если вы знаете, 
    как все это функционирует
    ///////////////////////////////////////////////*/
    
    function s_file ( /*string-путь к файлу*/ $path )
    {
        ob_start() ;              //Запускает буферизацию вывода 
        require ($path) ;         //Запускает файл по адрессу  
        return ob_get_clean () ;  //Возвращает содержимое буфера или FALSE при ошибке
    }
    
    ?>

    Berliner, 28 Июля 2010

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

    +164

    1. 1
    LONG bShutdownCounter;

    Существует много баталий на тему венгерской нотации, есть много за и много против, но это - просто шедевр :)

    ryadovoy, 28 Июля 2010

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

    +130

    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
    public static string[] cInt = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
    
    ...
    
    bool cont = true;
    int i=0;
    string ss = "";
    
    ...
    
    while ((cont) && (i < e_number.Text.Length))
    {
      if (Array.IndexOf(cInt, e_number.Text[i].ToString()) > -1)
      {
        ss = ss + e_number.Text[i];
        num = Convert.ToInt32(ss);
      }
      else { cont = false; }
      i = i + 1;
    }
    if (ss == "")
    { num = 0; }

    Это повергло меня в ужас. Проверка, введено ли в e_number числовое значение и преобразование его в int.

    WalterSullivan, 28 Июля 2010

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public function Add()
    {
    $db->query ('DELETE FROM ' . $this->_table . ' WHERE clientId=' . $this->clientId . ' AND memberId=' . $this->userId);
    $db->query ('INSERT INTO ' . $this->_table . ' SET clientId=' . $this->clientId . ', memberId=' . $this->userId);
    return true;
    }

    без комментариев

    rtfm, 28 Июля 2010

    Комментарии (8)
  9. Python / Говнокод #3793

    −168

    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
    piarra=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
    piarrb=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
    
    result = []
    for i in range(len(piarra)**2):
    	result.append(0)
    
    def decr(a):
    	if a[-1]>0:
    		a[-1]-=1
    	else:
    		a.pop()
    		decr(a)
    		a.append(9)
    		if a[0]==0:
    			a.remove(0)
    		
    while piarra != [0]:
    	decr(piarra)
    	for i in range(len(piarrb)):
    		result[-1-i]+=piarrb[-1-i]
    	while(sorted(result)[-1]>9):
    		for i in range(len(result)):
    			if result[i]>9:
    				result[i]-=10
    				result[i-1]+=1
    				
    while result[0]==0:
    	result.remove(0)
    	
    sqrstr=''
    for i in result:
    	sqrsrt+=`i`
    print sqrstr

    Пи в квадрате. Оцените нетривиальность решений.

    htoto1, 27 Июля 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function ostatok($chislo1, $chislo2){
    	$delit=$chislo1/$chislo2;
    	$celoe=round($delit);
    	$ostatok=$chislo1-$chislo2*$celoe;
    	return $ostatok;
    }

    1. Всё можно было уместить в 1 строчку.
    2. Когда аффтору кода сказали о существовании функции fmod - он был немного в шоке.

    XyHb, 27 Июля 2010

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