
浅谈测试代码覆盖率
经常有人问这样的问题:“我们在做单元测试,那测试覆盖率要到多少才行?”。答案其实很简答,“作为指标的测试覆盖率都是没有用处的。”Martin Fowler(重构那本书的作者)曾经写过一篇博客来讨论这个问题,他指出:把测试覆盖作为质量目标没有任何意义,而我们应该把它作为一种发现未被测试覆盖的代码的手段。

十条敏捷失败之路
本文提出了10条敏捷失败之路,旨在说明采用相反的做法可以提高敏捷性和成功几率。

关于静态类型令人震惊的秘密
TypeScript 最近迅速流行起来。我喜欢 TypeScript,我也喜欢静态类型。尽管我不使用 TypeScript,但由于 TypeScript 的类型系统,它获得一些非常棒的特性。TypeScript 的静态类型是结构不是名义,意味着它基本上像自动鸭子类型一样工作,而不是基于名字或者标识符的类型检查。这对于 JavaScript 一类的动态语言来说很合适。

满满的回忆:盘点已过时的25大技术
如今科学技术飞速发展,不断有新的设备和产品出现,同时也有许多曾经在人们生活中不可或缺的物品变得可有可无。很多几年前还那么高大上的技术,如今已经快成了古董

fork()函数与Linux中的多线程编程
,线程是最小的调度单位)。在Linux系统中 创建进程有两种方式:一是由操作系统创建,二是由父进程创建进程(通常为子进程)。系统调用函数fork()是创建一个新进程的唯一方式,当然 vfork()也可以创建进程,但是实际上其还是调用了fork()函数。fork()函数是Linux系统中一个比较特殊的函数,其一次调用会有两个返 回值,

微软对开源的兴趣从何而来?
微软盈利中占比重最大的是服务器产品与Azure(20%),且Azure的业务增长飞快。如果不支持开源,不支持 Linux 的话,怎么吸引开发者们迁移到 Azure?

国产超级计算机再次登顶世界TOP500:这次CPU也是国产
据最新消息,继天河2号之后,国产超级计算机“神威太湖一号(Sunway TaihuLight)”再次登顶世界TOP500,成为世界上运算速度最快的计算机。需要特别指出的是,这次神威太湖一号所使用的CPU也完全是国产的。

编程30年,我是如何避免累觉不爱的?
我读了一些关于程序员的对编程感到倦怠的文章,读完后我开始思考为什么我在工作了这么多年之后(从 1981 年开始),还依然对编程充满兴趣。为什么我依然喜欢写代码?

这些年我们爱着的 Objective-C
Objective-C 是开发 OS X 和 iOS 应用的标准语言。即便是天天跟它打交道的开发者,有些也会误以为 Objective-C 就是 Apple 公司创建出来的语言,但实际上它并不是 Apple 的亲骨肉,而是从别人家过继过来的孩子。程序设计语言是一个规范,它可以有许多种实现。在历史的漫漫长河中也出现过其他 Objective-C 实现,下面我会主要以 Apple 的 Objective-C 实现来论述。

王垠:我为什么不再研究编程语言(PL)
我不做程序语言(PL)的工作已经半年了。在这半年里,我变得快乐了很多,对世界也有了新的观点。现在我想来讲一讲,我为什么不想再做 PL 的工作和研究。我只希望这些观点可以给正在做 PL,或者考虑进入这个领域的人们,作为一份参考。

传统的 8 小时工作制为什么会效率低下?
理 想的工作-休息比例是 52 分钟的工作之后进行 17 分钟的休息。按照这种时间分配,工作时会格外集中注意力。约 1 小时的时间里,大脑会 100% 专注于将要完成的任务,而不会去刷微博或被邮件分心;1 小时结束大脑开始感到有些疲劳时,完全放下工作,短暂地休息一会,又有助于在接下来的 1 小时重新高效率工作。

那些年,被自己的技术者思维虐过的项目经理们
不论在哪个国家,IT 公司中的项目经理,很大一部分都是技术出身。的确,工程师背景的项目经理,在开发人员选择,开发进度控制,客户需求把握等诸多方面,有得天独厚的优势,从程序员到 leader 再到项目经理也是常见职场发展方向之一。

