Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
182 views
in Technique[技术] by (71.8m points)

javascript - Is this redundant?

Is this redundant? Is there a simpler way to write this?

  if(e.range.getSheet().getName() == 'Estimate'){  
    var thisss = SpreadsheetApp.getActive().getSheetByName('Estimate');
  }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Yes. This is known as WET solution.

The DRY(Don't repeat yourself) principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system".

Simply put, If you trace a branch of code(say, a variable information), it should have a single line to the root of the tree/code and must not be repeated elsewhere in the code.

if(e.range.getSheet().getName() == 'Estimate'){  
  var sheet1 = SpreadsheetApp.getActive().getSheetByName('Estimate');
}

Here you have two branches(e.range.getSheet() and SpreadsheetApp.getActive().getSheetByName('Estimate')) to get to the same sheet object(sheet1). This can be modified as

var editedSheet = e.range.getSheet();
if(editedSheet.getName() === 'Estimate'){  
  //Do something with editedSheet here
}

Violations of DRY are typically referred to as WET solutions, which is commonly taken to stand for either "write everything twice", "we enjoy typing" or "waste everyone's time".


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...