面向对象程序设计_Task7_Summary
Summary of the ...
题目链接:第七次作业
终于还是迎来了这学期的最后一次作业,唠叨话还是放最后说,先说说计算器这玩意儿吧
贯穿了整个学期的计算器,要是让我对自己做个评价,顶多只是还好这个么客套词吧
1.
你现在完成的计算器有哪些可以继续改进或完善的地方?
说到继续改进或完善的地方,估计一大堆吧,毕竟最后做出来的计算器只是最简单的界面实现
从第一次到第七次,应该说是惰性呢还是其他呢,即便有了一些新的想法要补充的,也会碍于太麻烦去实现或是自觉意义不大而止步。拿最近,就上一次的界面作业来说,在完成最基本的框架,转而思考用户交互(希望没有用错词)方面时,自然而然会萌生各种奇奇怪怪的想法,如果我使用这个计算器,怎样才能给我更好的操作体验= =...比如最基本的就是提示窗口,在用户产生错误操作时给出友好的提示信息,抑或是显示怎样的字体会看的更舒服,多大的窗口比较合适等等,或许也可以说是强迫症,但Maybe游戏玩多了很在意体验感,在基本完成之后就开始思考细枝末节的东西。
言归正传,对于我现在完成的计算器的话,很多的在上一次作业的评论中已经指出,那些点暂且不谈。除了这些已经指出的之外,我自己的思考的话,一个是类类间的调用关系,这是让我很纠结的一个问题,缺乏或者说不能很好的理解面向对象的思想,在文件的操作上不能思考出一个合理的类类关系;另外,上面所述的亦是需要完善的地方,除此之外,适当的添加更多的运算方法Maybe更破费!
2.
你是否有想过重构你所写的计算器?如果让你重构你的计算器,你会如何重构?请写出你的重构计划。
说实话的话,在看到这个问题之前,回答是没有。但看到之后不免会去想,重构?在已经深刻在脑海里的属于自己的计算器的框架感觉很难推掉重来。
重构,要的话第一刀砍的肯定是Printer类,猖狂了这么多版本不来波大削要上天了(毒...)
Printer类的文件操作简直就是个毒瘤
void Print::printResult_f(string inputAddr, string outputAddr)这个方法名字表达的功能是输出,然而它却处理了读取文件、协调调用等功能。
文件输入放在Scan里更合适一点吧?而协调调用应放在Main里面。
当时说是要改,但是在多次尝试之后并没有实际的下刀,因为不知道怎么下!有点绕来绕去绕晕了,重构的话,第一个要砍的就是将这个函数修改成不同类之间符合类实际功能的调用关系
此外,基本的框架在重构时并不会做大多的修改,思考过不在主函数而是其他类中生成Calculat的对象,但是感觉上并不太好。所以还是会在主函数中调用Calculator的对象,生成计算器界面,在根据不同操作调用类类的不同函数。
3.
课程总结,包括但不限于以下内容:
在这个课程中,你发了多少篇博客?
在这个课程中,你写了多少行代码?
在本学期的学习中,有哪些是经过博客作业后才学到的?
经过这学期的学习,你有哪些体会和感受?
今后在编程这一方面有什么计划?
算上这次,不知不觉发了10篇的随笔,数量还是少得可怜,但是确实是从0开始到了使用博客并发表了随笔,而且闲着无聊的时候也会逛逛博客园看看别人的帖子,也算是看到了新的一面了...
多少行代码...这种东西还真不好说,在完成品出来之前,经历过多次的修修补补,早就不知幕后有多少写了删删了写的代码,估的话也就几千行吧
github,算是印象比较深的吧,在经过博客作业后所学。当然,很多都是在作业过程中不断摸索不断学习的,markdown语法,QT,前缀、中缀、后缀表达式等等等等
体会和感受的话,啊啊啊啊啊啊,终于熬到瞎比比的时刻啦。这么多次的作业,很多都是在自己欢声笑语中/* 打出gg(尴尬...) */不断的改进自己的东西,应该说是蜜汁自信吗= =还是什么,对于每一次的作业都有种不怕死的想法,生生拖拖拖的才去做,就像现在,明明明天早上还有考试,一本书等着去预习,我还不怕死的在这里敲敲打打了半个晚上,话外吐槽请无视= =...当然,做计算器的过程中,等着更新版本还是很interesting的,有时候在写的时候克制不住整天都会在脑海里萌生各种摆脱不掉的想法,各种跃跃欲试的感觉,总之撇开学了什么不说,一次次的过程,还是一路欢歌的吧...
最后,计划。其实什么方面在自己试过之后在能知道,很明显,这一次的计算器其实也算是更提起了对这种能搞出实实在在的界面的东西的兴趣,而不是面对着黑框框,算是对之前停止学习JAVA之后又提起了点搞出不是黑框框的东西的热情。不过,在此之前,还是先让我在算法这一块洒点热血吧...
以上。
面向对象程序设计_Task7_Summary的更多相关文章
- [.net 面向对象程序设计深入](0) 开篇
[.net 面向对象程序设计深入](0)开篇 [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...
- [.net 面向对象程序设计进阶] (1) 开篇
[.net 面向对象程序设计进阶] (1) 开篇 上一系列文章<.net 面向对象编程基础>写完后,很多小伙伴们希望我有时间再写一点进阶的文章,于是有了这个系列文章.这一系列的文章中, 对 ...
- [.net 面向对象程序设计深入](6).NET MVC 6 —— 模型、视图、控制器、路由等的基本操作
[.net 面向对象程序设计深入](6).NET MVC 6 —— 模型.视图.控制器.路由等的基本操作 1. 使用Visual Studio 2015创建Web App (1)文件>新建> ...
- [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)
[.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...
- [.net 面向对象程序设计深入](4)MVC 6 —— 谈谈MVC的版本变迁及新版本6.0发展方向
[.net 面向对象程序设计深入](4)MVC 6 ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0 ...
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- [.net 面向对象程序设计进阶] (28) 结束语——告别2015
[.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...
随机推荐
- C编程基础
1. Hello World! 依照惯例首先Hello World镇楼: 1 #include<stdio.h> 2 3 int main(void) { 4 printf("H ...
- 2017.12.21-JQuery
作业:密码加强验证 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...
- WebForm 基础学习
C/S 客户端应用程序(Client/Server) 客户端——服务器端 两种技术 WinForm WPF ...
- MySQL闪退问题的解决
刚刚学习了数据库,并且安装了MySQL,正当高兴之余,发现我的MySQL出现了闪退的显现.上网搜了好久的解决方案.最后解决了这个问题,也舒心了. 问题从这里开始: 接着我打开MySQL,寻思能不能用, ...
- Netty接收到一个请求但是代码段执行了两次
这是因为HttpRequestDecoder把请求拆分成HttpRequest和HttpContent两部分, 所以在建立连接的时候建立了两次.
- Codeforces731C(SummerTrainingDay06-M 并查集)
C. Socks time limit per test:2 seconds memory limit per test:256 megabytes input:standard input outp ...
- 关于子元素的margin-top对父级容器无效
如果不想看那么长,看下面这句话就好了. 刚开始我没看到这个总结时一直是使用自己摸索出来paddin-top解决,发现该方式并不好.亲测给父级加一个overflow不为visiable的属性就直接解决了 ...
- node 静态伺服(搭建服务)
基本功能 不急着写下第一行代码,而是先梳理一下就基本功能而言有哪些步骤. 在本地根据指定端口启动一个http server,等待着来自客户端的请求 当请求抵达时,根据请求的url,以设置的静态文件目录 ...
- C3p0 的一个异常
转的,异常如下: NewPooledConnection - com.mchange.v2.c3p0.impl.NewPooledConnection@1285252 closed by a clie ...
- flume使用场景 flume与kafka的比较
Is Flume a good fit for your problem? If you need to ingest textual log data into Hadoop/HDFS then F ...