03 2018 档案
摘要:这周的个人项目让我感受到自己在编程方面的不足和缺陷,所以选择了《高效程序员的45个习惯》中的敏捷开发和敏捷调试两个章节进行阅读。 以下将对敏捷开发和敏捷调试展开详述。 【敏捷开发】 注释 | 以前写代码有时会为了写注释而写注释,既费时费力又显得多余而无效果,其实,在代码可以传递意图的地方不要使用注释
阅读全文
摘要:实践出真知。 不写一次软工大作业,就无法发现自己存在这么多问题。 以下列出自己感触比较深的几点: 选对方向很重要,拿到项目后不要急着动手,有一定程度的调研后再确定方向和具体的实践步骤。慢就是快! 写博客实际上是对自己项目运营一种比较好的自我监督方式,应该在项目进行时同步更新,而不是项目完成后再补。写
阅读全文
摘要:【空文件测试】(认为空文件行数为0) 【基本测试】 【大小写测试】 可以看出abcd同类型的词出现了三次,而单词树中存储的是ABCd,满足大小写要求。 【复杂文件测试】 前三项数据比较接近,但是单词和词组统计的个数稍有差异,因此导致了排名的差异。 【性能分析】 使用助教提供的数据集,在Release
阅读全文
摘要:考虑使用平衡二叉树实现单词和词组数目的统计。 二叉树节点定义: 节点中的成员char *word既可以存储单词,也可以存储词组。比较好的体现了该数据结构的复用属性。 【判断字符数逻辑】 逐字符读取文件,如果该字符在32-126之间,则字符总数+1。 【判断行数逻辑】 逐字符读取,如果该字符为‘\n’
阅读全文
摘要:需求分析 由于程序需要在Windows平台和Linux平台都能运行,因此对代码的可移植性有一定的要求 由于需要对文件夹进行遍历,因此数据量相对较大,需要选择合适的数据结构,在此项目中,树和哈希表都是可供选择的数据结构 由于对字符串的处理很多,因此需要选择一种合适的字符串表达方式,char* or s
阅读全文
摘要:PSP2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min) Planning 计划 45 40 Estimate 估计这个任务需要多少时间,并规划大致工作步骤 30 20 Development 开发 1000 1300 Analysis 需求分析 (包括学习新技术) 60
阅读全文
摘要:培根曾说过:“习惯真正是一种顽强而巨大的力量,它可以主宰人的一生”,威·詹姆斯有言:“习惯是社会的巨大的飞轮和最可贵的维护者。”这无一例外说明了习惯对于个体和整体的重要性。 想成为一名高效的程序员,良好的习惯必不可少。“思想决定行动,行动养成习惯,习惯形成品质,品质决定命运。“则诠释了程序员在养成良
阅读全文
摘要:【对一些实例的看法】 “我写了二叉树的遍历算法实现,在这里,二叉树是数据结构,遍历的实现细节是算法。C程序就是结果。但是这个程序有什么实际用处呢?在Java和其他一些语言中,似乎没有指针,那我可以不必了解二叉树么?”——数据结构是组织数据的方式,虽然不同的语言在实现这些方式时有所差异,但是核心的理论
阅读全文
摘要:滚滚长江东逝水,浪花淘尽英雄,是非成败转头空。 在这个信息技术高速发展的时代,有很多公司都曾经或者正处于互联网浪潮的巅峰,比如昔日的霸主:AT&T,雅虎,摩托罗拉;又比如现在的王者:苹果,IBM,谷歌等。这些公司都在某一段时期内在某一领域极负成就,推动了人类科技生活的变革,极大的提升了人们的生活水平
阅读全文