Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2015-07-12) 2015-05 月结

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

这个月很忙,项目上要解决的问题太多了。

  1. “依赖导出项目"第一里程牌的任务完成了
  2. 第二里程牌的方案也稳定下来,开始开发
  3. “打乱座位”的方案开始实施

1. “依赖导出项目"第一里程牌的任务完成了

“依赖导出项目"第一里程牌的任务完成了,我和新宇经过一段时间的摸索,写出了几篇“如何在不同的构建工具下手动查询依赖”。

2. 第二里程牌的方案也稳定下来,开始开发

第二里程牌的方案也稳定下来,我们将会为sbt/gradle/maven/bundler/npm/bower分别写6个插件。最开始两种不同的方案供讨论,一种是为每个build tool写一个插件,通过调用它们的api拿到依赖数据,再整理并输出为我们自定义的格式;第二种是写一个普通的程序,以命令行的形式调用每种插件提供的命令,然后分析输出反向解析出数据,最后输出为自定义的格式。经过反复讨论,最后通过我的坚持,确定为第一种方案。因为通过对插件的分析,我觉得第二种方案有太多不确定的地方,很可能会遇到很多坑。而第一种方案的技术难点在于要熟悉多种工具的插件写法,而这些难度在前一段时间我基本上都解决了。

(不过最后,sbt/gradle/maven/bundler采用了调api的方案,而npm/bower采用了调命令的方案)

目前完成了三个插件(sbt/gradle/bundler),还算顺利,给了我多一些的信心

3. “打乱座位”的方案开始实施

我们的位置基本上都是固定的。但某一天我临时坐到另一个组里的时候,我发现跟他们的交流多起来了,他们遇到一些问题时,会直接扭过头来向我求教,我也知道他们在做什么。这让我感觉“打乱位置”这件事不错,因为他们组里新人比较多,但是遇到问题时需要离开位置去向人求教总是让人觉得是一件挺麻烦的事情,但是如果能坐在旁边,就不一样了。

所以我在Retro的时候提了一个方案:大家每天换位置

大家表示了支持,但是不知道按什么方案来换,每天来得早的人自己挑吗?这样的话,他们很可能还是会挑昨天的位置。后来我设计了一种方案,给每个人的位置上编个号,但是编号的时候是故意打乱的,比如一个桌子上的三个位置,编号分别是1, 4, 8,另一个是3, 9, 5。每天早上来了以后,你找编号比你昨天坐的那个大1的位置。

这种方案非常容易实施,居然很容易的一直保持了下去,可能是我这一年来的各种尝试中,最成功的一个。现在的情况是,每个人每天的位置真的都变了,而且两边的人基本上都跟昨天不一样。每天都可以跟不同组的人说说话。过了一段时间后,我感觉我们整体成了一个大组,因为我不细想已经分不清到底谁是哪个stream了,大家的关系更加亲密了。

还发现了一个额外的好外:因为每天都要换位置,所以自己的东西都要跟着人走,每个人都自己准备了一个盒子来装自己的东西,桌子上不用的东西都被清理走了,变得干净了很多。而之前,我们已经想了各种办法来让人们清理桌面,却没人执行。

这件事情让我觉得,一些问题长期得不到解决,可能只是因为没有找到一个好的方案。

comments powered by Disqus