将Bug报告函数重构为Helper类



我一整天都在阅读关于Javascript类的文档,现在我想将Bug Report函数重构到它自己的类中,但即使我开始这样写我的类:

class bugReport {
constructor(x, y)
this.x = x;
this.y = y;
}

我努力思考如何开始将我的Bug报告的组成部分分解成Javascript类的格式。当涉及到报告特性时,x, y是什么?有没有一种方法可以让创建类的步骤变得更简单,或者有一种您遵循的模式?我将在下面附上我的原始bug报告代码,以给您一个我试图创建一个类的示例。

BugReport:

$("#bug").submit((e) => {
e.preventDefault()
const input = document.getElementById('nameInput');
bugInfo = {
"name": `[${ticket.id}] Bug report`,
"story_type" : "Bug",
"description": `+ ${urlHelper}` + " n" + `+ ${input.value}`,
}
reportBug(bugInfo).then(collapse.collapse('toggle'))
})
});
async function reportBug(data = {}) {
const url = 'exampleUrl'
const response = await fetch(url, {
method: 'POST',
headers: {
"Token": `${metadata.settings.token}`,
"Content-Type": "application/json"
},
body: JSON.stringify(data)
});
return response.json();
}

我不是真正的JavaScript专家,但我会这样做:

class Logger {
static async logInfo(data = {}) {
const url = 'exampleUrl'
const response = fetch(url, {
method: 'POST',
headers: {
"Token": `${metadata.settings.token}`,
"Content-Type": "application/json"
},
body: JSON.stringify(data)
});
return response.json();
}
}

另外,既然你问了pattern you follow,我建议你读一下Cross-cutting concern。以下是一些链接:

  1. https://en.wikipedia.org/wiki/Cross-cutting_concern
  2. https://www.c-sharpcorner.com/UploadFile/vendettamit/managing-cross-cutting-concerns-the-logger-and-logging/

相关内容

  • 没有找到相关文章

最新更新