技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

2013年12月20日 #

编写你的第一个垃圾收集器

摘要: http://blog.jobbole.com/53376/每当我倍感压力以及有很多事情要做的时候,我总是有这样一种反常的反应,那就是希望做一些其他的事情来摆脱这种状况。通常情况下,这些事情都是些我能够编写并实现的独立的小程序。一天早上,我几乎要被一堆事情给整疯了——我得看一本书、处理一些工作上的事情、还要准备一场Strange Loop的演讲,然后这时我突然想到:“我该写一个垃圾收集器了”。是的,我知道那一刻让我看上去有多疯狂。不过我的神经故障却是你实现一段基础的程序语言设计的免费教程!在100行左右毫无新意的c代码中,我设法实现一个基本的标记和扫描模块。垃圾收集被认为是有更多编程牛人出没的 阅读全文

posted @ 2013-12-20 15:45 codestyle 阅读(283) 评论(0) 推荐(0)

过多if-else分支的优化

摘要: http://www.udpwork.com/item/9294.html我想谈一谈这个话题是因为我的上一篇博客在ITEye上有一些朋友回复,说if-else过多的分支可以使用switch或者责任链模式等等方式来优化。确实,这是一个小问题,不过我们还是可以整理一下这个小问题的重构方式。为什么要优化?你没有看错。这是要放在第一条谈论的。有许多人会说,叠起来一堆if-else分支,代码就不优雅了。可是,怎样去定义“优雅”的概念呢?再退一步说,即便不“优雅”,又有什么问题?对于这样一段再普通不过的代码:int code;if("Name".equals(str)) code = 阅读全文

posted @ 2013-12-20 14:35 codestyle 阅读(2495) 评论(0) 推荐(0)

史上最烂的代码

摘要: http://www.udpwork.com/item/8592.html其实本没有什么代码是“史上最烂”的,要有也只有“史上更烂”的,我想随便说说这个话题,也是源自豆瓣的一个讨论。事实上,系统复杂了被骂代码烂是一件司空见惯的事情。当然,也有一些短小的代码片段,就足以看出代码作者是个不怎么样的人。布尔类型的使用是很容易变成最烂代码的:if (isTrue()) if (isTrue()) doSomething();if(boolVal == true) { ..... }有一些毫无意义的注释:return 1; // 返回 1//如果标志为真,就返回truei... 阅读全文

posted @ 2013-12-20 14:30 codestyle 阅读(1093) 评论(0) 推荐(0)