互联网加班狗健康工作指南
加班是个普遍现象 前一段时间,我们曾做过一个简单调查,通过与不同岗位、不同工作经验和地区的用户沟通,我们发现:他们每周的平均工作时间在 51 个小时,平均每天的工作时长为 10.2 小时,对工作-生活平衡满意度打分为 3.61 分(5 分制),以下是一些代表性观

怎样才算得上是全能程序员(全栈程序员)?
与其他互联网热词一样,全栈工程师也是英译过来的,英文全文是:Full-Stack Developer,你想啊,中国人民怎么会用客栈的栈、堆栈的栈来形容工程师呢?

两种编程高手
对于团队来说,我们希望程序员具有第一种编程高手的天份,同时写出来的代码要像第二种编程高手那样方便理解。需要注意提升的是第三种编程高手,他们缺乏第一种编程高手的天资,同时还没有掌握第二种编程高手的技能,经常自己被自己写出来的代码搞糊涂。

Python之父谈Python的未来
6月初,Python之父Guido van Rossum在今天的PyCon US大会上作了名为“Python Language”的演讲。近日,他又接受了IT媒体Infoworld的采访,大谈Python的未来。我们一起来看看Guido老爹对Python的 未来是怎么看的吧。

关于JavaScript调试的十来个小技巧
有时候在生产环境下我们发现了一些莫名奇妙的问题,然后忘了把sourcemaps放到这台服务器上,或者在看别人家的网站的源代码的时候,结果就 看到了一坨不知道讲什么的代码,就像下图。Chrome为我们提供了一个很人性化的反压缩工具来增强代码的可读性,大概这么用:

“技术领导”和“技术管理”
关于技术领导力已经有很多的讨论,我自己也写过好几篇文章。这次我避免“大而全”地讨论技术领导力,只简单谈谈技术领导力的几个主要侧面,供大家在自己的工作中参考。首先要明确的是,我们谈的是“技术领导”而不是“技术管理”。

程序员,对自己好一点
昨天在Google图片中输入“程序员”,搜索到的第一张图片是这样的:一位平头兄桌上两台笔记本一台台式机。其中的一台中显示是某个论坛的页面【估计正在回答某个问题】、中间那台正在启动Eclipse【要开始写Java程序了】、平头兄的目光此时盯在台式机的显示器上【应该是正在远程或者是某个虚拟机】,旁边还有一本打开的书…

华为的工资高不高?家属有话说(完整未删版)
“华为”成为媒体热词。“华为人”成为网民关注的对象和群体。甚至连其工资收入等敏感问题都已被脱敏晒在互联网上。我们常被各种各样的统计数据平均,这次也不例外。华为人的年收入也被“人均80万”了。这是一个令人羡慕的数字。然而身边的华为人对此嗤之一笑说“对不起,我拖后腿了”。

不要浪费开发时间:给初次创业的伙伴们的 6 个软件开发建议
初创公司因为产品定位还不明确,常常花一堆时间做好功能,却发现没人要用,浪费了宝贵时间。犯过这种错误几次之后,我们慢慢整理出一些比较有效的开发方法。这些方法帮我们省下很多开发时间,今天跟大家分享一下!

程序员、黑客与开发者之间的区别
程序员、黑客与开发者究竟有何区别?这个问题往往会引发踊跃的讨论与辩论。但是我看到的很多说法往往至少在一个重大方面是有瑕疵的,所以在此我愿给出我的定义,希望这个定义能够更准确些。

再提敏捷已死
“敏捷软件开发已经死了。如果你还在实践它或还在用那种管理方式,你本身就是一种障碍。敏捷运动浪潮已经结束了,如果你还想购买证书来掩人耳目,那就是在浪费钱了。”

程序员过的开心的方法
经常有人发帖讨论「怎么做一个成功的程序员」,「如何才能成为一个优秀的程序员」,我并不太同意这些文章中的看法,想在这里我想提出一些我对于程序员这个职业自己的想法。

程序员的烦恼、技术领导的烦恼和管理者的烦恼
我专业从事软件开发工作已超过 10 年的时间,我热爱这份事业,希望有一天我会被人们称呼为老程序员。但这一路走来,我经历了许多可怕的事情,这些事情让我讨厌我的工作。在职业生涯早期,我曾期望有人能给我一份职场指南,这样当遇到之前未曾遇到的事情时,我就不会感到如此的孤单和沮丧。