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

    +137

    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
    47. 47
    48. 48
    49. 49
    50. 50
    model.PID = row["PID"].ToString();
    model.Rect = row["RECt"].ToString();
    model.Pubt = row["PUBt"].ToString();
    model.Ex = row["Ex"].ToString();
    model.Prev_Vol = row["Prev_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Prev_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
    model.Curr_Vol = row["Curr_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Curr_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
    model.Mov_Vol = row["Mov_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Mov_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
    decimal tonavgvol = Tools.ParseDecimalValue(row["Mov_Vol"].ToString());
    decimal currentvol = Tools.ParseDecimalValue(row["Curr_Vol"].ToString());
    if (row["Mov_Vol"].ToString() != "" && row["Curr_Vol"].ToString() != "" && tonavgvol != 0)
    	model.VolRat = (currentvol / tonavgvol).FormatAmount();
    model.Open_Vol = row["Open_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Open_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
    model.Close_Vol = row["Close_Vol"].ToString() != "" ? Tools.ParseDecimalValue(row["Close_Vol"].ToString()).FormatAmountWithoutDecimal() : "";
    model.AllTicks = row["AllTicks"].ToString() != "" ? Tools.ParseDecimalValue(row["AllTicks"].ToString()).FormatAmountWithoutDecimal() : "";
    model.ATR = row["ATR14"].ToString() != "" ? Tools.ParseDecimalValue(row["ATR14"].ToString()).FormatAmountFourDecimals() : "";
    decimal open = Tools.ParseDecimalValue(row["Open"].ToString());
    decimal close = Tools.ParseDecimalValue(row["Close"].ToString());
    if (row["Open"].ToString() != "" && row["Close"].ToString() != "" && open != 0)
    	model.PrevDay = (((close - open) / open) * 100).FormatPercent();
    model.PrevClose = row["PrevClose"].ToString() != "" ? Tools.ParseDecimalValue(row["PrevClose"].ToString()).FormatAmount() : "";
    model.DayOpen = row["DayOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["DayOpen"].ToString()).FormatAmount() : "";
    decimal prevclose = Tools.ParseDecimalValue(row["PrevClose"].ToString());
    decimal dayopen = Tools.ParseDecimalValue(row["DayOpen"].ToString());
    if (row["DayOpen"].ToString() != "" && row["PrevClose"].ToString() != "" && prevclose != 0)
    	model.OpenGap = (((dayopen - prevclose) / prevclose) * 100).FormatPercent();
    model.SPYLast = row["TONSPLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONSPLast"].ToString()).FormatAmount() : "";
    model.TONOpen = row["TONOpen"].ToString() != "" ? Tools.ParseDecimalValue(row["TONOpen"].ToString()).FormatAmount() : "";
    model.TONHigh = row["TONHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["TONHigh"].ToString()).FormatAmount() : "";
    model.TONLow = row["TONLow"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLow"].ToString()).FormatAmount() : "";
    model.TONLast = row["TONLast"].ToString() != "" ? Tools.ParseDecimalValue(row["TONLast"].ToString()).FormatAmount() : "";
    model.EODHigh = row["EODHigh"].ToString() != "" ? Tools.ParseDecimalValue(row["EODHigh"].ToString()).FormatAmount() : "";
    model.EODLow = row["EODLow"].ToString() != "" ? Tools.ParseDecimalValue(row["EODLow"].ToString()).FormatAmount() : "";
    model.EODClose = row["EODClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODClose"].ToString()).FormatAmount() : "";
    model.SPYClose = row["EODSPClose"].ToString() != "" ? Tools.ParseDecimalValue(row["EODSPClose"].ToString()).FormatAmount() : "";
    model.PostVWAP = row["PostVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PostVWAP"].ToString()).FormatAmount() : "";
    model.PreVWAP = row["PreVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["PreVWAP"].ToString()).FormatAmount() : "";
    model.MainVWAP = row["MainVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["MainVWAP"].ToString()).FormatAmount() : "";
    model.AllVWAP = row["AllVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["AllVWAP"].ToString()).FormatAmount() : "";
    model.EODVWAP = row["EODVWAP"].ToString() != "" ? Tools.ParseDecimalValue(row["EODVWAP"].ToString()).FormatAmount() : "";
    
    decimal tonlast = Tools.ParseDecimalValue(row["TONLast"].ToString());
    decimal eodhigh = Tools.ParseDecimalValue(row["EODHigh"].ToString());
    decimal eodlow = Tools.ParseDecimalValue(row["EODLow"].ToString());
    decimal tonhigh = Tools.ParseDecimalValue(row["TONHigh"].ToString());
    decimal tonlow = Tools.ParseDecimalValue(row["TONLow"].ToString());
    decimal eodclose = Tools.ParseDecimalValue(row["EODClose"].ToString());
    decimal oedspclose = Tools.ParseDecimalValue(row["EODSPClose"].ToString());
    decimal tonsplast = Tools.ParseDecimalValue(row["TONSPLast"].ToString());
    
    // еще где-то 100-150 строчек в таком же духе

    ADO.NET во все поля.
    Бизнес-логика? Что это такое?

    P.S. У класса model все свойства типа string, у всех decimal переменных потом тоже вызывается ToString().

    vertu, 11 Апреля 2014

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static class Errors extends ArrayList<String> {
    	private static final long serialVersionUID = 1L;
    }
    
    private static class Notices extends ArrayList<String> {
    	private static final long serialVersionUID = 1L;
    }

    две большие разницы

    Lure Of Chaos, 11 Апреля 2014

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

    +153

    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
    public function filters($collection)
    	{
    		$className = $collection->modelName();
    		$filters = null;
    		$config = $this->getConfig($className)->admin_panel;
    		if (!empty($config['filters'])) {
    			$filters = $config['filters'];
    		}
            if (!$filters) {
                return $collection->raw();
            }
            foreach ($filters as $field => $value) {
                if (strpos($value, '||')) {
                    $or = explode('||', $value);
                    $where = "";
                    foreach ($or as $value) {
                        if (strpos($value, '::') !== false) {
                            $value = call_user_func(trim($value));
                        }
                        $where .= $field . '="' . $value . '" OR ';
                    }
                    $collection->where('(' . substr($where, 0, -4) . ')');
                } else {
                    if (strpos($value, '::') !== false) {
                        $value = call_user_func(trim($value));
                    }
                    $collection->where($field, trim($value));
                }
            }
    		return $collectio->raw();
    	}

    фильтруем коллекцию блять!

    greshnik, 11 Апреля 2014

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

    +154

    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
    var setIdToGridElements = function (gridId, gridConfig, idPrefix) {
    			var gridEl = Ext.get(gridId);
    			if (!gridEl) {
    				return;
    			}
    			var nodes = gridEl.dom.childNodes; // это массив всех элементов грида
    			var el;
    			for (var i = 0; i < nodes.length; i++) {
    				el = Ext.get(nodes[i].id);
    				if (el) {
    					var elements = el.dom.childNodes[i];
    					if (elements) {
    						var rowParameters = elements.children;				// это массив всех елементов строки
    						for (var j = 0; j < rowParameters.length; j++) {
    							var parameterEl = rowParameters[j].childNodes;
    							var newId = gridEl.id + '-' + gridConfig[0][j].key[1].name.bindTo + '-' + i;
    							parameterEl[1].className = "gridValue";
    							for (var k = 0; k < parameterEl.length; k++) {
    								parameterEl[k].id = newId + '-' + parameterEl[k].className;
    							}
    						}
    					}
    				}
    				// Выбираем все строки - элементы грида с ненулевым Id
    
    			}
    		};

    Авторские комментарии сохранены. Понимаю, что надо править и боюсь

    alex123098, 11 Апреля 2014

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

    +135

    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
    internal enum IsScanned
        {
            Create = 0,
            Scan = 1,
            Complete = 2,
            Error = 3,
            NoAccess = 4,
        }
    
    ...
    
    public int IsScanned { get; set; }
    
    ...
    
    if (details.IsScanned != (int)IsScanned.Create)

    paulem, 11 Апреля 2014

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

    +134

    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
    foreach (Admin _admin in _admins.Where(a => a.Login == _login))
                    {
                        if (_admin.Password == _password)
                        {
                            SessionObj = new Al2AllAuth
                            {
                                AccessId = _admin.Type,
                                Ename = _admin.Name,
                                Whoid = _admin.Id
                            };
                            var _type = (AdminTypes) _admin.Type;
                            switch (_type)
                            {
                                case AdminTypes.FirstType:
                                    return RedirectToAction(c_adminActionName, c_userControllerName);
                                case AdminTypes.SecondType:
                                    if (string.IsNullOrEmpty(model.Page) || string.IsNullOrEmpty(model.Uid))
                                        throw new ArgumentException(InternalResources.EmptyPageOrUid, "model");
                                    return RedirectToAction(model.Page, new { uid = model.Uid });
                                default: 
                                    break;
                            }
                        }
                        else
                        {
                            return RedirectToAction(_errorActionName);
                        }
                    }

    Лямбда в foreach очен смутила... Зачем?

    KonstantinK, 11 Апреля 2014

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

    +163

    1. 1
    $model = new $_POST['form_model'];

    Краткость,
    сестра таланта,
    Yii,
    FormController,
    ...

    BroadcastAddress, 10 Апреля 2014

    Комментарии (43)
  8. Си / Говнокод #15721

    +140

    1. 1
    http://yadi.sk/d/4HDnPUi2MCCRa

    Мисато и говнокод.

    Здесь мы видим пять прототипов WinMain'а подряд, а шестой, который чуть пониже, использует вывод типов сишкофичу int-по-умолчанию...

    P.S. Скорее всего этот пост заминусуют за оффтоп и передачу по ссылке, но я просто не мог не выложить этот снимок ;)

    bormand, 10 Апреля 2014

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

    +153

    1. 1
    $("#basketName").val($(this).parent().parent().find("span").text());

    Достался мне проект хз кем написанный, и я решил поменять кое-где в верстке <span> на другой элемент (из чисто эстетических побуждений). В результате появился баг в js, собственно, вот причина.

    mixalich7b, 10 Апреля 2014

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

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // Will we have a result object instantiated? If not - we'll simply return TRUE
    if ($return_object !== TRUE) {
    	if ($this->cache_on === TRUE && $this->cache_autodel === TRUE && $this->_cache_init()) {
    		$this->CACHE->delete();
    	}
    	return TRUE;
    }
    
    // Return TRUE if we don't need to create a result object
    if ($return_object !== TRUE) {
    	return TRUE;
    }

    Codeigniter / классика
    https://github.com/EllisLab/CodeIgniter/blob/develop/system/database/DB_driver.php#L668

    Fike, 09 Апреля 2014

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