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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #define TIME_MATCH    500 /* 5 seconds */
    #define TIMEOUT       2000 /* 20 seconds */
    ...
    if ((pPoint->dwTimer >= TIME_MATCH) 
        || (pPoint->dwTimer >= TIMEOUT)) {
    	    bNewDigit = TRUE;
          }

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

    qxoz, 07 Октября 2014

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

    +162

    1. 1
    var_dump(0 == 'true'); // bool(true)

    PHP, ты чего в этот курил раз?

    Может кто нибудь объяснит мне как PHP получает bool(true)?
    По отдельности они как bool(false) (0) и bool(true) ('true').
    Тем более true == false // bool(false)


    Ответ: PHP конвертирует 'true' в число (int) получается int(0), тем более 0 == 0.

    volter9, 06 Октября 2014

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SDL_Rect sr = {
    		e->outputRect.x,
    		e->outputRect.y+e->lineHeight*line,
    		e->outputRect.w,
    		sr.y + e->lineHeight };

    laMer007, 06 Октября 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if ( !empty($vendor) and strtolower(substr($record_title, 0, strlen($vendor)+1)) == strtolower("$vendor ")
    ) {
    $record_title = substr($record_title, strlen($vendor)+1);
    }

    Вырзаем из названия товара, компанию производителя.

    0r10n, 06 Октября 2014

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

    +156

    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
    $masterContacts = $masterClient->getContacts();
        for ($i=0; $i < count($masterContacts); $i++) {
          for ($j=$i+1; $j < count($masterContacts); $j++) { 
            if(!(strcmp($masterContacts[$i]->getFirstName(), $masterContacts[$j]->getFirstName()) && strcmp($masterContacts[$i]->getLastName(), $masterContacts[$j]->getLastName()))){
              echo $masterContacts[$i]->getFirstName() . ", " . $masterContacts[$i]->getLastName() . "==" . $masterContacts[$i]->getFirstName() . ", " . $masterContacts[$i]->getLastName() . "\n";
              foreach ($masterContacts[$i]->getFields() as $contact_i) {
                $contact_i->setContact($masterContacts[$j]);
                // $masterContacts[$i]->removeField($contact_i);
                // $masterContacts[$j]->addField($contact_i);
              }
              $em->remove($masterContacts[$i]);
              // $masterClient->removeContact($masterContacts[$i]);
              break;
            }
          }
        }
    
        foreach ($masterContacts as $masterContact) {
          for ($i=0; $i < count($masterContact->getFields()); $i++) { 
            $field_i = $masterContact->getFields()[$i];
            foreach ($masterContacts as $masterContact) {
              for ($j=$i+1; $j < count($masterContact->getFields()); $j++) { 
                $field_j = $masterContact->getFields()[$j];
                // if(!strcmp($masterContact->getFields()[$i]->getInn(), $masterContact->getFields()[$j]->getInn())){
                if(!strcmp($field_i->getXValue(), $field_j->getXValue())) {
                  // echo "compare :" . $field_i->getXValue() . " == " . $field_j->getXValue();
                  $em->remove($field_i);
                  break;
                }
              }
            }
          }
        }
    
        // echo $masterClient->getId();
    
        $mOrganizations = $masterClient->getOrganization();
        for ($i=0; $i < count($mOrganizations); $i++) { 
          for ($j=$i+1; $j < count($mOrganizations); $j++) { 
            if(!strcmp($mOrganizations[$i]->getInn(), $mOrganizations[$j]->getInn())){
              echo "compare :" . $mOrganizations[$i]->getInn() . " == " . $mOrganizations[$j]->getInn();
              $em->remove($mOrganizations[$i]);
              break;
            }
          }
        }

    mogafk, 06 Октября 2014

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
    
    VAR = MixedCaseText
    LOWER_VAR = $(call lc,$(VAR))
    
    all:
            @echo $(VAR)
            @echo $(LOWER_VAR)

    как реализовать портабельно lowercase функцию в GNU Make.

    как же я тебя временами лублу, мэйк.

    ЗЫ было случайно найдено в http://stackoverflow.com/questions/664601/in-gnu-make-how-do-i-convert-a-variable-to-lower-case

    Dummy00001, 06 Октября 2014

    Комментарии (37)
  7. Pascal / Говнокод #16801

    +88

    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
    program One;
    
    var
      a, b, c: integer;
    
    begin
      assign(input, 'input.txt'); reset(input);
      assign(output, 'output.txt'); rewrite(output);
      read(a);
      if a = 5 then
        Writeln('25')
      else if (a div 5 = 1) 
        then
        Writeln('Введите число, оканчивающееся на 5!')
      else begin
        b := a div 10;
        c := b * (b + 1);
        Writeln(c, '25');
      end;
    end.

    Dexius, 06 Октября 2014

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    mysql_query('select UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(Event.Time) - DATE_FORMAT(Event.Time,"%w") * 60 * 60 * 24), "%Y-%m-%d 00:00:00")) as GroupDate from ...');
    
    // и контрольный:
    $dateFormated = strftime($format, $GroupDate);
    
    // расшифровка (SPOILER):
    // автор пытался найти воскресенье предшествующее дате из Event.Time
    // и вывести его в формате YYYY-MM-DD

    нашел в процессе code review

    pronin, 06 Октября 2014

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

    +162

    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
    function makeRequest(params)
    {
        var tParams = new Object();
        
        try{        
            tParams.accepts = params.accepts
        }
        catch(e){}
    
        try{
            tParams.async = params.async
        }
        catch(e){}
    
        try{
            tParams.beforeSend = params.beforeSend
        }
        catch(e){}
    
        try{
        tParams.cache = params.cache
        }
        catch(e){}

    очередной тревел-стартап
    http://www.corteos.ru/Scripts/helpers.js

    tablecell, 06 Октября 2014

    Комментарии (12)
  10. Java / Говнокод #16798

    +74

    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
    // TODO: This is not the smartest way to implement the config
    public int getFileFragmentationLevel() {
      return config.getFileFragmentationLevel();
    }
    
    public void setFileFragmentationLevel(int fileFragmentationLevel) {
      config.setFileFragmentationLevel(fileFragmentationLevel);
    }
    
    public int getStackTraceOutputMethod() {
      return config.getStackTraceOutputMethod();
    }
    
    public void setStackTraceOutputMethod(int stackTraceOutputMethod) {
      config.setStackTraceOutputMethod(stackTraceOutputMethod);
    }
    
    public String getOutputDirectory() {
      return config.getOutputDirectory();
    }
    
    public void setOutputDirectory(String outputDirectory) {
      config.setOutputDirectory(outputDirectory);
    }
    
    // и так для всех филдов (геттеров/сеттеров) объекта config

    https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/reporters/XMLReporter.java
    Ну хоть признаёт.

    Actine, 05 Октября 2014

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