- 其实我是部分赞成 @smark 的代码(虽然一些参数验证遗漏了)
因为楼主文章中的几个重构都有一个问题:直接在方法内部实例化了FileStream,这个方法是很难实施单元测试的。 - @518
开发go语言的就是Google,google的GAE就有用go的部分 - go确实挺有意思的。
最近在公司做一个方便测试的小项目,用的就是go。
有几点还是挺喜欢的:
1 那个defer
2 那个interface的实现机制,其实就是ruby等语言里的鸭子类型
3 goroutine,这个和erlang的actor模型类似,搞并发的利器 - 集合数据结构一般都有这么一个方法:contains。其作用就是判断给定的元素是否存在集合中,这是一个常用的方法。其最简单的内部实现即遍历集合内的元素,一个个的判断是否与给定元素相等。为了更高效点我们甚...
- 就叫IPResover吧
- @ischeck
额。。。我的也是chrome,没跑啊。。 - 既然memcached是一个缓存服务器,而且要提供高效的缓存服务,那么网络层肯定要非常有效率才行。要能支撑大量的并发连接,还要有很优秀的响应速度。除此之外,因为memcached的核心业务并不是网络层...
- @熬夜的虫子
Sorry,我看错了~~ - memcache就单单是一个缓存服务器,它本身没有做任何将key分布的事情,至于采取何种分布式哈希算法是客户端的事情啊
- 那个羡慕忌妒恨啊。。~
- 缓存在系统设计中占有非常重要的地位。对于构建大型系统,缓存的使用非常重要。一般,缓存的目的都是为了将那些耗时又耗资源的东西,临时的保存在一个能够快速获取的地方,以此来减少资源的消耗,让我们可以更快的得...
- @空葫芦
不能用的现象是什么?
如果说是vs里编译不过,那可能是1 vs编译设置里的target profile不对
2 没有引用System.Core库 - @lexiaoyao20
对,笔误,谢谢指正 - @好好学习_Dream
想问楼主现在拿到哪些公司的offer了 - 用过,不过说实话太难用了,后来放弃了。。
- 昨天晚上是AgileChina 2011的Open House活动,我是Coding环节的志愿者。Coding环节主要是想让参会的开发人员体验一下结对编程、测试驱动开发以及重构的过程。我们准备了四个不...
- 嗯,其实我只是想说没必要给开发流程贴标签。要抓住核心价值。不过这话又很虚,所以我们需要能落实的实践,如是就有了一大批实践,但不是采用敏捷就得采用所有实践,不采用敏捷就不能采用任何敏捷实践。量体裁衣,一样得道理。
- @路过秋天
我们说的不是同一件事情。
如果没有这个判断,是不会被优化的, 如果有这个判断,连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整个优化掉(我说的整个是指包括外面的循环都被优化了)。 - @yongfa365
持续集成,你说的是那个TFS么? 真的不好用,这不是一个人这样说。
需求管理和跟踪,任务分配,bug管理,这个跟写代码的我有什么关系,我需要的是能够酣畅淋漓的写代码。
或者你去体验一下Intellij Idea? - @Jeffrey Zhao
请问是哪个API啊,实在不知。。 - 我是想知道你是如何把.net framework里所有的Attribute打印出来的
- @Adam哥
在.NET里,最好的当然是那本《CLR via C# 3rd》,深度和广度都拿捏得很恰当。国内作者的还有园子里涛哥写的《你必须知道的.NET》。这两本都是讲.NET平台的。
如果你再想往里面深入点,还有《Essential .NET》不过也比较老了,但这些底层的东西没怎么变过。
对于C#语言的,有《C# in Depth》 - @Jeffrey.Liang
求斐波那契那个算法复杂度是指数级。两个递归里大量的是重复计算,这样的算法是不可取的。 - 我每次看到toEverybody的评论,我就把牙咬得直响










