Github Next 现在在 GitHub Copilot 实验室中展示了一项新功能,允许您更改您编写的代码,使其更干净、更健壮并自动记录。
GitHub Copilot 令人难以置信,如果您检查作为Copilot Labs 扩展发布的预览中发生的事情,它只会变得更加惊人。
看一下这个:
让我们从检查字符串长度并在它为空时报告的基本 JavaScript 开始。一个明显的错误,因为我们使用单个 `=` 而不是类型安全的 `===`。这将始终将字符串报告为空。
如果(str.length = 0){
console.error('字符串为空');
}
使用“修复错误”画笔,这已得到纠正。
如果(str.length = 0){
console.error('字符串为空');
}
当字符串不为空时,使用“清洁”画笔还会添加报告。
如果(str.length = 0){
console.error('字符串为空');
} 别的 {
console.log('字符串不为空');
}
使用“列出步骤”画笔为步骤添加注释(当然,这是多余的,但它也适用于更复杂的代码)。
//检查字符串的长度
如果(str.length = 0){
// 如果长度为 0,打印 'String is empty'
console.error('字符串为空');
} 别的 {
// 如果长度不为 0,打印 'String is not empty'
console.log('字符串不为空');
}
使用 `Make robust` 添加错误报告而不是日志记录和额外检查以确保 `str` 确实是一个字符串而不是一个空数组。
功能测试(海峡){
如果(str.length = 0){
throw new Error('字符串为空');
} else if (typeof str !== 'string') {
throw new Error('这不是字符串');
} 别的 {
console.log('字符串不为空');
}
}
“添加类型”画笔正是这样做的。
/**
- @param {字符串} 海峡
- @returns {字符串}
*/
功能测试(海峡){
如果(str.length = 0){
throw new Error(‘字符串为空’);
} else if (typeof str ! ‘string’) {
throw new Error(‘这不是字符串’);
} 别的 {
console.log(‘字符串不为空’);
}
}
您还可以定义自定义画笔,并且还会有更多。
原文: https://christianheilmann.com/2022/12/13/code-brushes-for-github-copilot/