1. 项目预计的用时

其实刚开始以为这个项目不难写,因为上学期oo课程上用java写过类似的程序(貌似还比这个复杂)。觉得主要的难点在于学习c++语言。

总的项目被分为大概3个部分。

其一,文件遍历。由于刚开始学习c++ 所以计划用时较长,2-3小时

其二,字频统计。整个程序的kernel,是程序正确性和效率的关键点,需要认真写。计划3.5小时+。Ps(学习正则表达式,+1小时)

其三,排序输出。程序的结尾,也是最简单的阶段。1小时。

最后,就是整个程序的调试,修正bug,提高算法效率等。时间不定。

2. 项目实际用时

总的来说,总的时间和估计时间差不多。但是,由于时间不是连续的,所以很难统计。

还是错误估计了c++入门所需要的时间。比如找到文件的遍历所用的库就很麻烦,看api学习语法也花费了很长时间。这一部分占据了项目时间的5成以上。

做完程序,感觉程序的难点(花费时间最多的)是学习而不是编程。程序看似很复杂,其实用正则表达式思路就很清晰,代码量也很小。编程的难度(逻辑的复杂度)也不大。

In conclusion9小时整块时间(但是有时候吃吃零食,发发呆把这些加上大概13小时——这是病,得治求推荐好的医院!!)

3. 项目的表现和性能的分析

这个部分要感谢天神和张大神,他们给了我很多启发,也使我对自己的程序有了一丢丢的自信。。。(错了就不给分的设置真坑爹,不得不吐槽,完全不合理啊,最起码也要按测试点给分啊。谁的程序一点bug都没有,满满的不满 = =)。

咳咳,吐槽好像多了点,回到正题。第一次用vs,对各种功能不熟悉,看到分析真心觉得高大上啊。可惜就是看不太懂,努力学习。

第一次测试的test文档很短,就不断出现

第一次吓死我了,还以为程序错了,喝一口水冷静下。

经过询问同学and 分析,可能cpu执行时间太短,来不及分析数据。后来,分析了 2014年6月英语六级真题及答案(高大上有木有)

得到结果1:

 

结果2

 

两张图对一个数据分析,差别有点大啊。不仅是cpu时间,而且占用百分比也不一样。不知道为什么。能不能找到一个合理的函数来在一定程度上量化呢。。。?这里需要好好思考下

附上其他测试图

函数调用过程

 

函数独占样本

 

最后,感觉自己的程序提高空间还很大,可惜没有时间了。希望下次赶紧治好拖延症。(绝对不会因为自己耽误小组作业。。。我发四)

 

程序改进的想法(来不及实现):

1.普通模式,e2,e3其实很多代码是重复的我,完全可以规约成一个函数,这里严重拖慢了效率。

2.输出排序是用了选择排序,原因是一直没有搞懂c++的sort机智,排序老出错,没办法只能写一个简单的,所以这里也浪费了很多的时间。明天去问问丁大神。

3.Map容器不好根据key值分析,所以申请了list来保存,这里浪费了很多的空间,如果有更好的方法,这里的可提高空间很大。

4.其他细节,如变量的使用,有的申请了但没有用。

 

 

4. 项目的测试样例

1.测试代码对单词的识别能力

