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 ...
随机推荐
- BZOJ 1113 海报 单调栈
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1113 题目大意: N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(一)环境说明
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...
- pycharm同步
只有专业版的才能同步服务器 按照这个来:https://zhuanlan.zhihu.com/p/35067462 3.然后配置映射信息 local path是自己的工程的本地目录路径, Deploy ...
- jsp运算符
一.执行运算: 支持四则运算.关系(>;<....),逻辑运算(&&.||) 注意: +:只能进行加法运算,字符串形式的数字可以进行加法运算,这里的+号不能进行字符串的拼接 ...
- $\mathcal{Friends' \ \ Links}$友情链接
\(\mathcal{JuLao \ \& \ \ Dalao}\) \(\_rqy\) \(\_stdcall\) 并(吊)肩(锤)奋(死)斗(我)的\(Oier\) 王旭 苑骏康 张梓淳 ...
- 使用Java线程并发库实现两个线程交替打印的线程题
背景:是这样的今天在地铁上浏览了以下网页,看到网上一朋友问了一个多线程的问题.晚上闲着没事就决定把它实现出来. 题目: 1.开启两个线程,一个线程打印A-Z,两一个线程打印1-52的数据. 2.实现交 ...
- HDU 1978 How many ways(经典记忆化搜索)
S - How many ways Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- LNMP搭建 源码包
LNMP源码包搭建 linux CentOS-6.5-x86_64-bin-DVD1 nginx 版本1.8.0 下载地址:http://nginx.org/en/download.htm ...
- 生成定长随机数-可做3des密钥
3DES加解密需要密钥支持,要求为8的倍数,一般会使用32位的字母数字随机字符串作为密钥. 下面这个工具类,可用做key值的生成,详见下方代码: package test; import java.u ...
- 在Docker中安装.NET Core(使用命令行工具)
在Docker中安装.NET Core目前共有两种方法:1,使用命令行工具安装2,使用VS2017来安装 本文主要介绍使用命令行工具来安装: 1,安装Docker(如果本机已经有Docker环境,可以 ...