Tomato's profileA Tomato out of Fruits G...PhotosBlogListsMore Tools Help

Blog


    26/11/2007

    mini Tomato

        mini Tomato 不是 圣女果 ... 而是我的 IM 机器人 ...
     
        Gtalk - tomatomini@gmail.com
     
        MSN - jonghoo@live.cn
     
        QQ - 918914267
     
        功能还在添加中... 现在能做的事情包括 ... 搜索新闻,中英文翻译,查看天气预报,搜索上海打折信息,查看糗事百科和煎蛋的文章 等等 ...
     
        向机器人说 h 或者 help 可以获得完整的帮助信息。
     
        这里是一个记录机器人有关信息的 wiki,可以在上面查看到完整的帮助信息,或者添加你想要的功能:  http://www.votingchina.com:800/trac/votechina/wiki/miniTomato
     
        ========== 当前的全部功能及帮助信息 ==========
     

    * 糗事百科: 输入 qiushi 查看糗事百科文章。

    * 上海娱乐打折: 输入 shyule 查看上海娱乐打折信息。

    * 上海购物打折: 输入 shgouwu 查看上海购物打折信息。

    * 上海美食打折: 输入 shmeishi 查看上海美食打折信息。

    * 红杏出墙来: 输入 hongxing 获取 红杏出墙来 诗句。

    * 新闻: 输入 news 或 xinwen 加上 关键词 来查看新闻。例如:xinwen 奥运会

    * IP 地址查询: 输入 ip 加上 要查询的IP地址 获取IP地址所在地信息。

    * 导购: 输入 daogou 查看导购信息。

    * 煎蛋: 输入 jandan 查看煎蛋文章。

    * 翻译: 输入 translate 或 fanyi 或 fy 加上 要翻译的内容 获取 英文到简体中文 的翻译结果。 输入 翻译 加上 要翻译的内容 获取 简体中文到英文 的翻译结果。

    * 天气情况: 输入 weather 或 tianqi 加上 城市名称 获取天气情况。例如:tianqi 上海

    * 上海优惠券: 输入 shyouhuiquan 查看上海优惠券信息。

    * 上海美容打折: 输入 shmeirong 查看上海美容打折信息。

    * 手机号所在地查询: 输入 mobile 或 shouji 加上 要查询的手机号码 获取手机号码所在地信息。

    帮助信息: 输入 h 或 help 来获取帮助信息。

     
     
    29/11/2005

    拥抱变化 - eXtreme Programming

        昨天晚上总算是拖拖拉拉地把 《Extreme Programming explained - EMBRACE CHANGE》 给翻完了。
        现在总算对极限编程有了一个全面的认识。这本书挺薄的其实,而且里面没有一行代码,呵呵,很适合当闲书看啊,哈。当时还一并买了一本《 极限编程实践 》 ,里面则都是具体的实施方法了。本来是想看完现在这本后可以马上当实践的书来看看,先理论,然后理论联系实际嘛,。不过目前短期不准备深入了,毕竟就目前来看,里面的思想是好的,但是大量运用到实际中的可能性不大,毕竟公司说了算...
        恩,合上书,使劲回忆书上讲过的东西,以及就目前对XP的理解。
        其实在XP中,采用的都是已有的技术和做法。但是,既然名字叫极限编程,顾名思义,精髓就在于将各种做法发挥到极限。(第一感觉总有点很Crazy...)。
        首先,XP提倡变化,需求的变化不再是传统开发意义上最让开发团队头疼的事。在整个XP项目进行的过程中,不停地在制定计划,不停地在调整前进方向。在XP中提倡沟通,提倡反馈,提倡将问题简单化,(当然,后面会分开详细叙述这些问题。),提倡小步伐前进。在每个小版本的发布中,得到反馈,从而在下一个迭代计划中调整开发的方向和要实现的功能。正因为此,变化不再是头疼的问题,相反,这成了XP的核心精神。
        XP需要良好的权力分离。业务方专注于业务上的决策,而开发方专注与技术上的决策以及评估。业务方可以根据开发方在技术上的决策和评估,结合当前的商业环境和业务需求,决定当前阶段的所应该最先实现的功能。在XP中需要诚实的沟通,开发方需要认真准确地作出评估,而同时,业务方也需要放弃一次做很多事的想法,决定当前优先级最高的功能。
        XP中需要接受的责任,而不是布置的责任。相关的开发任务及其责任由程序员主动去接受,而不是由其他什么人去赋予。程序员能够正确判断他能做什么,能做到什么程度。外部不合理的施加压力和给予责任只会让事情变的糟糕。
        XP需要人们学会简单,学会将事情变的简单而不是复杂。今天只需要把今天的事情做好,明天的事情就留到明天吧。不要在今天过多的考虑明天的事,并为之付出过多的努力。用最简单的方法将今天的事情做好,而去在明天需要的时候增加更多的功能和重构设计。
       
        在具体操作上,XP需要有良好的测试,测试先于编码,测试是一切工作正确的保障。根据需求写出测试,根据测试编写代码。所有测试通过则是编码结果的信号。下次增加功能,修改代码,继续保证所有的测试全部通过,则新的一轮编码又可以结束了。
        同时,XP需要持续不断地集成,频繁地集成可以保证立刻找到引起代码出错的原因。
        XP需要你不断地进行重构。当你更改了一些设计,当你添加了新的功能,当你的代码中出现了重复...总之一切让你的代码变的丑陋的情况。重构你的代码,把新的设计的思想灌输进去。最后,别忘了运行所有的测试,看到他们全部通过。OK,你可以离开电脑前去喝杯咖啡了,你的重构完成了。
        结对编程是XP程序员的编码方式。你可以寻找任何的其他程序员成为你结对编程搭档。你们共用一台计算机,共同为一个功能编写代码。结对编程看似让程序员的使用率下降了一半,但是他所带来的优点却也是很大的。首先,没有什么沟通方式比两个人直接面对面地进行沟通更加直接和有效率,XP提倡沟通。因此,你当你对将要实现的功能不是百分百有把握是,你大可以邀请一位在这方面有丰富经验的程序员成为你结对编程的搭档。结对编程时,每次只有一个人负责键入代码。当他在按照他的思路编写代码时,另外一个人会马上看到他的代码,指出代码有哪些不足。而同时,另外一个人也可以在这期间思考,这样的实现方式是最好的么,或者回忆其他部分的代码,在脑海里构造一个好的模式,并在接下来由他键入代码去实现这个模式。另外,人都有懒惰的思维。因为偷懒,经常会留下一些有不好味道的代码,或者一些很明显的糟糕的设计。一切只因为,这样做在当时是很方便顺手的。而两个人在一起工作,可以很大程度上解决这个问题。另一个人会马上指出当前正在被键入的代码里的问题。
        XP提倡代码归整个团队所有,而不是某一个人。也就是说,某个人写的代码,其他任何人只要发现其中有问题,就可以马上对其进行修改。每个人都应该积极主动地去了解其他人的代码。这样,一方面,整个团队的成员都可以对所有的代码有好的理解,而同时,也可以很程度上剔除代码中的问题。当然,这个其他人代码的修改可能是错误的,那么另外的人可以再修改,当然,也包括最开始写下那部分代码的人。
       
        额...最后我能想到的,恩。XP还需要一个非常好的物理环境和符合要求的物理设备。例如把性能最好的计算机放在屋子的中央,共集成和需要工作时结对编程使用。而另一个最显而易见的区别是,需要一张很大的桌子可以毫不费劲地移动键盘,因为,在编程时,键盘将被两个人轮番使用。最后嘛,你需要在屋子摆上食品,对,食品,一定要有!
     
       
     
        恩,大概就这么多吧,基本是一口气想到什么就写就这么列出来了。算是笔记还是草稿呢?