输入:a aa aaa aa1 1aa 1aaa aaa1aaa abb%*&^^*&^)(ss a **_)(*_(*(__*sasas

输出:<aaa>:1

<aaa1aaa>:1

<abb>:1

<sasas>:1

Correct

2.测试代码合并大小写的功能

输入:apple apple2 Apple APPLE app APP ios ioS

输出:<APPLE>:3

<APP>:2

<ioS>:2

<apple2>:1

Correct

3.测试排序能力

输入:apple  appl apple a1pple aPP

输出

<apple>:2

<aPP>:1

<appl>:1

Correct

4.测试6级真题

输入:

输出:

没有办法确定自己的正误,但是按照自己的想法,基本应该没错。

5.测试多层目录

测试了自己的工程文件

输出:

目测正确。

6.测试六级英语的2-word 和3-word

2-word 结果如下

3-word

 

测试到这里,真想说:妈妈再也不用担心我的英语了(哈哈 没吃药。。)

7.空目录

正确

5. 收获和体会

发现其实语言是相通的,在学校应该更多的关注于基础理论和实践能力,不要想着java现在很火,我去学java。过两天又去学swift。语言都是大同小异的,有了好的计算机基础能力,学习语言是很快的。编程的重点不是语言,而是怎么驾驭语言。是思想,或者说是组织语言的能力。

多与大家交流是很能促进进步的。刚开始自己再看语法和api文档,找了很久都摸不着头脑,然后没办法,去问大神。在和大神交流的过程中学习是很快的,大神也给我介绍了map容器。大大降低了编程复杂度。闻道有先后,别人身上总有值得学习的东西,交流是很好的学习平台。

工具的重要性。以前写代码都在vc 6.0的平台上。Vc 6.0 bug多,而且ui设计的很不好,功能也少。第一次用vs就有很大的收获。比如词法分析,自动补全,提示等等。磨刀不误砍柴工,好的工具确实能够事半功倍。

优化的重要性。以前总觉得代码写完就好,自己很少注意优化,尤其是细节方面的优化。但有时候,改动一下,代码的时间效率就会发生很大的变化。尤其是对循环内部的改动,效果也是惊人的。

 

写完了,睡觉 呼呼呼~~~~

转载于:https://www.cnblogs.com/kjzxzzh/p/DXdx.html

SE Class's Individual Project--12061161 赵梓皓相关推荐

  1. 第二次阅读作业--12061161 赵梓皓

    阅读笔记之No Silver Bullet 本文中,作者的观点是没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍(1986) 作者列举的原因是 代码的完成分为两部分: 抽象(建模)和 代码实 ...

  2. 读书问题之《编程之美》 -----12061161 赵梓皓

    我阅读的书是<编程之美> 刚开始的时候阅读序,就觉得控制cpu利用率这个问题很好玩,所以重点看了这部分和解决办法,问题也都大部分是这部分的.那么问题就来了(挖掘机技术xxx?中国山东找蓝翔 ...

  3. 哈尔滨计算机职业学校赵梓琦,哈尔滨赛区复选晋级名单

    2019年5月25日.26日,秉持公开.公平.公正的原则,第二届全球华语朗诵大赛暨第五届"曹灿杯"青少年朗诵展示活动哈尔滨赛区初选活动已经完成,经过大赛总监审.嘉宾评委组.赛事视频 ...

  4. 考拉阅读CEO赵梓淳:如何利用AI、语言学做出国内首个中文分级阅读系统?

    在一批在线教育试水者当中,赵梓淳带领的考拉阅读有点不太一样. 因为国内做分级阅读的虽然不多,但是做中文的分级阅读,国内目前却仅有他们一家. 考拉阅读CEO赵梓淳 在在线教育这个领域,考拉阅读算是一名新 ...

  5. Individual Project - Word frequency program-11061171-MaoYu

    BUAA Advanced Software Engineering Project:  Individual Project - Word frequency program Ryan Mao (毛 ...

  6. 中国光纤之父赵梓森逝世 享年91岁:拉出了我国第一根光纤

    12月15日,据光明日报消息,光纤通信专家,中国工程院院士,华中科技大学博士生导师赵梓森,因病医治无效,于2022年12月15日在武汉逝世,享年91岁. 据介绍,赵梓森是我国光纤通信技术的主要奠基人和 ...

  7. 《软件工程》individual project开发小记(一)

    今天周四没有想去上的课,早八点到中午11点半,下午吃完饭后稍微完善了一下,目前代码可以在dev c++和vs2012上正常运行,性能分析我看资料上一大坨,考虑到目前状态不太好,脑袋转不动了,决定先放一 ...

  8. Individual Project

    这次我自己完成了一个小小的项目,课可以把这篇随笔当做一次实验报告,主要的内容是用JUnit进行单元测试.由于我的技术太弱了,就在博客园里"求师",按照大神的方法慢慢把这些东西写了下 ...

  9. Project: Individual Project - Word frequency program----11061192zmx

    Description & Requirements http://www.cnblogs.com/jiel/p/3311400.html 项目时间估计 理解项目要求: 1小时 构建项目逻辑: ...

最新文章

  1. 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)
  2. s:property的用法
  3. python内置json模块的作用_python详解json模块
  4. 实战分享|数据驱动「付费转化」的3个思路
  5. Linux编译C没有文件名,crt1.o linux x64上没有这样的文件c编译错误
  6. 表示探索、探究的几个词
  7. [过年菜谱之]萝卜炖羊肉
  8. centos7.0上安装五笔输入法
  9. TM2008 preview4 / QQ2009 preview 聊天记录保存位置修改
  10. 前端用户体验提升系列(一)最常见的用户体验指标和提升方式
  11. jenkins(一)------Windows环境下jenkins下载和安装
  12. this关键字的作用
  13. 实验三 vi编辑器(Linux基础教程)
  14. Mac运行已安装软件提示“XXX 已损坏,打不开。移到废纸篓/推出磁盘映像。”解决方法
  15. CCF NOI1107 成人礼
  16. A股股票程序化自动交易量化软件
  17. 【学习总结】《Unity3D网络游戏》Part 1
  18. 百度网盘关了外链采集接口,如何采集百度网盘外链? 采集各大网盘搜索引擎
  19. SSD,NCC,Lucas-Kanade模板匹配,目标跟踪
  20. Web设计人员的云存储

热门文章

  1. Hint 使用--leading
  2. android高德地图使用教程,Android 之 高德地图学习 一 基本地图
  3. STM32直流减速电机控制篇(一)PWM调速
  4. JAVA WEB3J与ganache以太坊环境交互
  5. C++ 小游戏-球球飞车
  6. jQuery插件之form
  7. 国内十大人工智能网站
  8. UE4开发七:UE4打包
  9. python keyboard backspace_selenium键盘按键Keys类及键盘码详解
  10. 【Linux】Linux中的文件搜索和查看