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 ...
随机推荐
- jQ判断一个元素是否为空
// 方法一 if (!$('#jb51').html()) { //http://www.jb51.net 什么都没有找到; } // 方法二 if ($('#jb51').is(":em ...
- Python返回数组(List)长度的方法
其实很简单,用len函数: >>> array = [0,1,2,3,4,5]>>> print len(array) 同样,要获取一字符串的长度,也是用这个len ...
- Swift 实践篇之链式 UI 代码
https://blog.nswebfrog.com/2017/10/20/swift-practice-ui-chaining-code/
- 【高德地图API】从零開始学高德JS API(四)搜索服务——POI搜索|自己主动完毕|输入提示|行政区域|交叉路口|自有数据检索
地图服务.大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.假设说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血. 有个各种各样 ...
- 3130: [Sdoi2013]费用流
Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识. 最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量.一个合法的网络流方案 ...
- 为什么Github要把代码合并请求称为pull request而不是push request?
问题: 我的理解是:我做了一些修改,我请求把我的修改push到你的仓库,然后你review一下我的代码,如果没问题就接受请求merge,这样的话叫做push request岂不是更合适?因为这个操作是 ...
- 三,ESP8266 SPI(基于Lua脚本语言)
https://www.cnblogs.com/yangfengwu/p/7520260.html 重点是说SPI通信协议,,,, 不要害怕协议因为协议是人规定的,,刚好我也是人......规定的协议 ...
- day64
Day64 Django学习篇一 1.web应用 2.C/S和B/S架构 3.python中的web框架 a:socket b:路由跟视图函数的匹配关系 c:模板渲染 django: ...
- 第18章 SysTick—系统定时器
第18章 SysTick—系统定时器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
((GPIO_TypeDef *) GPIOA_BASE)表示将GPIOA_BASE强制转换为指针类型的结构体, #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) ...