Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
function AbstractControl_getProperty (propertyName) {
var targetElement = this.getTargetPath(propertyName);
var result = null;
if (this.isTargetAttribute(propertyName)) {
eval("result = targetElement." + this.getAttributeName(propertyName));
} else {
var getter = this.getGetterName(propertyName);
var expression = "result = targetElement." + getter + "();";
eval(expression);
}
return result;
}
Вот так наши "суровые челябинские" программисты, не имеющие представления об интроспективности javascript-а, повсюду злоупотребляют eval-ом, усложняя отладку и понимание кода.
По хорошему, вместо первого eval-а должно бы быть:
result = targetElement[this.getAttributeName(propertyName)];
а вместо второго:
result = targetElement[this.getGetterName(propertyName)]();
Комментарии (15) RSS