[BUAA OO]第一次博客作业
第一次作业
第一次进行面向对象的编程,不论是针对数据设计类还是对方法进行合适的归于不同类中,都不是很熟悉。所写出来的程序还是面向过程+有函数的类(虽然现在很大程度上感觉起来也是这样)。索性作业难度并不算高,完成的也算马马虎虎。公测都通过了,但是互测的时候被发现了一处笔误,少写了一个0,导致6位的测试样例无法正常读入。并且由于我的检测输入的实现并不是通过正则表达式,而是通过简单粗暴的有限状态机,故而第一周并没有完整学习正则表达式。虽然有限状态机的设计并没有出错,但是没有尽早学习正则表达式也给我后面的作业留下了隐患。


第二次作业
第二次作业对于电梯的设计要求并不高,除了一个需要排除同质请求的要求外,基本上跟遛狗一样,哪里有需求就去哪里。对于这样的设计要求,我设计了一个nextTime数组来存贮下一次这一条指令允许被点亮的时间开始点。在设计请求队列的时候,我设计的方法是与前项的请求时间比较,但是我忘记了对即时项数减一,故而导致对于时间逆序的判断恒为正。导致公测有两个测试点没有通过。由于我上次作业并没有按照正则表达式进行设计,我这次的正则表达式实际上是第一次设计。虽然没有出现录入时的爆栈,但是在字符转换为整形变量的时候没有用try-catch进行设计,从而导致转换的时候出现爆栈。真的让我很心痛…这让我明白按照公测树针对性的进行测试输入样例的重要性,debug的时候一定要覆盖到所有细枝末节,不能通过看和想来分析。


第三次作业
这次的作业险些血崩。由于要进行指令的捎带,也就意味着我上一次所设计的nextTime数组要做很大程度上的修改,不仅next的时间要随着指令的完成而变化,对于同质的判断也要随之而改变。这让我真的头疼不已。我之前了解到了第二次作业有的同学使用了模拟时间的办法进行设计。我认为这种想法真的挺好,我当时认为可以通过设计按钮(通过按钮的点亮情况指导电梯的移动、通过其亮暗的情况判断同质),来把复杂的对于指令的判断交给所涉及的模拟来进行。但是,这种初期看似美丽的想法往往会变得很坑。随着设计的进行,我发现,这种模拟实际上就是在设计一种有限状态机,不仅需要根据指导书中所提及的情况来进行完整的cover,而且对于主指令以及捎带指令的判断是无法避免的。因为指导书中要求对于不同的指令类型做不同的行为(再次务必要强烈吐槽一下,为什么一次开门不能解决所有问题…)故而,实际上,不论做哪种实现,对于主指令和捎带指令的判断和刷新是永远无法避免的。于是,我就经历了每天中午美滋滋的以为自己做完了,下午看客服群&再读指导书,发现了我的程序有无数个没有正确实现的点,然后debug到一点钟。这样连续了两三天…不过,这真的让我明白了老老实实按照指导书所要求的进行实现是多么重要。


