1. Python / Говнокод #8472

    −87

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    # bad, bad SQLAlchemy!        
        def assemble(self, message):
            mdict = message.__dict__.copy()
            self.__dict__.update(mdict)
            
        def disassemble(self, message):
            mdict = message.__dict__.copy()
            instance_state = self.__dict__.get('_sa_instance_state')
            self.__dict__.update(mdict)
            self.__dict__['_sa_instance_state'] = instance_state
        # /bad, bad SQLAlchemy!

    Вот что приходится делать, если надо привязать класс к нескольким таблицам в SQLAlchemy

    Enchantner, 10 Ноября 2011

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

    +121

    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
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    	if ((textBox1.Text + textBox2.Text).Length + 1 > 255)
    	{
    		textBox1.BackColor = Color.LightPink;
    		textBox2.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox1.BackColor = Color.White;
    		textBox2.BackColor = Color.White;
    	}
    
    	if ((textBox3.Text + textBox6.Text).Length + 1 > 255)
    	{
    		textBox3.BackColor = Color.LightPink;
    		textBox6.BackColor = Color.LightPink;
    	}
    	else
    	{
    		textBox3.BackColor = Color.White;
    		textBox6.BackColor = Color.White;
    	}
    }
    
    private void bntSave_Click(object sender, EventArgs e)
    {
    	if (textBox1.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей От и Адрес в сумме не должна превышать 255");
    		return;
    	}
    	if (textBox3.BackColor == Color.LightPink)
    	{
    		MessageBox.Show("Длинна полей Кому и Адрес в сумме не должна превышать 255");
    		return;
    	}
    
    	Properties.Settings.Default.Save();
    	Navigator.Navigate(new ConfigMenuPage());
    }

    ТЗ: "Суммарная длина полей X и Y не должна превышать 255 символов"
    Решение шедеврально как по вычислению длинны суммы строк, так и по цветовой идентификации :)

    ddv_demon, 10 Ноября 2011

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

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    IGridCell IGridControl.this[int columnIndex, int rowIndex]
            {
                get { return Cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex); }
                set
                {
                    cells.Remove(cells.Single(c => c.OwningRow.Index == rowIndex && c.OwningColumn.Index == columnIndex));
                    cells.Add(value);
                }
            }

    вот такие вот индексаторы

    Ccik, 10 Ноября 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    if ($_POST["SAVE"]!="OK")
            $this->IncludeComponentTemplate();
    else
            $_POST=Array()

    оп оп

    atarix12, 10 Ноября 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function addOffer($type='vendor.model', $values) {
        switch ($type) {
          case 'vendor.model': $offer = new yml_type_vendor_model(); break;
          }
        // Заполняем значениями
        $offer->setValues($values);
       ......

    jonnywalker, 10 Ноября 2011

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

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // $reg_date = "12.12.2007 15:41";
    
    $this->reg_date = strptime($reg_date, "%d.%m.%Y %H:%M");
    
    // и теперь обратно. Казалось бы, все просто, ан нет!
    $rd = $this->reg_date;
    $reg_date = mktime($rd['tm_hour'], $rd['tm_min'], 0, $rd['tm_mon']+1, $rd['tm_mday'], 1900+$rd['tm_year']); //как это???
    $reg_date = strftime("%d.%m.%Y %H:%M", $reg_date);
    // нормально, у strptime и strftime порядок аргументов разный
    
    // $r_date == "12.12.2007 15:41"

    Попытался написать на PHP простенькую штуку, глаза на лоб полезли от того как там делаются элементарнейшие вещи. Скажите, что все можно сделать проще и я просто плохо читал документацию!

    hakimovis, 10 Ноября 2011

    Комментарии (34)
  7. Java / Говнокод #8466

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    protected static final Set<String> SUCCESS_STATUSES = new HashSet<String>(3) {
        private static final long serialVersionUID = 76234654856701L;{
        add(PROCESSING_COMPLETE_RESULTS_CLEAR.toString());
        add(PROCESSING_COMPLETE_WITH_RESULTS_INFORMATION.toString());
        add(NOT_PROCESSED_STATE_LIMITATION.toString());
    }};

    Эпичный способ создать статическую константную мапу без статического блока в основном классе

    roman-kashitsyn, 10 Ноября 2011

    Комментарии (12)
  8. JavaScript / Говнокод #8465

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var howMany = 3
    function rndnumber(){
    var randscript = -1
    while (randscript < 0 || randscript > howMany || isNaN(randscript)){
    randscript = parseInt(Math.random()*(howMany+1))
    }
    return randscript
    }

    AjiTae, 09 Ноября 2011

    Комментарии (7)
  9. Java / Говнокод #8464

    +78

    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
    public synchronized void add(Object obj){
    
    		if (!sequence.isEmpty()) {
    			if (sequence.size() == maxSize) {
    				sequence.remove(0);
    				sequence.add(obj);		
    			}
    			else 
    				sequence.add(obj);		
    		} 
    		
    		if (sequence.isEmpty()) 
    			sequence.add(obj);  
    		
    			
    		notifyAll();
    	}

    Альтернативный else.

    Connector, 09 Ноября 2011

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    @Override protected void finalize()
    {
        Runtime.addShutdownHook();
    }

    Здесь без комментариев...

    dwinner, 09 Ноября 2011

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