1. C# / Говнокод #13890

    +105

    1. 1
    2. 2
    3. 3
    4. 4
    if (row["Enable"].ToString().ToLower() == "true" || row["Enable"].ToString() == "1")
             chState.Checked = true;
     else if (row["Enable"].ToString().ToLower() == "false" || row["Enable"].ToString() == "0")
             chState.Checked = false;

    В начале метода такая вот проверка.
    Дальше да же читать не стал.

    pipjaka, 03 Октября 2013

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public Agent[] GetChildAgents(Agent parent)
    {
    	if (parent == null)
    		throw new NullReferenceException();
    		
    	// ...some code...	
    }

    Перед смертью не надышишься, зачем оттягивать неизбежное.

    yamamoto, 02 Октября 2013

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

    +80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    ...
    SomeObject o = null;
    try {
        o = someGetOperation();
    } catch (Exception e) {}
    
    try {
        o.doSomeMethod();
        ...
    } catch (Exception e) {}
    ...

    1. второй try/catch это просто защита от NPE, который возникнет, если не прошел первый try
    2. catch-секции приведены как они есть в проекте - пустые и ловится всегда Exception

    в 95% проекта (>1000 классов) используются такие конструкции

    tir, 02 Октября 2013

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

    +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
    foreach ($item as $prop) {
                if ($prop['tag']==$this->props[0]){
                    $new_item['sku']=(int)$prop['value'];
                } else {
                    if ($prop['tag'] == $this->props[1]) {
                        $new_item['name']=$prop['value'];
                    } else {
                        if ($prop['tag'] == $this->props[2]) {
                            $new_item['price']=(float)$prop['value'];
                        } else {
                            if ($prop['tag'] == $this->props[3]) {
                                $new_item['is_spec']=(float)$prop['value'];
                            } else {
                                if ($prop['tag'] == $this->props[4]) {
                                    $new_item['spec_price']=(float)$prop['value'];
                                } else {
                                    if ($prop['tag'] == $this->props[5]) {
                                        $new_item['old']=(float)$prop['value'];
                                    }
                                }
                            }
                        }
                    }
                }
            }

    XML бессмысленный и беспощадный

    madfriend, 02 Октября 2013

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

    +151

    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
    class A {
        public function getUser() {
            .....
        }
        public function init() {
            ......
        }
    }
    
    class B extends A {
        ........
        // close some parent methods from outside
        public function getUser () {}
        public function init () {}
    }

    труЪ ООП: Инкапсуляция посредством полиморфизма!

    ragnar, 02 Октября 2013

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

    +149

    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
    <h2>Задать вопрос online</h2>
    <?
    if (isset ($_POST['message'])) {
    $name = @ trim ($_POST['name']);
    $contact = @ trim ($_POST['contact']);
    $phone = @ trim ($_POST['phone']);
    $message = @ trim ($_POST['message']);
    if (! $name or ! $contact or ! $message) echo ('<p style="color: red">Необходимо заполнить поле e-mail</p>');
    else { mail ("[email protected]",
          "Новое сообщение на сайте!",
          "$message \n\n E-mail: \n $contact", 
    	  "\n\n Телефон: \n $phone",
          "Content-type:text/plain; charset=utf-8");
          echo ('<p style="color: green">Ваше сообщение отправлено, спасибо!</p>');
          $_POST['name'] = $_POST['contact'] = $_POST['phone'] = $_POST['message'] = '';
    }
    }
    ?>
    <form method="POST">
    <p>Ваше имя:</p>
    <input name="name" value="<?=@$_POST['name'];?>"><br><br>
    <p>E-mail*:</p>
    <input name="contact" value="<?=@$_POST['contact'];?>"><br><br>
    <p>Телефон:</p>
    <input name="phone" value="<?=@$_POST['phone'];?>"><br><br>
    <p>Ваше сообщение:</p>
    <textarea name="message"><?=@$_POST['message'];?></textarea><br><br><br><br><br><br>
    <p><input type="submit" value=" Отправить "></p>
    </form>

    bugaaa, 02 Октября 2013

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

    +80

    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
    /**
       * Форматирует double, c arround кол-вом знаков после запятой
       * @param d double
       * @param arround int
       * @return String
       */
      public static String formatDouble(double d, int arround) {
        if (arround > 6) {
          throwIllegalFormat();
        }
        StringBuffer sb = new StringBuffer(10);
        boolean minus = d < 0;
        if (minus) {
          d = -d;
        }
        for (int i = 0; i < arround; i++) {
          d *= 10;
        }
        long l = (long) (d + 0.000000001);
        do {
          char digit = (char) ('0' + (l % 10));
          l = l / 10;
          sb.append(digit);
          if (--arround == 0) {
            sb.append('.');
          }
        } while (l != 0 || arround >= 0);
        if (minus) {
          sb.append('-');
        }
        return sb.reverse().toString();
      }

    glprizes, 02 Октября 2013

    Комментарии (5)
  8. Куча / Говнокод #13882

    +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
    if
    	(MatchPattern MatData Pattern:"MeshID *: *") and (
    		local	Params = (FilterString (SubString MatData 8 -1) ":")
    		Params.Count == 2 and (
    			MatData = (TrimLeft (TrimRight Params[2]))
    			MID = (Params[1] as integer)
    			if
    				MID < 1 or
    				MID > 1000
    			then
    				InputOK = false
    		)
    	)
    then (
    	...
    )

    MAXScript
    Чумачечая валидация ввода информации о материале по несложному паттерну:
    MeshID <Mesh material ID, a number from 1 to 1000>: <Material name>
    ...
    Use LINQ, Luke!

    3Doomer, 01 Октября 2013

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $duration_date = date(
        'Y-m-d H:i:s',
        strtotime(
            date(
                'Y-m-d H:i:s',
                strtotime($_REQUEST['task_start_date'])) . ' + ' . $_REQUEST['task_frequency'] . '  ' . $freq_type . ''
        )
    );

    Кто-то может это упростить ? Я уже устал

    __proto__, 01 Октября 2013

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private List<Ball> _balls;
    private Interaction GetInteraction(Ball ball) {
      foreach (var b2 in _balls.SkipWhile(b => b != ball).Skip(1)) {
          /* ... */
      }
    }
    
    var table = _balls.Select(GetInteraction);

    Откопал в своей проге.
    нужно было определить, какой шарик с кем взаимодействует раньше всего, притом если уже рассчитано взаимодействие 1 и 2 шарика (при рассчёте взаимодействий 1 и 2, 1 и 3, 1 и 4, ... и выделено самое раннее взяимодействие шарика 1), то взимодействие 2 и 1 рассчитываеть не надо. Таким образом, нужно было пройти все пары шариков так, чтоб первый встретился в списке раньше второго.
    Массивы, индексы и циклы? Не, не знаем такого. Только Select, только ФП, только колдовство со SkipWhile(b => b!=ball).Skip(1).

    Jean-Esther, 01 Октября 2013

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