对于大一的时候并没有参加6系魔幻课程数据结构的高工学生来说,面向对象编程是我们第一门大量码代码的科目。相比已经经历过洗礼的6系同学来说,我们的压力确实不小。不过,我想,学习是一个过程,纵使我们起步慢,我们也可以追。对于程序的设计和维护也是一步步进行的,希望我再接下来的无数个作业中能做的更好。
[BUAA OO]第一次博客作业的更多相关文章
- OO第一次博客作业
OO第一次博客作业 一.三次作业的bug反省 1.自己发现别人的问题 (1)输入处理的问题,比如第一次作业,主要就是处理输入的字符串,然后有同学的正则表达式有问题,则对于一些错误输入就不能正确判断. ...
- oo 第一次博客作业
oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高 ...
- OO第一次博客作业--第一单元总结
OO第一单元总结 面向对象设计与构造的第一单元,对“面向对象”的概念还根本不理解不熟悉,只觉得需要“分模块”,但不知道怎么分,分多少模块,怎么根据需要的模块的功能建立类.学习的进度又太慢,根本跟不上出 ...
- OO第一次博客作业总结反思
使用了masteruml插件来生成类图和metrics插件分析代码 第一次作业 1.UML类图 >在第一次作业中,使用了两个类,代码中有没有使用的变量与函数,为平衡两个类的内容,我将输出函数放在 ...
- OO第一次博客作业(第一单元总结)
Q:菜是绿的,鸡是黄的,那菜鸡是什么颜色的? A:红的,强测全WA了,能不红么. 菜不菜的问题先不说了,认真研究一下这次的题目,以及WA的原因吧. 程序结构简析 三次实验的核心结构都是差不多 第一次的 ...
- [BUAA软工]第一次博客作业---阅读《构建之法》
[BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...
- Java第一次博客作业
第一次博客作业 目录 三次作业题目详情 作业中的错误分析 感想与心得 题目详情 题目1:第一次作业: 类图: 题目2 类图: 题目3 类图: 题目4 题目5 题目6 类图: 题目7 类图: 题目8 第 ...
- BUAA软件工程个人博客作业
软件工程个人博客作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标 团队完成好的软件,并对自己作出规划 这个作 ...
- OO第一次博客总结
虽然早在开学之前就已耳闻过OO这门课的威力,也在寒假自学了一些java的语法,但在真正面对OO这样的工程训练时才发现寒假所学的那点语法简直不值一提,也深刻的感受到在这个过程中自己的提升确实很快,毕竟d ...
随机推荐
- python pyspark入门篇
一.环境介绍: 1.安装jdk 7以上 2.python 2.7.11 3.IDE pycharm 4.package: spark-1.6.0-bin-hadoop2.6.tar.gz 二.Setu ...
- sar命令使用详解
一:命令介绍:参考资料:http://linux.die.net/man/1/sar sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工 ...
- Linux文件系统测试工具
一.文件系统测试工具简介 1.LTP 参考网站:http://oss.sgi.com/projects/ltp/ LTP(Linux Test Project)是由SGI和IBM联合发起的项目,提供一 ...
- django之models学习总结
from django.db import models # Create your models here. class Classes(models.Model): ''' 班级表 ''' tit ...
- 托管代码编写mssql存储过程
参考:http://wenku.it168.com/d_000642903.shtml 打开vs,创建数据库项目,添加新项,选择sql clr c#, 选择存储过程. 样例: [Microsoft.S ...
- P3702 [SDOI2017]序列计数
P3702 [SDOI2017]序列计数 链接 分析: 首先可以容斥掉,用总的减去一个质数也没有的. 然后可以dp了,f[i][j]表示到第i个数,和在模p下是j的方案数,矩阵快速幂即可. 另一种方法 ...
- P2154 [SDOI2009]虔诚的墓主人
略有一点点思维的题. 首先,如果一个点上,下,左,右分别有\(a,b,c,d\)棵树,那这个点的十字架方案为\(C_{a}^{k}C_{b}^{k}C_{c}^{k}C_{d}^{k}\). 按x坐标 ...
- cjoj P1435 - 【模板题 USACO】AC自动机 && 洛谷 P3796 【模板】AC自动机(加强版)
又打了一遍AC自动稽. 海星. 好像是第一次打trie图,很久以前就听闻这个思想了.OrzYYB~ // It is made by XZZ #include<cstdio> #inclu ...
- java多线程的简单demo
模拟场景:顾客买车从车库中取车,厂家生产车,车存储在车库中.买家.厂家对同一个车库中的车操作 一.不加同步机制的代码如下: package com.joysuch.testng.thread; imp ...
- 动态加载与插件系统的初步实现(三):WinForm示例
代码文件在此Download,本文章围绕前文所述默认AppDomain.插件容器AppDomain两个域及IPlugin.PluginProvider.PluginProxy3个类的使用与变化进行. ...