软件测试

在代码重构过程中,有一个核心的步骤就是测试。

简单调研了一下常用软件测试工具后,决定使用google test这个工具进行软件测试。下面对所搜索到的资源做一个简单记录,以便日后查阅。


google test和googel mock有什么区别?

googletest 是一个类似于 unittest等的单元测试框架。可以对,类,函数等的功能进行测试。很好用。googlemock 是googletest的一个辅助框架,用于当类(A)没有编写时,造一个假类(MockA)模拟A的操作,以免必须A完成后才能测试。当然MOckA和A的接口要协商好,以免二者不匹配。一般情况下只用googletest 就可以了。


玩转Google开源C++单元测试框架Google Test系列(gtest)

论文泛读 | 谷歌AI预测源代码

Google开发了一个算法,用于编程时的源代码预测。
程序员再也不怕需求改来改去!谷歌大脑新突破:AI预测源代码

具体来说(举一个例子):

AI预测代码-图片1.png

且看State 2,当代码状态处于State 2时,预测的修改表征Likely Edit 3有两种可能,一是t=3: INSERT ', 1',二是t=3: DELETE ', y',那么应该选择哪种修改方式呢?取决于历史状态。历史状态State 0如果是History A,则预测为前者;如果是History B,则预测为后者。

【MARK】这让我联想到了HTM的序列预测模型。不过不同的是,HTM的输入对象和预测对象是同一类对象,而这里预测对象(可能的编辑)和输入对象(代码状态)是不同的对象。是否可以改进HTM网络的模型,使之更普适,也能兼容如是情形,进行代码预测呢?

比较感兴趣的关键问题:

  1. 是否建立了数据集?如果有,下载下来,可作为实践的根据。
  2. 如何表示代码状态和编辑内容?若要利用HTM进行实现,需要首先明确这个问题。
  3. 评价标准是什么?准确率?怎么定义准确率?

[转载] 如何阅读paper

论文阅读一直是科研过程中至关重要的一环,如何收集论文,快速选取和课题匹配的论文,高效地把握论文核心思想是每个科研人员的必备素养,也是每个科研萌新(硕士研究生)苦恼的问题。
台湾国立清华大学的彭明辉教授曾出版过一份《研究生手册》,其中关于论文阅读的内容详实精彩,将其整理如下,希望对大家有所帮助。


- 阅读剩余部分 -

[转载] 蒲慕明给实验室的一封信

“大约10年前,著名华人生物学家蒲慕明先生曾经有一封邮件在网上广为流传,这封邮件是蒲先生语重心长写给自己实验室所有博士和博士后的,其中的观点我完全赞同。无论是在普林斯顿还是在清华大学,我都把这封邮件转发给实验室的所有学生,让他们体会。”
——施一公

“所有成功的科学家一定具有的共同点,就是他们必须付出大量的时间和心血。这是一条真理。实际上,无论社会上哪一种职业,要想成为本行业中的佼佼者,都必须付出比常人多的时间。”
——蒲慕明



- 阅读剩余部分 -

主机狂想

假设我们不知道计算机的运行原理,不知道关于它的任何知识。我们接触到了这样一个东西,它从外观上看是一个黑箱子,有一个显示窗口,让我们知道它所希望表达的内容;桌面上放着一个板状物体和一个梭装物体,我们在好奇心的驱使下,摆弄桌面上的两个物体,发现显示窗口会做出不一样的反应。

我们觉得非常神奇,桌面上这个笨重的家伙可能有“意识”,竟然能与我们交流!?

于是我们开始与它进行交互,发现它在我们外界的不同刺激下,会做出不同的反应。莫非它也在思考吗?这个神奇的生命,它的本质是什么?它为什么要存在于这个世界上?

- 阅读剩余部分 -