`
一口三个汉堡
  • 浏览: 112903 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

写了一个1600行的软件后的感触

阅读更多

  因为大专只有上两年,就可以出来找工作,而我今年暑假也要出来找工作,很烦。。没什么把握,再加上这学期上三天放四天。。。所以每到周末就开始写代码。。上大学要遇到了最大的问题就是钱的问题,所以我就想写一个记账的软件。可以输入当天的收入和支出,和进行查询和分析。。。。之所以想到要自己写,是因为我在网上找了一个软件,结果是要钱的。。。我就说干脆自己写一个了。。

 

  然后开始写自己需求列表(就是功能表)。。画整个软件的结构图。。。。流程图。。。。接着对结构图进行分析。。画UML的类图(这学期开始学的)。。

 

  说实在在弄上面这些东西的时候,各种痛苦。。。我想应该有人理解我的这种痛苦。。但是因为看过几本工程的书,所以还是坚持了下来。。但是还是深深感觉到了自己的不足,就像--书到用时方恨少----我也深深的感觉到了自己对于JAVA的理解还不够,面对对象的思想还没有到够用的程度。。。。

在将要进行代码的编写的时候,我姑姑去世了,所以我就回家了。。

 

回来的那天,我把前面的弄的东西又删了又改了。。。

开始写代码。。。

这是我发现当前面的那些做得很详细的时候,写代码变成了只是解决问题的事了,只要去思考如何实现某个方法,某种效果。

感觉像是在做数学应用题。而且当把一些东西抽象出来,变成父类的时候,就会发现不用再去重复写那些代码了。效果都用父类去实现,子类便可以享受他爸爸给他的好处了。代码省了太多了

例如我写了一个数据管理类。。

那么收入数据管理类和支出数据管理类继承他,结果可想而知。。

 

因为我在学android应用的开发,对于MVC模式有点感觉了。

所以在这个软件中我就应用了,当我把软件耦合度降低时,发现错误的改正和效果的修改变得很简单,因为我不用去思考修改了这个,会不会影响其他的东西。数据的输出和输入也变得很容易了。。

 

 

当然除了对编写软件的理解,对于java语法的理解也有所增长。。

 

当时我正在编写对文件的读写。。出现了一个Bug,我读入数据时,没有数据,但发现文本上是有文字的。

 

那个bug我调了一晚上,睡了一觉,隔天上课,在学校实验室(当然只是几台破电脑,上的j2me)测试出来。

代码1:

 

	public static void main(String[] args)
	{
		try {
			FileWriter fw = new FileWriter("out_data.txt",false);
			FileReader fr = new FileReader("out_data.txt");
			BufferedReader br = new BufferedReader(fr);
			String str = br.readLine();
			System.out.println(str);
			fw.write(str);
			if(br != null)
			{
				br.close();
			}
			if(fr != null)
			{
				fr.close();
			}
			if(fw != null)
			{
				fw.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 代码2:

public static void main(String[] args)
	{
		try {
			
			FileReader fr = new FileReader("out_datas.txt");
			BufferedReader br = new BufferedReader(fr);
			
			String str = br.readLine();
			System.out.println(str);
			FileWriter fw = new FileWriter("out_datas.txt");
			fw.write(str);
			if(br != null)
			{
				br.close();
			}
			if(fr != null)
			{
				fr.close();
			}
			if(fw != null)
			{
				fw.close();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

 假如文件out_datas.txt中是存在而且有数据的,那么上面两种的代码出现的结果是不一样的。

代码1:输出的null,并抛出空指针异常

代码2:输出原来文件中的数据,并写入文件中。

 

两个代码的唯一差别在于FileWrite的位置,为什么???或许很多人都已经知道了,但是这是我自己想出来的。。。

当FileWriter的构造函数后面是false时,在创建对象时,就会把文件清空了。。所以才会造成FileReader没有获得数据,我当时也是因为这个原因。。

 

 

我喜欢编程的原因或许是因为可以看到自己的进步(当我写出一个以前写不出来的程序时),可以享受解决问题的成就感,

成就感---一种可以让人不断进步的动力。

0
3
分享到:
评论
2 楼 eryk 2011-03-21  
最后两句挺有同感,细想一下我也是因为这样才喜欢编程的

祝你成功。
1 楼 sdh5724 2011-03-21  
持续动手, 持续进步。

相关推荐

    软件学院软件工程实践感想

    在软件学院进行的软件工程实践中,我们深入地探讨了软件开发的全过程,从需求分析到设计、编码、测试,直至最终的维护与升级。这个过程中,我积累了丰富的知识和实践经验,以下是我对软件工程的一些核心理解和感悟。...

    软件测试培训感想

    软件测试后感想,进过中国评测中心的培训,对测试有了更深的了解!

    软件测试课程感想

    软件测试是软件开发过程中的一个非常重要的步骤,它可以确保软件的质量和可靠性。本文将对软件测试的基本概念、测试方法、测试流程和代码审查等方面进行详细的阐述。 一、软件测试的基本概念 软件测试是指对软件的...

    软件工程感想软件工程感想

    20世纪60年代,出现了“软件危机”——指在计算机软件的开发和维护过程中所遇到的一系列严重问题,例如,软件代价高、开发进度难以控制、工作量难以估计、质量差、修改和维护困难。为了解决这些问题,软件工程...

    如何写支教行活动总结感想.pdf

    如何写支教行活动总结感想.pdf

    追究海尔这一年-海尔工作一年后的感想所写原文 word 版

    追究海尔这一年-海尔工作一年后的感想所写原文 word 版。追究海尔这一年-海尔工作一年后的感想所写原文 word 版。追究海尔这一年-海尔工作一年后的感想所写原文 word 版。追究海尔这一年-海尔工作一年后的感想所写...

    通过软件设计师考试后的感想

    通过软件设计师考试后的感想,分享软考的经验和建议,帮助大家更好地备考和学习。 首先,要对软件设计师证有个正确的认识,它只是一张纸,有了它不能说明你水平就很强,没有它也不能说明你就不适合搞软件开发。你...

    软件测试感想

    然而,通过学习,作者认识到软件测试不仅仅是验证程序的正确性或找出错误,而是一个系统性的过程,旨在全面检测软件的各个层面,以确保其质量。 软件测试的过程涵盖了多个阶段,不仅包括错误发现,更重要的是涉及...

    写一小段防疫感想.docx

    写一小段防疫感想.docx

    学习中信银行发展史后的感想借鉴.pdf

    学习中信银行发展史后的感想借鉴.pdf

    软件测试课程总结感想.docx

    软件测试课程总结感想

    软件工程导论心得与感想分享.pdf

    软件工程导论心得与感想分享.pdf

    一个程序员的面试感想

    标题中的“一个程序员的面试感想”意味着这篇文章将聚焦于一个程序员在面试过程中的体验、反思和学习。作为程序员,面试不仅仅是技术技能的展示,也是沟通能力、问题解决能力和个人职业素养的综合体现。这样的文章...

    软件测试规范小结软件测试规范小结

    软件测试规范小结 软件测试规范小结 软件测试规范小结 软件测试规范小结 软件测试规范小结

    写日记感想作文.doc

    写日记感想作文.doc

    关于LINDO软件的使用说明及几个例子

    1. **求解过程**:LINDO首先寻找一个可行解,然后在确保可行性的情况下,进一步寻找最优解。如果出现不可行的情况,可能是由于约束条件设置错误或数据输入问题。在解无界的情况下,通常意味着问题的最大利润没有上限...

    winQSB软件及其中程序使用说明

    它为用户提供了一个直观的界面,通过图形化的方式帮助用户解决各种管理问题,如生产计划、运输问题、库存控制等。这款软件尤其适合于学习和应用单纯形法,这是一种解决线性规划问题的经典算法。 在提供的压缩包文件...

    养老院之行实践活动感想.docx

    养老院之行实践活动感想.docx

    软件性能测试之感想

    软件性能测试之感想软件测试对于性能测试,很多人不以为然!自然我们有时候也把会性能测试==会使用LoadRunner。诚然会使用LoadRunner是不错的,但性能测试不同我们常说的功能测试、界面测试。对于这类测试我们总可以...

Global site tag (gtag.js) - Google Analytics