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 ...
随机推荐
- js字符串String常用方法
1. charAt() 返回指定位置的字符. str.charAt(index) index 为必须参数,类型为number(0到str.length-1之间,否则该方法返回 空串 ...
- jQuery html表格排序插件:tablesorter
ablesort是一款很好用的jQuery表格排序插件. 支持多种数据类型排序,会自动识别表格内容数据类型,使用也非常方便. 使用jQuery tablesort实现html表格方法: 1. 下载jQ ...
- Spring IOC 之 SmartInitializingSingleton
使用 实现该接口后,当所有单例 bean 都初始化完成以后, 容器会回调该接口的方法 afterSingletonsInstantiated. 主要应用场合就是在所有单例 bean 创建完成之后,可以 ...
- [Luogu 3707] SDOI2017 相关分析
[Luogu 3707] SDOI2017 相关分析 前言 Capella 和 Frank 一样爱好天文学. 她常在冬季的夜晚,若有所思地望着东北方上空的五边形中,最为耀眼的一个顶点. 那一抹金黄曾带 ...
- yarn的学习-1-包管理工具
https://yarn.bootcss.com 使用yarn的原因: 1.速度超快 Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载. 同时利用并行下载以最大化资源利用率,因此安装速度更快 ...
- Error at offset之反序列化
关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法. 首先我们分析一下为什么会出现这个错误: 编码问题 UTF-8: AN ...
- JAVA框架 Mybaits 动态代理
一.动态代理: mybaits给咱们提供一套动态代理,我们只需要按他的要求写接口即可,mybatis帮做动态代理,相当于咱们写的接口的实现类.底层通过反射实例化代理对象,通过代理对象调用相应的方法, ...
- CentOS中配置CDH版本的ZooKeeper
三台CentOS:Host0,Host1,Host2 在三台中分别安装zookeeper-server yum install zookeeper-server -y 修改zookeeper的配置文件 ...
- Ubuntu软件的安装和使用
windows 系统有很多的截图的软件 比如 QQ 浏览器什么的,但是ubuntu 还是很少的截图软件的接下来介绍一下ubuntu 的截图软件 1.键盘上的alt+printscreen 可以全屏幕的 ...
- scapy学习笔记(2)--包及包的定义
转载请注明:@小五义:http://www.cnblogs/xiaowuyi 一.包 包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”.其主要由“目的IP地址”.“源IP地 ...