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. 三目运算符 改变<a>标签的class属性

    <s:iterator value="funcList" status="status" id="bean"> <a id ...

  2. cocos2dx 3.1创建工 mac

    1.下载cocos2dx 3.1版本号 2.打开终端,cd 进入 cocos2d-x-3.1.1/tools/cocos2d-console/bin 3.cocos new game -p com.t ...

  3. IC芯片

    5.8寸显示屏/LB058WQ1(SD)01LG2 74HC04 0.3NXP10K    74HC138 0.37NXP20K    74HC245 0.52NXP30K    74HC595 明威 ...

  4. 从div盒子模型谈如何写可维护的css代码(转)

    市面上我们常常会看到各种各样的设计模式书籍,Java设计模式.C#设计模式.Ruby设计模式等等.在众多的语言设计模式中我唯独找不到关于CSS设计模式的资料,即使在网上找到类似内容,细细一看之下才发觉 ...

  5. careercup-树与图 4.2

    4.2 给定有向图,设计一个算法,找出两个结点之间是否存在一条路径. 解答 根据题意,给定一个有向图和起点终点,判断从起点开始,是否存在一条路径可以到达终点. 考查的就是图的遍历,从起点开始遍历该图, ...

  6. Java基础知识强化之IO流笔记57:数据输入输出流(操作基本数据类型)

    1. 数据输入输出流(操作基本数据类型) (1)数据输入流:DataInputStream DataInputStream(InputStream in) (2)数据输出流:DataOutputStr ...

  7. Android(java)学习笔记152:Android运行时异常“Binary XML file line # : Error inflating class”

    在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常:"Binary XML file line # : Error inflating class&q ...

  8. 解决Ubuntu下sublime中不能输入中文的问题

    解决Ubuntu下sublime中不能输入中文的问题 Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublime的bug,解决方案是在通过shell在每次运行sub ...

  9. delta simulation time[(delta cycle), (delta delay)]

    "Delta cycles are an HDL concept used to order events that occur in zero physical time."si ...

  10. FWFT FIFO读操作注意

    FWFT:First Word Fall Through的缩写,好像是Xilinx的说法,Altera对应的概念是Show-ahead synchronous(SASO).即数据在rdreq有效之前就 ...