减少C++代码编译时间的方法

c++ 的代码包含头文件和实现文件两部分, 头文件一般是提供给别人(也叫客户)使用的, 但是一旦头文件发生改变,不管多小的变化,所有引用他的文件就必须重新编译,编译就要花时间,假如你做的工程比较大(比如二次封装chrome这类的开发),重新编译一次的时间就会浪费上班的大部分时间,这样干了一天挺累的, 但是你的老板说你没有产出,结果你被fired, 是不是很怨啊, 如果你早点看到这段文章,你就会比你的同事开发效率高那么一些,那样被fired就不会是你了,你说这篇文章是不是价值千金! [......]

阅读全文

50行Python代码写一个语言检测器

你有没有曾经好奇过Chrome浏览器是如何知道一个网页的语言,并对外国文字的网页提供翻译服务的?或者,Facebook是如何翻译你朋友用写在你主页上的外国文字?检测一种语言实际上非常简单,改进了用户体验,而且不需要用户做任何的事情。 [......]

阅读全文

优秀代码所具备的5大品质 你的代码呢?

在我先前的博客中,我主要讲了我们的编码风格应该适应我们所处的业务领域。即不同的业务领域需要不同编码风格的软件。例如,为防御体系写的软件必须强健稳 定,因为一次崩溃可能就会终结它的生命周期,而为市场交易写的软件,则必须可维护,并且还可以添加广告,通常这些项目和软件的生命周期都非常短,所以这些 软件还必须可以重复使用。[......]

阅读全文

Linkedin工程师是如何优化他们的Java代码的

最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文。这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示)。[......]

阅读全文

同行代码评审过程中的实践经验

数百万年前,猿从树上下来,进化出了对生拇指,最终,变成了人类。

我们以类似的眼光来看下强制性代码评审(Code Review):好像是一种能在软件开发这块广阔的领域里将人类从兽里分离出来的东西。

不过,我有时候会从我们的团队成员里听到下面这样的评论:[......]

阅读全文