Cooperate with Myself
(一)
第一周的第一批作业们。
且不说一周之内要看完我们的300多页的教材,也不说需要在维基的大批量的文献中海底捞针,单是这个四则运算的生成程序就让我从假期的迷糊状态中幡然觉悟了:哦!惊险刺激的新的学期开始了~!
第一周的作业是和自己合作的,或者说得明白一点就是和过去的自己合作,将自己以前的面对project的激情和动力重拾,将自己的以前的所学的知识和得到的技能重用,来为这学期的软件工程的项目好好做个热身。其实说实话,这个热身我觉得其实还是蛮充分的~
首先,来介绍一下本次作业里面的几个难点和要点吧~:
(1)需求中要求能支持分数的运算,即类似于1/7 + 5/6 = ?这种的式子。(针对这一点,我想大部分的人的代码中都要涉及到类和重载了吧)
(2)需求中要求实现括号参与运算的功能。(针对这一点,我想大部分的人的代码中都要涉及到中缀表达式,后缀表达式以及利用堆栈求解表达式的值了吧)
(3)需求中要求实现任意两个expression之间的相减不能有被减数小于减数的情况存在。(针对这一点,我想大部分的人的代码中都要涉及到边生成边计算的策略了吧)
(4)需求中要求任意生成的两个表达式不能相同,也不能经过有限次变换成为同样的表达式。(针对这一点,我想不同的人该有不同的策略了,但是无论如何都是要在这一点上费一些功夫了)
(5)接下来的难点应但属于选择C++作为开发语言的人群的了。(由于需求中的乘除法是中文的字符,于是编码的问题也成为了实现中的一个难点)
(二)丰满的理想和骨感的现实
丰满的理想
|
PSP2.1 |
Personal Software Process Stages |
Time |
|
Planning |
计划 |
|
|
· Estimate |
· 估计这个任务需要多少时间 |
40小时 |
|
Development |
开发 |
|
|
· Analysis |
· 需求分析 (包括学习新技术) |
6小时 |
|
· Design Spec |
· 生成设计文档 |
1小时 |
|
·Design Review |
· 设计复审 (和同事审核设计文档) |
0小时 |
|
·Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
半小时 |
|
· Design |
· 具体设计 |
2小时 |
|
· Coding |
· 具体编码 |
18小时 |
|
· Code Review |
· 代码复审 |
2小时 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
10小时 |
|
Reporting |
报告 |
|
|
· Test Report |
· 测试报告 |
1小时 |
|
· Size Measurement |
· 计算工作量 |
半小时 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
1小时 |
|
合计 |
42小时 |
骨感的现实
|
PSP2.1 |
Personal Software Process Stages |
Time |
|
Planning |
计划 |
|
|
· Estimate |
· 估计这个任务需要多少时间 |
40小时 |
|
Development |
开发 |
|
|
· Analysis |
· 需求分析 (包括学习新技术) |
8小时 |
|
· Design Spec |
· 生成设计文档 |
半小时 |
|
·Design Review |
· 设计复审 (和同事审核设计文档) |
0小时 |
|
·Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
1小时 |
|
· Design |
· 具体设计 |
2小时 |
|
· Coding |
· 具体编码 |
20小时 |
|
· Code Review |
· 代码复审 |
1小时 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
12小时 |
|
Reporting |
报告 |
|
|
· Test Report |
· 测试报告 |
半小时 |
|
· Size Measurement |
· 计算工作量 |
半小时 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
半小时 |
|
合计 |
47小时 |
程序性能分析

命令行运行时的状态


生成的答案算数表达式和相应的答案文件


待检测的算术表达式文件和待检测的答案文件以及检测的结果




Cooperate with Myself的更多相关文章
- Why ngx-uploader doesn't like to cooperate with .net core 2.x?
The POST action seems to have no effect on the .net core controller. If you put [IgnoreAntiforgeryTo ...
- 魅力 .NET:从 Mono、.NET Core 说起
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
- Fedora 24中的日志管理
Introduction Log files are files that contain messages about the system, including the kernel, servi ...
- spi子系统之驱动SSD1306 OLED
spi子系统之驱动SSD1306 OLED 接触Linux之前,曾以为读源码可以更快的学习软件,于是前几个博客都是一边读源码一边添加注释,甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了.主 ...
- November 3rd Week 45th Thursday 2016
Shared joy is a double joy, the same as your gift and idea. 与人分享,欢乐.灵感加倍. As a coder, I must work wi ...
- Your app declares support for audio in the UIBackgroundModes key in your Info.plist 错误
提交AppStore时候被拒绝 拒绝原因:Your app declares support for audio in the UIBackgroundModes key in your Info.p ...
- Hadoop 全分布模式 平台搭建
现将博客搬家至CSDN,博主改去CSDN玩玩~ 传送门:http://blog.csdn.net/sinat_28177969/article/details/54138163 Ps:主要答疑区在本帖 ...
- NopCommerce Alipay 支付插件
NopCommerce Alipay 支付插件 1.查找及下载NopCommerce Alipay插件 http://www.nopcommerce.com/p/963/alipay-payment- ...
- MIT 6.824 : Spring 2015 lab3 训练笔记
摘要: 源代码参见我的github:https://github.com/YaoZengzeng/MIT-6.824 Lab3: Paxos-based Key/Value Service Intro ...
随机推荐
- 基于汇编的 C/C++ 协程 - 背景知识
近几年来,协程在 C/C++ 服务器中的解决方案开始涌现.本文主要阐述以汇编实现上下文切换的协程方案,并且说明其在异步开发模式中的应用. 本文地址:https://segmentfault.com/a ...
- 用ASP.NET Web API技术开发HTTP接口
开发工具 Visual Studio 2013 SQL Server 2008 R2 准备工作 启动Visual Studio 2013,新建一个ASP.NET Web应用程序,命名为SimpleAP ...
- 【转】1.2 CDN的基本工作过程
1.2 CDN的基本工作过程 使用CDN会极大地简化网站的系统维护工作量,网站维护人员只需将网站内容注入CDN的系统,通过CDN部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商.跨地域的用 ...
- mac apache的使用
因为apache的安装目录/private/etc是默认隐藏的,所以我们需要通过文件夹前往/命令行的方法去找. 或命令行中输入: userdeMBP:~ user$ open /etc 然后都会打开相 ...
- oracle 查看删除重复数据
1.查询重复数据select * from 表名 where 重复字段(一般为主键)in (select 重复字段 from 表名 group by 重复字段 having count(WF_OID) ...
- oracle偏爱hostname
记住: 只要是在使用oracle他家的产品,比如oracle database , weblogic :或者诸如此类,等等,等等,随便别的什么东西 首先要查改: /etc/hosts 127.0.0. ...
- gettimeofday()函数来得到时间
gettimeofday()函数的使用方法: 1.简介: 在C语言中可以使用函数gettimeofday()函数来得到时间.它的精度可以达到微妙 2.函数原型: #include<sys/tim ...
- C++ 之const的使用
在类中,有时候为了避免误操作而修改了一些人们不希望被修改的数据,此时就必须借助const关键字加以限定了.借助const关键字可以定义const类型的成员变量.成员函数.常对象以及对象的常引用. co ...
- 字典树Trie树
摘自大佬博客 https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 给出n个单词和m个询问1.查询某个前缀是否出现过2.查询某个单词是否出现过 ...
- HDU 2767 Proving Equivalences(至少增加多少条边使得有向图变成强连通图)
Proving Equivalences Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...