7月21日参与了 BJDP北京的活动
在北京首次参与能够参与动手编程活动,感觉挺不错的。
本次活动共有三项内容

1.      金锐分享单元测试的Mocking技术,20 mins

2.      伍斌分享代码内在质量分析工具SonarQube,20 mins

3.      运用TDD结对编程来解决八皇后问题,120 mins

Mocking技术方面,之前看测试驱动的IOS开发其中有介绍到一些Mock技术,Mock是在写单元测试时采用的一种模拟对象行为的方法。
我认为其实如果写测试,一定会制造一些假对象,或者假数据。
在测试驱动IOS开发这本书上作者就先自己实现了一些伪造对象。
与使用OcMock进行了一些对比。
JMock或者EasyMock提供了一种比较容易使用的Mock实现。程序员可以少花一些精力构造假对象。同行来的人对JUnit和JMock的异同有些搞不清楚。我觉得JUnit是测试框架,而JMock则是在JUnit框架下写测试用例时可以使用的工具类。这是个人看法。
另外就是也讲Stub(代码插桩)技术和Mock技术之间的区别。
我有一些个人理解,我认为代码插桩技术主要是通过在工作代码中插入了一些冗余的配合测试的代码。
而Mock技术则不需要与工作代码放在一起,它是独立于工作代码的。

后面的SonarQube则是代码质量分析的工具,我觉得比JLint这样的静态分析工具的区别主要在于能够提供分析报表。并且可以与持续集成环境整合。我觉得我们的项目也可以使用这样的代码分析工具。其中有其他参加者提到SonarQube实际上是基于FindBug的。下来也可以了解一下FindBug相关的内容。

最后进行了八皇后问题的编程实践。我和子豪兄一组。

我负责提供解题思路。子豪负责编程。报名活动的时候我已经简单构思了这个程序,但是没有去写代码。我发现虽然之前学过几天JS,回过头来再写JS程序还是想不起来它应该怎么用。所以学了一门语言还是要经常使用。后来听伍斌(本次活动的组织者)、还有金锐分享了还有另外一位参加者分享了他们的解题思路。都非常的好。
我的思路甚至都没有去考虑如何得到完全解。
然后在命名方面连斜线这个英文应该怎么写都不知道。
哈哈,不过没有关系,我本来就比较懒。

最后讲讲体会,参加了这次活动我觉得有不少收获,第一获得的新的知识,比如Mocking技术,又比如SonarQube这样的工具。其次是能够操练自己的编程技术。所谓刀不磨不快,我们天天都在用刀,但是却从来不磨刀。就我而言我是一个很懒的程序员,上班的时候写代码主要是完成任务为主,因此不会去考虑如何全面磨练自己的技术。下班之后,基本上就不会去摸代码了。通过活动的形式,能够给程序员一定的动力,提供一个共同进步的环境。不过我的想法是这样的活动如果能沟做到线上线下结合就更好了。像是编程练习题这样的部分,假设我是一个不能参加现场活动的程序员,自己对这这个题目写了一段程序,如果能与其他人探讨是非常好滴。

BJDP结对编程活动的更多相关文章

  1. 2017-2018-2 『Java程序设计』课程 结对编程练习_四则运算

    相关测试过程截图(JUnit) JudgeTest:对计算及将整数化为分数的测试 SuffixExpressionTest:中缀转后缀的测试 RationalNumberTest:对RationalN ...

  2. 结对编程--基于android平台的黄金点游戏

    游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...

  3. 结对编程-地铁续(有种上个学期OO的既视感)

    我们组比较特殊..三人结对 github:https://github.com/qingchanghan/WPFUI_Metro po一张照片: 石浩然,韩青长.陈彦吉 (台式机真的很高端,分屏贼帅) ...

  4. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  5. 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结

    1)结对编程队友 1106xxxx 张扬 1106xxxx 杨军 其中,此项目的编程实现主要由前者完成. 2)关于结对编程 结对编程的优点: 最直接的一点:在结对编程中,由于有另一个人在你身边和你配合 ...

  6. 结对编程—黄金点游戏WinForm单机版

    本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏: ...

  7. Week4 结对编程

    1.照片 1.1  结对编程参与者:李文涛.黎柏文 1.2  展示照片 2.结对编程的优点&缺点 2.1 优点 2.1.1.两人分工合作,减少了工作量 2.1.2.结对编程的伙伴往往能提供不同 ...

  8. 结对编程——关于Fault、Error、Failure程序设计

    一.问题描述:         构造程序,分别是:         •不能触发Fault         •触发Fault,但是不能触发Error         •触发Error,但是不能产生Fai ...

  9. GUI、模块化与结对编程(homework-03)

    摘要: 在本次作业博客里,我将主要阐述作业3的收获.作业3表面是将之前的程序转换为图形界面(之前程序见http://www.cnblogs.com/shone/p/3348372.html),然而本质 ...

随机推荐

  1. JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类

    <pre name="code" class="java"></pre><pre name="code" cl ...

  2. React-Native首次运行提示-ReferenceError-Can-t-find-variable-fbBatchedBridge

    React Native运行报错ReferenceError: Can't find variable: _fbBatchedBridge' React Native目前貌似要火的样子,作为移动开发人 ...

  3. Android 颜色渲染(七) RadialGradient 环形渲染实现水波纹效果

    利用环形渲染我们可以做到什么? 其实很多都是非常常见的,比如上一篇实现的帮帮糖效果, 彩色的热气球,比如这里要讲到的水波纹效果,或者也可以理解为扩散色渲染效果 首先看一下效果图: 轻触屏幕,即可看到对 ...

  4. Offer是否具有法律效力?

    版权声明:原创作品,同意转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任.本文地址: http://blog.csdn.net/jobchanceleo/archi ...

  5. MySQL B+树索引和哈希索引的区别

      导读 在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议. 二者区别 备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BT ...

  6. systemtap 列出所有linux 内核模块与相关函数2

    [root@localhost src]# uname -aLinux localhost.localdomain 2.6.32 #1 SMP Sun Sep 20 18:58:21 PDT 2015 ...

  7. careercup-排序和查找 11.4

    11.4 设想你有一个20GB的文件,每一行一个字符串.请说明将如何对这个文件进行排序. 解法: 当面试官给出20GB大小的限制时,实际上在暗示些什么.就此题而言,这表明他们不希望你将数据全部载入内存 ...

  8. MySQL【第一篇】安装

    一.简介 MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL由于其体积小. ...

  9. 网格GridLayout建立

    import java.awt.*;public class GridFlowout extends Frame { public GridFlowout (String str){ {setTitl ...

  10. c结构体初始化问题

    结构体中的数组的初始化问题 我的代码 C/C++ code #include <stdio.h> #include <stdlib.h> struct a { int leng ...