2015-05-06 2 views
2

Я интересно Ваше мнение по поводу следующего кода:кодирования стиль в JavaScript

  this.skipAdmCharge = function (tot) { 
       if (FR.rynTag.hasOwnProperty('prodfix')) { 
        var prodfix = FR.rynTag.prodfix; 
        for (var prop in prodfix) { 
         if (prodfix.hasOwnProperty(prop)) { 
          if (prodfix[prop].key === 'ADM') { 
           tot.amt -= prodfix[prop].price * prodfix[prop].quantity 
          } 
         } 
        } 
       } 
      } 

и этот ниже:

  this.skipAdmCharge = function (tot) { 
       var prodfix = FR.rynTag.prodfix; 
       if (prodfix) { 
        for (var prop in prodfix) 
         if (prop && (prop.key === 'ADM')) 
          tot.amt -= prop.price * prop.quantity 
       } 
      } 

Какой из них вы считаете лучше? И если да, то почему?

Спасибо!

+4

Это не вопрос «стиля»; это вопрос правильности данной проблемы в данном контексте. Не зная контекста, невозможно дать ответ. – Pointy

+1

Поскольку они не делают то же самое, пример немного вводит в заблуждение –

+2

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что комментарий о рабочих программах подходит для codereview.stackexchange.com. – Barmar

ответ

-1

Оба имеют несколько нежелательных проверок ..

Пример в случае первого один if (prodfix.hasOwnProperty(prop)) не является необходимым В случае второго, if (prop && нет необходимости.

this.skipAdmCharge = function (tot) { 
    try { 
     var prodfix = FR.rynTag.prodfix; 
     if (prodfix) { 
      for (var prop in prodfix) 
       if (prop.key === 'ADM')) 
        tot.amt -= prop.price * prop.quantity 
     } 
    } catch (e) { 
     console.log("failed to calculate total amount in skipAdmCharge" + e.message); 
    } 
} 

PS: Я также новичок в JavaScript!

Смежные вопросы