}
«网站首页

横刀天笑

关注此人
把横刀天笑加为好友
附言:



最新动态
  • 其实我是部分赞成 @smark 的代码(虽然一些参数验证遗漏了)
    因为楼主文章中的几个重构都有一个问题:直接在方法内部实例化了FileStream,这个方法是很难实施单元测试的。
  • 横刀天笑 评论博客:我为什么喜欢Go语言 2012-03-04 16:26
    @518
    开发go语言的就是Google,google的GAE就有用go的部分
  • 横刀天笑 评论博客:我为什么喜欢Go语言 2012-03-04 14:20
    go确实挺有意思的。
    最近在公司做一个方便测试的小项目,用的就是go。
    有几点还是挺喜欢的:
    1 那个defer
    2 那个interface的实现机制,其实就是ruby等语言里的鸭子类型
    3 goroutine,这个和erlang的actor模型类似,搞并发的利器
  • 横刀天笑 发表博客:Bloom Filter算法 2012-02-08 23:21
    集合数据结构一般都有这么一个方法:contains。其作用就是判断给定的元素是否存在集合中,这是一个常用的方法。其最简单的内部实现即遍历集合内的元素,一个个的判断是否与给定元素相等。为了更高效点我们甚...
  • 就叫IPResover吧
  • 横刀天笑 评论博客:做Java开发这一年 2012-01-05 12:26
    @ischeck
    额。。。我的也是chrome,没跑啊。。
  • 既然memcached是一个缓存服务器,而且要提供高效的缓存服务,那么网络层肯定要非常有效率才行。要能支撑大量的并发连接,还要有很优秀的响应速度。除此之外,因为memcached的核心业务并不是网络层...
  • @熬夜的虫子
    Sorry,我看错了~~
  • memcache就单单是一个缓存服务器,它本身没有做任何将key分布的事情,至于采取何种分布式哈希算法是客户端的事情啊
  • 引用微软的跟别的公司比起来罕有一个好处就是他会给你很多时间,让你慢慢把软件做好。而这个好的定义,当然是以功能和可维护性为重点。倘若一段代码以非常精妙的方法来高速完成一个任务,但是却复杂到哪怕写遍了注释也不能让后续维护的人看懂的话,那这段代码是没有实用价值的。一段好的代码,不在于它的设计有多么巧妙,不在于它的算法有多么高深,而在于它可以被几千个人同时开发10年,并且在持续添加功能的过程中,不会因为过于混乱而导致出现了重写的需要。
    那个羡慕忌妒恨啊。。~
  • 横刀天笑 发表博客:关于自动化测试 2011-12-14 14:15
    自动化测试是软件开发中非常重要的一环,那么我们如何进行自动化测试呢?何时添加自动化测试呢?自动化测试又有些什么作用。本文是我在team内部分享的一些内容。
  • 缓存在系统设计中占有非常重要的地位。对于构建大型系统,缓存的使用非常重要。一般,缓存的目的都是为了将那些耗时又耗资源的东西,临时的保存在一个能够快速获取的地方,以此来减少资源的消耗,让我们可以更快的得...
  • @空葫芦
    不能用的现象是什么?
    如果说是vs里编译不过,那可能是1 vs编译设置里的target profile不对
    2 没有引用System.Core库
  • @lexiaoyao20
    对,笔误,谢谢指正
  • @好好学习_Dream
    想问楼主现在拿到哪些公司的offer了
  • 横刀天笑 评论博客:做Java开发这一年 2011-10-09 21:41
    引用阿雄少:博主有没有用过TFS2008的单元测试,自动构建,自动部署
    用过,不过说实话太难用了,后来放弃了。。
  • 横刀天笑 发表博客:assertThat, assertEquals, assertTrue 2011-09-03 13:26
    昨天晚上是AgileChina 2011的Open House活动,我是Coding环节的志愿者。Coding环节主要是想让参会的开发人员体验一下结对编程、测试驱动开发以及重构的过程。我们准备了四个不...
  • 横刀天笑 评论博客:简单设计 2011-08-31 10:09
    引用dreamhead:幸好你不在我的团队里,否则15行的标准一定会被我骂得体无完肤的。一是这个标准实在太高了,二是目标是清晰,guideline都是给小白预备的,TW需要的是有思想的人。
    等你来我们项目你就不会这样说了,legacy代码会把你的思想弄的荡然无存。
  • 横刀天笑 发表博客:简单设计 2011-08-31 08:11
    XP(极限编程)里除了大名鼎鼎的TDD,重构等最佳实践外还有一些不怎么被人注意的实践,比如本文想谈的简单设计(Simple Design)。我们常常说设计要简单,简单即美。甚至敏捷软件开发的四个要素(...
  • 横刀天笑 评论博客:软件工程 敏捷的酒后问答 2011-08-25 21:32
    引用陈梓瀚(vczh):
    @横刀天笑
    个人认为敏捷对于那些非“XX管理系统”这种客户经常出尔反尔发神经的项目而言,效果估计没那么大。显然office不属于那个。
    嗯,其实我只是想说没必要给开发流程贴标签。要抓住核心价值。不过这话又很虚,所以我们需要能落实的实践,如是就有了一大批实践,但不是采用敏捷就得采用所有实践,不采用敏捷就不能采用任何敏捷实践。量体裁衣,一样得道理。
  • 横刀天笑:租房子租的好辛苦啊,有没有南三环刘家窑附近靠谱房子啊~~ 2011-08-06 20:18 回应
  • @路过秋天
    我们说的不是同一件事情。
    如果没有这个判断,是不会被优化的, 如果有这个判断,连if的body都进不去,还谈什么Side Effect呢?
  • 补充: 当然,JIT优化是个捉摸不准的事儿,所以也难说不被优化。 但是如果你对某个事儿有个七八分把握它不会执行, 只有很少情况下会执行,那么加个条件判断是有助于JIT优化的。
  • 在一些执行路径前加判断是一个性能优化的技巧,比如有人可能看过这样的代码:[code=java]
    if(logger.isDebug()){
    logger.debug("....");
    }
    [/code]
    上面这段代码,JIT时JIT Compiler会发现logger.isDebug()总是为false,所以它会把这段代码完全去除了,编译都不编译。
    对于楼主的第一段代码也是一样,JIT会发现a总是null,而这儿判断了个a != null, 所以里面代码不可能被执行, 所以也有机会被JIT Compiler整个优化掉(我说的整个是指包括外面的循环都被优化了)。
  • 横刀天笑 评论博客:做Java开发这一年 2011-07-23 19:19
    @yongfa365
    持续集成,你说的是那个TFS么? 真的不好用,这不是一个人这样说。
    需求管理和跟踪,任务分配,bug管理,这个跟写代码的我有什么关系,我需要的是能够酣畅淋漓的写代码。
    或者你去体验一下Intellij Idea?
  • 横刀天笑 评论博客:做了几次.net面试官后的感想 2011-07-13 11:38
    @Jeffrey Zhao
    请问是哪个API啊,实在不知。。
  • 横刀天笑 评论博客:做了几次.net面试官后的感想 2011-07-12 21:56
    引用James.H.Fu:
    @横刀天笑
    "写一个控制台程序,打印出.net framework中所有Attribute",这个题目主要考查反射。主要是想看下候选人写的代码。
    我是想知道你是如何把.net framework里所有的Attribute打印出来的
  • 横刀天笑 评论博客:做了几次.net面试官后的感想 2011-07-12 21:54
    @Adam哥
    在.NET里,最好的当然是那本《CLR via C# 3rd》,深度和广度都拿捏得很恰当。国内作者的还有园子里涛哥写的《你必须知道的.NET》。这两本都是讲.NET平台的。
    如果你再想往里面深入点,还有《Essential .NET》不过也比较老了,但这些底层的东西没怎么变过。
    对于C#语言的,有《C# in Depth》
  • 横刀天笑 评论博客:做了几次.net面试官后的感想 2011-07-12 21:51
    @Jeffrey.Liang
    求斐波那契那个算法复杂度是指数级。两个递归里大量的是重复计算,这样的算法是不可取的。
  • 横刀天笑 评论博客:Java7 和 C# 2.0 2011-07-12 21:20
    引用Jeffrey Zhao:
    引用toEverybody:Java是以运行稳定为前提,C#以代码漂亮为前提
    一个分不清语言和运行环境的家伙有什么好多说的。
    我每次看到toEverybody的评论,我就把牙咬得直响
Top