1. Ruby / Говнокод #16813

    −93

    1. 1
    deals = Deal.joins(:deal_locations).select("deals.id, (SELECT array(SELECT category_id FROM deal_categories WHERE deal_id = deals.id ORDER BY category_id ASC)) AS category, deals.start_date, deals.end_date, deals.address, deals.theme, deals.alias, deals.metro, deals.district, deals.discount, deals.coupon_count, deals.issued_coupons, deals.main_image, count(*) OVER() AS total_count, trunc(abs(extract(epoch FROM age(deals.end_date, clock_timestamp()))/86400)) AS days_left").where("deal_locations.deal_id = deals.id AND deal_locations.location_id = ? AND deals.category_id IN (#{categories[0...-2]}) AND deals.id NOT IN (#{ex_deals.map{|e| e}.join(", ")})", params[:location].to_i).active.in_stock.limit(limit).offset(offset).order("deals.start_date desc")

    Rails. Да, да, активрекорд, я помню о тебе.

    adastreamer, 07 Октября 2014

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

    +73

    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
    for (int i = 1; i <= 3; i++) {
                if (i <= arr.length) {
                    xmlDocumentNode.setNodeValue("P_15_" + i, arr[i - 1].getNAME());
                    xmlDocumentNode.setNodeValue("P_16_" + i, arr[i - 1].getSERIAL());
                    xmlDocumentNode.setNodeValue("P_17_1_" + i, arr[i - 1].getPLANTMANUF());
                    xmlDocumentNode.setNodeValue("P_17_2_" + i, arr[i - 1].getPLANTMANUFNAME());
                    xmlDocumentNode.setNodeValue("P_18_" + i, arr[i - 1].getDATEMANUF());
                    xmlDocumentNode.setNodeValue("P_19_1_" + i, arr[i - 1].getPLANTREP());
                    xmlDocumentNode.setNodeValue("P_19_2_" + i, arr[i - 1].getPLANTREPNAME());
                    xmlDocumentNode.setNodeValue("P_20_" + i, arr[i - 1].getDATEREP());
                    xmlDocumentNode.setNodeValue("P_21_1_" + i, arr[i - 1].getDEFECT());
                    xmlDocumentNode.setNodeValue("P_21_2_" + i, arr[i - 1].getDEFECTNAME());
                } else {
                    xmlDocumentNode.setNodeValue("P_15_" + i, "");
                    xmlDocumentNode.setNodeValue("P_16_" + i, "");
                    xmlDocumentNode.setNodeValue("P_17_1_" + i, "");
                    xmlDocumentNode.setNodeValue("P_17_2_" + i, "");
                    xmlDocumentNode.setNodeValue("P_18_" + i, "");
                    xmlDocumentNode.setNodeValue("P_19_1_" + i, "");
                    xmlDocumentNode.setNodeValue("P_19_2_" + i, "");
                    xmlDocumentNode.setNodeValue("P_20_" + i, "");
                    xmlDocumentNode.setNodeValue("P_21_1_" + i, "");
                    xmlDocumentNode.setNodeValue("P_21_2_" + i, "");
                }
            }

    Обработка XML-таблиц. fillTable? не, не слышал

    Koshak90, 07 Октября 2014

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

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Оригинал
    
    <string name="create_table_report_sms">create table reportSms( id TEXT NOT NULL );</string>
    <string name="create_table_report_sms_pending">create table reportSmsPending( id TEXT NOT NULL, address TEXT, body TEXT, date TEXT );</string>
    
    Перевод
    
    <string name="create_table_report_sms">Создание таблицы отчета( id TEXT NOT NULL );</string>
    <string name="create_table_report_sms_pending">Ожидание создания таблицы отчета( id TEXT NOT NULL, address TEXT, body TEXT, date TEXT );</string>

    Android, сложности перевода.

    donbot, 07 Октября 2014

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

    +120

    1. 1
    stopPos.updateStopPositionPortPositionWithoutRedrawingOfIt();

    someone, 07 Октября 2014

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