`
- 浏览:
119463 次
- 性别:
- 来自:
北京
-
ThoughtWorks TDD open-workshop第三次参加个人总结
我非常荣幸第三次参加了ThoughtWorks组织的 TDD open-workshop的活动。感谢组织者们的精心组织。我报名参加的是这次活动的Ruby场。我做为一个参加者,来写一下我个人的收获和个人的不足。
收获:
1. 本次活动,所采用的题目和第一场的题目,基本上是一致的。但是只有在这场活动中,我对题目才有了更深刻、更全面的认识。也就是说,在读懂题目的基础上,才能开始真正意义上的TDD。现在想来,如果从如何每一个测试案例的断言来理解,来写起。那么将会对整个题目的四个步骤和整体有一个全新的认识。当然,我这归功于我参加的bjdp16活动中,伍斌老师讲的从断言写起的招式。我个人有时在想,如果我们能够读懂题目,然后用测试案例来表达出题目的语义,那么将会写出更好的代码。 集成测试,让我感受到在前面的步骤形成的代码结构的基础上,让代码重组,并形成一个有效地微型系统。从CompareNumber.compare(answer,input),到 AnswerGenerator.generate(), 再到Guess.guess(input)。最后,当我对开发伙伴说,现在不是compare, 而是在guess, 在测试案例中需要把方法名Guess.compare, 修改为Guess.guess,这时,我一下子明白了答案可能是无尽的,但猜想却是永恒的。
2. 在ThoughtWorks的武斌的有效组织和赵亮的协助下,使得整个活动保持着很好的节奏,而且在每次的代码review中,我从周围的童鞋哪里学到了许多知识,在接下来的开发实践中,迅速地做到了知识转移, 学习更有效,代码质量也更好。
3. 结对编程,很好地发挥了两个人的各自的优势。我对Ruby并不是非常精通,但是我对代码结构,对题目有一些自己的理解。在这里也非常感谢我的搭档的耐心、细致地coding。结对编程发挥各自所长,让代码最终能够有效表达题目语义,能够写出高质量的代码。
不足:
1. 可能由于自己工作忙碌的原因,自己的准备仍然显得不足,应该计划出更多的时间来准备,并且避免大脑疲劳。应该提前出发,提前到达。这样才能学习的更深刻,收获才能更多。
2. 沟通表达,仍然显得生硬,要表现的更加亲和、让别人觉得更易于沟通,自己应该更主动,并认识更多的朋友。
3. 思维应该更清晰, 对于语言的特性和文档的查询,应更熟练,培养阅读源代码的习惯。
总之,每一次在ThoughtWorks参加活动,都能感受到一种轻松自在、能全身心地、快乐地写代码的气氛。每一次参加ThoughtWorks组织的OpenWorkshop,都能感受到快乐、兴奋,收获许多。由衷地感谢!
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### 测试驱动开发(TDD)实战:ThoughtWorks视角 #### TDD——从故事开始:构建软件开发的新范式 测试驱动开发(Test-Driven Development,简称TDD),是一种敏捷软件开发方法,它强调在编写实际代码之前先编写...
虽然没有具体的标签信息,但从"Thoughtworks Workshop"这个名称来看,我们可以推测这是一次涵盖广泛IT主题的活动,重点关注的是软件开发的最佳实践和技术创新。通过参与这样的工作坊,IT专业人士能够不断提升自己的...
TDD-CDMA技术广泛应用于第三代(3G)和第四代(4G)移动通信网络中,如TD-SCDMA是中国提出的3G标准之一,而LTE-TDD则是4G技术的重要组成部分。 ##### 4.2 宽带无线接入 除了移动通信外,TDD-CDMA还可以用于宽带无线...
【标题】"Node-tdd-workshop" 是一个关于使用JavaScript进行测试驱动开发(TDD)的工作坊。这个工作坊旨在帮助开发者掌握在Node.js环境中实践TDD的方法和技巧,通过实际操作提升代码质量和可维护性。 【描述】"Node-...
9. **测试驱动开发(TDD)**:ThoughtWorks强调TDD,因此你需要理解什么是单元测试,如何编写单元测试,使用JUnit、TestNG等测试框架进行测试,以及如何根据测试来指导代码的编写。 10. **持续集成/持续部署(CI/CD)**...
标题"IJ-tdd-workshop"指向的是一次关于使用IntelliJ IDEA进行TDD(测试驱动开发)的工作坊,重点是结合JUnit和Mockito来编写单元测试。在TDD中,开发者首先编写测试,然后编写足够的生产代码使测试通过,以此确保...
我的博客 学习TDD(4)--实例2:基于ZooKeeper的服务器注册和探测类[实战ServerRegister]及 学习TDD(5)--实例2:基于ZooKeeper的服务器注册和探测类[实战ServerDetector] 的配套代码
React TDD工作坊 WIP-这是我的 欢迎来到我的React TDD研讨会! 入门 npm i npm test 观看模式: 1号航站楼: npm start 2号航站楼: npm run test:watch 这个研讨会是关于什么的? 我们将使用React + Jest + ...
**TDD(Test-Driven Development)测试驱动...因此,掌握TDD不仅对个人技能提升有帮助,也是提升团队开发效率和软件产品质量的有效手段。通过分析并实践"TDD-learn-demo1"中的例子,我们可以更好地理解和应用TDD方法。
3. 智能天线技术:TDD-CDMA 技术可以与智能天线技术结合,提高系统容量和抗干扰能力。 4. 多用户检测技术:TDD-CDMA 技术可以与多用户检测技术结合,提高系统吞吐量和灵活性。 TDD-CDMA 技术的系统模型可以分为下行...
文档信息还包含了版权信息,表明这本书是Packt Publishing出版的,首次出版是在2016年2月,第三版则是在2017年10月出版。该书的版权信息部分还包含了版权声明,强调未经出版商的书面许可,不得复制、存储或通过任何...
TDD-LTE(时分双工LTE)是LTE的一个变种,它利用时间分复用的方式实现上行链路和下行链路的数据传输。本培训教程将深入探讨TDD-LTE的关键概念和技术细节,帮助读者全面理解这一领域的核心知识。** 1. **LTE概述** ...
在这个"angularjs-tdd-open-assignment-solution"项目中,我们看到的是一个针对Tuts+课程的测试驱动开发(TDD)公开作业的示例解决方案。TDD是一种软件开发方法,它强调编写测试用例在编写实际代码之前,以确保代码...
TDD 的基础包括三个步骤:红(Red)、绿(Green)、重构(Refactor)。首先,编写一个失败的测试(红);接着,写足够的代码使测试通过(绿);最后,优化代码结构(重构),确保代码简洁且易于维护。 2. **...