`
oray2011
  • 浏览: 7285 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

TDD之Swing一个另类的计算器实现心得

    博客分类:
  • TDD
阅读更多

TDD这个看起来不走很简单的方法学,却蕴含了很多的哲理。初入TDD还有很多的问题希望大家给出自己的意见及见解~!

希望通过发布这个程序寻求志同道合的人员;深入讨论TDD,如果大家有一些关于TDD讨论社区的话,希望不要揣在怀里,拿出来分享一下。该程序还有一些缺陷,如:计算精度问题,如果有人熟悉这方面的话,可以指出;

经过一番的开发方法学习之后,我觉得TDD是我们程序员的所需要的,Benck说过这样的一句话:测试是程序员的”试金石“。这一点也不为过,虽然刚开始时,开发周期比较长,开发效率低微,项目不能得到合理的评估,但有一点我可以肯的是:通过测试的反馈,可以吸收大量的编程经验。这对于像我们这样的人员(业务或项目经验欠缺的人)来说,是非常值得追随的。

开始步入TDD时看着那么几条简单的原则却让人心灰意冷!主要原因在于:

1.什么时候进行测试?

2.在测试之前,如何用自己的语言描述将要添加的功能?

3.如何使用“隐喻”描述将要测试的特性?一个合理的“隐喻”将省去许多不必要的麻烦、压力。

4.如何编写测试?自底向上还是自顶向下?

5.如何测试?

6.如何写出易测试、易阅读的代码?

7.如何让测试通过?

8.如何重构?

9.测试覆盖率?

等等,都是我在使用TDD是所碰到的,有不同的意见希望大家指证。

开发环境:

Intellij IDEA 10+

JDK 1.6+

 

分享到:
评论
2 楼 oray2011 2011-06-02  
呵呵,上面不是有开发环境吗!要使用Intellij因为程序使用了Intellij的FormLayout
1 楼 senhui19 2011-06-02  
Exception in thread "main" java.lang.NullPointerException
	at com.cn.sasion.expression.ui.CalculatorUI.<init>(CalculatorUI.java:45)
	at com.cn.sasion.expression.ui.CalculatorUI.main(CalculatorUI.java:153)
Java Result: 1


运行有错误,发现那个new CalculatorUI().contentPane根本就没有初始化哦,报空指针异常,这是怎么回事呢??

相关推荐

    测试驱动(TDD)开发的简单计算器程序

    在"测试驱动(TDD)开发的简单计算器程序"这个项目中,开发者使用了C++语言来实现一个四则运算器,涵盖了加法、减法、乘法和除法等基本功能。 首先,TDD的核心流程是红-绿-重构,即: 1. **红色阶段**:编写失败的...

    CalculadoraTDD:在TDD中开发的计算器

    "TDD计算器 在TDD中开发的计算器" 这段描述进一步确认了该项目是采用TDD方法来实现一个计算器的功能。TDD的核心理念是"红色-绿色-重构",即首先编写失败的测试(红色),然后编写最小的代码使测试通过(绿色),最后...

    TDD数字对讲机的设计与实现

    能为无线通信系统提供一个低成本的解决方案"本文结合现有的 无线通信技术!单片机技术以及语音编码调制技术等,研究和探 讨了数字对讲机系统的TDD通信协议方案和整体结构"接着对微 处理器!语音处理器和射频芯片进行了...

    StringCalculator:使用TDD方法的字符串计算器

    在这个项目中,我们将会探讨如何使用Java语言来实现一个字符串计算器,并遵循TDD的原则。 首先,让我们了解测试驱动开发(TDD)。TDD是一种软件开发方法,它强调在编写实际代码之前先编写测试。这种方法的主要步骤...

    TDD测试驱动开发

    - **红**:首先编写一个失败的测试用例,确保测试框架运行正常,并且当前功能尚未实现。 - **绿**:接着编写最简化的代码,使测试用例通过。这里的目的是使测试从红色(失败)变为绿色(成功),而不是实现完整的...

    wifi TDD 时间同步及分时调度方案

    分时调度的实现方式是通过在 MAC 层中添加一个时隙调度模块,该模块由缓冲队列、定时器模块和链路调度器三部分组成。 其中缓冲队列用于接收并缓存从 CSMA/CA 机制出来的报文,硬件定时器会定时触发时钟中断到软件...

    TDD_Simple_String_Calculator:使用TDD方法创建一个简单的String计算器

    在本文中,我们将深入探讨如何使用测试驱动开发(TDD)方法来创建一个简单的String计算器。TDD是一种软件开发过程,它强调先编写测试用例,然后根据这些测试编写功能代码,确保代码满足预期的功能需求。我们将以Java...

    TDD-Parking:TDD练习-停车收费计算器

    该项目的目的是使用测试驱动开发在Core Java中构建一个简单的应用程序。 尽管实际应用程序可能包含前端层,服务层和数据访问层,但本练习旨在仅构建服务层。 ==&gt;业务要求每小时停车费为: 首个小时的停车费– 20...

    Laravel开发-calculator

    在这个项目中,“calculator”是一个用于实现基本数学计算的API,它可以执行加法、减法、乘法和除法操作。 首先,我们需要在 Laravel 项目中创建一个新的服务提供者(ServiceProvider),这是 Laravel 用来注册和...

    phpunit-TDD驱动开发

    通过上述步骤,我们成功地使用TDD方法论编写了一个简单的转换器类。TDD不仅帮助我们编写出高质量的代码,还能确保代码符合预期的行为。在实际项目中,建议结合持续集成等最佳实践进一步提高代码质量和开发效率。

    UMTS-TDD手册

    UMTS-TDD系统是UMTS标准的一个变种,主要用于解决频谱资源有限的情况下的高效利用问题。在NS2中实现UMTS-TDD仿真的关键在于正确模拟各个网络层的行为及其相互作用。下面将从不同层面介绍UMTS-TDD的仿真方法: 1. **...

    GSM TDD noise分析

    5. 电容的规格书上有曲线图,每个电容对不同的频率都有一个 ESR,有一个最小值。电容在低于其谐振频率时候其呈现的是容性,等于谐振频率时表现为电阻性,高于谐振频率时表现为电感性。 6. 音频线上,比如耳机接口上...

    模仿win7的强大的科学计算器(VC.NET)

    在本项目中,我们关注的是一个使用VC++.NET编写的科学计算器程序,它旨在模仿Windows 7操作系统中的原生科学计算器。这个计算器程序是C++编程语言课程设计的一部分,为学生提供了一个实践平台,以便他们能更好地理解...

    基于FPGA的LTE-TDD接收系统设计与实现.pdf

    根据提供的文档信息,以下是关于“基于FPGA的LTE-TDD接收系统设计与实现”的详细知识点: 1. FPGA(现场可编程门阵列)技术的应用: 文档介绍了基于FPGA的LTE-TDD接收系统的设计方案,由于FPGA的可编程特性,系统...

    c#_tdd.zip

    "红"阶段是编写一个失败的测试用例,这通常是由于目标功能尚未实现导致的。接着是"绿"阶段,编写或修改实际的业务代码,使测试用例通过。最后是"重构"阶段,优化代码结构,保持代码的整洁和可维护性。 在C#中,我们...

Global site tag (gtag.js) - Google Analytics