“软件设计”文章列表
前面《为什么要使用NoSQL》和《关系数据库还是NoSQL数据库》两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL。经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好,但是......
来自LinkedIn的Jay Kreps在近日举办的Hadoop峰会上详细介绍了LinkedIn每天是如何处理1.2千亿个关系并通过高容量、低延迟的站点服务来混合大量的数据计算的。
如果要做为一名合格的软件架构师,AOP是必须知道的一门技术。作者根据自身的学习和时间,总结了AOP面向切面编成的一些基本思想。
春节前的一篇那些炒作过度的技术和概念中对敏捷和中国ThoughtWorks的微辞引发了很多争议,也惊动了中国ThoughtWorks公司给我发来了邮件想来找我当面聊聊。对于Ag......
这是一段长长的C++代码,我的问题是:relaPri、relaSec和 scoutBySec这三个变量在哪里用到了?
Code highlighting produced by Actipro CodeHighlighter (freew......
还记得以前和大家提到过的《各种流行的编程风格》吗?有一些人问我那些编程风格具体是什么样子的。下面是一个代码重构的实例,让我们看看那个流行的编程风格是实践是什么样的。下面的这个实践不是虚构,如有雷同,请对号入座。
在开发过程中,当你发现代码可以Copy-paste时,就意味着代码出现了重复。这是一种典型的反模式。William J.Brown等在著作AntiPatterns-Refactoring Software,Archi......
这是一个经常被问到的问题,问的理所当然。作为一个程序员,为什么我就非要被认为知道如何开发Web应用程序呢?这个问题没有一个简单的答案,甚至那些教育机构都未必......
这几天,要对我半年前写的代码进行一些整理工作,在看代码时发现当时有很多地方写得不够好,俗称的有“坏味道”,呵呵,重构,必须的。
几年前通读过《......
从斐波那契数列说起
我想几乎每一个程序员对斐波那契(Fibonacci)数列都不会陌生,在很多教科书或文章中涉及到递归或计算复杂性的地方都会将计算斐波那契数列......
David Wheeler有一句名言:“计算机科学中的大多数问题都可以通过增加一层间接性来解决。”间接代表着迂回。世间没有哪一条道路是完全笔直的。蜿蜒曲折......
我在阅读遗留代码时,经常发现存在这样一种情形。在一个类中存在两个方法,它们做了相似的工作,区别仅在于方法内部某些对象的类型。例如:
Code highlighti......
在前两篇文章里,我们讨论了程序性能的两个方面,一是算法(广义的算法,即解决问题的方法),二是编译器。通过这两个方面,我想表达的意思是,一段程序的执行效率,是很......
使用面向对象语言进行过程式设计的例子,可谓俯拾皆是。看这段代码:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Code......
这是一个让我纠结了很久的话题:缩进。
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- for (int j =......