我们已经有了静态分析之类的东西,它可以告诉我们代码出了什么问题以及哪里出了问题,那么我们是否应该赋予我们的 IDE 更多的 AI 功能,如果是的话,哪些是?我正在寻找想法!
6 回答
检测重复代码是我的首要愿望;-)。
嗯......除了代码本身,如果机器可以“教授”一些 UI 标准,就元素布局而言,并且如果它与“人类友好”不匹配,则建议或更改布局,这可能会很有用。
我正在考虑诸如间距、文本大小、元素布局等。不知道这是否需要“真正的”人工智能来完成。
人工智能?就像在 Office 2000 中的那些“智能”菜单中一样?零!也许在 2700 年左右,人工智能已经超越了人类的智能。
更多静态/上下文分析?绝对地。这里还有很大的进步空间,老实说,我几乎欢迎任何事情。对人类的依赖太多了,计算机辅助分析是改变它的最好方法。
我有点喜欢桑德尔。我遇到的每一个应用程序试图变得聪明的实例,或者猜测我想要什么,它都是自动失败的。不要对我隐瞒任何事情,除非我确认,否则不要以为你知道我想要什么。Word 中的自动更正和自动替换之类的东西尤其令人沮丧。Intellisense 之类的很好,因为它们实际上并不猜测您想要什么,它们只是为您提供所有可能性的快速列表。
对于我们真的不知道如何在任意强大的计算机上完成的计算机项目来说,人工智能是万能的。因此,人工智能技术复杂、古怪且完全不可靠。(一旦人工智能技术变得可重复和可靠,它就不再是人工智能了。)你想要在你的 IDE 中有多少片状是另一个问题。
我不介意将一些人工智能作为分析选项,也许是为了注意到我没有注意到的不良代码气味。我不想让它一直开着,我当然也不想让它自己做任何事情。我认为它就像 Microsoft Word 语法检查器,它可以捕获大约两倍于我制作的语法不规则和不恰当之处 - 有用,但远非确定。
交互式代码覆盖测试会很棒。
m = 1;
if (m > 0) {
// do something
} else {
// do something else <- Never gonna happen.
}
像这样的事情会引发红旗。但是代码覆盖率测试必须是可选的或不引人注目的。由于有些人使用预处理器,并且 DEBUG = 1;