第三周内容

本周4人的项目确定了下来,为了实现四则运算小游戏,我们决定将严一格用js实现的程序重新用java实现一下,于是在昨天晚上我们进行了结对编程中,我有如下一些体会:

  • 当一个人在编程实现时,另一个人应该思考自己的解决方案,除非确定编程者存在错误时才能打断他,不然容易造成编程者思维混乱。
  • 编程的人应该明确的说明自己每一步要干什么,不能只是自己默默的实现而忽视了让合作者了解自己的意图。
  • 结对编程之前,两个人应该先交流对即将实现的问题的看法,而不是上来就急于开始编码实现。
  • 两人表达需要明确,不能模棱两可。

总体而言,本次结对编程的效果并不是很好。上面就是我两结对的时候存在的一些问题,但是,我也发现了结对编程的一些好处,在实现过程中,两个人往往可以讨论出更合适的实现方法,在我进行编码实现的时候,严一格有时可以快速的找到我实现的一些漏洞,他还指出了我一个严重的缺点,喜欢一次实现整个功能而忽视对每个部分的单元测试,这些都使我受益匪浅。

接下来讨论一下我的词频统计,这次我决定再添加一些功能,具体如下:

主要功能:

已完成的功能:词频统计,常用词表生成

正在开发的功能:文档分类功能

用户类型:

需要分类文档的用户:输入需要分类的文档路径,得到文档的分类。

需要词频统计的用户:输入需要统计词频的文档路径,得到文档的词频统计分布曲线和柱状图。

需要生成常用词表的用户:输入需要生成常用词表的文档路径与保持常用词表的文件路径,常用词表将会存储到文件中。

实现方法:

文档分类需要大量训练数据,这部分数据需要手动添加,分类方法暂定为我自己实现的KNN分类器。可以预见的是时间和空间代价都会很高,根据效果可能以后会改用scikit-learn开源包中提供的别的分类器,词频统计和生成常用词表已经实现。本周主要实现了一个knn分类器,具体参见这篇随笔,计划下周完成分类功能。

关于编码规范,我在网上找到了google编码规范的中文版,感兴趣的同学可以参考一下。

最后是时间表:

  开始时间  结束时间 净时间 活动
3-23 11:25  16:51 326 knn与kd树学习与python实现
3-23 17:51 19:16 85 写博客

  

原文地址:https://www.cnblogs.com/pengy813/p/5312417.html