周末午后,我正在家里疯狂的撸着代码,沉浸在Coding之中。这时候,女朋友急急忙忙的跑过来。
据 MIT Technology Review 报道,一位名为“Repairnator”机器人在 GitHub 上“卧底”数月,伪装成人类,查找错误并编写和提交修复补丁,结果有多个补丁成功通过被采纳。
在GitHub上,可以找到repairnator的介绍:
可是新闻说在GitHub上可以找到这个机器人提交的代码呀。
据报道,团队将 Repairnator 伪装成了一个名为 LucEsape 的 GitHub 用户,他们给 LucEsape 上传头像并填写个人资料,看起来就像是一个普通的开发者一样。
在GitHub上可以找到这位LucEsape的主页:
更重要的是,这位LucEsape一共关注的24个项目中,23个是Java项目,另外一个是JavaScript项目。看来他对Java还是挺感兴趣的啊。
并且,这位机器人开发者,还挺勤奋的。在过去的几个月中多次提交过代码。
让我们看一下这位机器人老兄提交的代码:
code 1 :
code 2 :
code 3 :
可以看到,LucEsape提交的代码中,大部分都是做NPE的修复。其实只是在很多静态代码扫描工具的基础上更近了一步,他提供了修改意见,然后做了pull request。
况且,他所有的提交也并没有被完全接受。比如下面这个commit就被作者拒绝merge了:
现代软件开发时非常复杂的,在开发过程中难免会出现错误。查找和修复bug是一件需要耗费大量资源的事情,虽然现在已经有很多成熟的静态代码扫描工具可以发现问题,但是还都需要程序员人工的改代码。
如果这类bug修复的机器人真的成熟起来,在代码交付之前,帮助开发团队寻找并修复一些Bug也是一件很不错的事情。
嗯嗯,那未来会不会出现更厉害的机器人,可以写代码的哪种呢?
关于这件事,你怎么看?