站内搜索

本次搜索找到结果 7 条

原文:http://www.zcfy.cc/article/2027

在一个框架、库和工具无处不在的时代,可能很多人都会面临选择困难症。

原文:http://www.zcfy.cc/article/1146

你的首席技术官(CTO)整天都在做什么?很多时候,在一般人眼里的 CTO 形象等同于“那个拿着高薪坐在角落里,对‘技术’进行深层次思考的家伙” 或者 “那个在最后一刻突然一时兴起,跳起来重新安排我的项目的家伙”。我已经努力不让人产生这种印象,但这不容易做到。我们缺乏一个对 CTO 的一致而明确的角色定位。

这个阶段在研究树莓派,主要用 Node.js 开发。开源社区有许多非常优秀的树莓派 Node.js 库,但是没有让我觉得特别好用的。因为这些库有的 API 还不错,但是性能不好,有的性能很好,但是 API 不好用。还有一些库没跟上树莓派的硬件升级,使用起来还要自己修改,作者也不处理 pull request,比较麻烦。因此我自己着手重新写一个库 rpio2

在写库的过程中,自然要充分测试每个 API,个人比较喜欢 TDD / BDD 开发,因此一边开发功能,一边写各个 API 的单元测试。写了单元测试,自然希望在代码提交的过程中能够持续集成,最好是直接使用 travis-ci

愿望是美好的,但是现实有点残酷。因为树莓派开发不同于其他软件开发,它涉及到硬件,虽然说单元测试可以很简单,主要是测试引脚的同步/异步输入输出和事件(中断)响应,所以开发的时候可以在树莓派环境里跑单元测试,这没有问题,但在集成的时候,我们没有办法让 travis-ci 用树莓派系统环境来跑我们的 test case 吧。这样的话,就需要我们自己实现对底层的 GPIO 的模拟

原文:http://www.zcfy.cc/article/613

我一直是对 TDD(测试驱动开发)和代码测试持怀疑态度的。我发现它很难做到而且很耗时间。尽管如此,有比测试难得多而且更耗时间的事情。你可能已经猜到了,改 bug!。当代码库变大了,开发团队来了新人,你会发现晚上越来越难睡个安稳觉,因为你不知道一周前写的代码在明天的需求变更中还能不能存活下来。我不想讨论单元测试的好处,因为这个话题可以单独写一整篇文章,而如果你快速 google 一下,你一定会找到关于单元测试这个话题的高质量的内容

所以让我们直奔主题。我正在做一个 Backbone 项目。在此处我不关心用什么框架,我更关心代码库将如何增长以及代码库将如何保持稳定。我并不是说框架不重要。不管怎样,有一件事情是肯定的,如果有人不理解所使用的库或框架构建的基础——不论这个库或框架是什么,一切都会变得一团糟。

原文:http://www.zcfy.cc/article/575

TypeScript 最近迅速流行起来。我喜欢 TypeScript,我也喜欢静态类型。尽管我不使用 TypeScript,但由于 TypeScript 的类型系统,它获得一些非常棒的特性。TypeScript 的静态类型是结构不是名义,意味着它基本上像自动鸭子类型一样工作,而不是基于名字或者标识符的类型检查。这对于 JavaScript 一类的动态语言来说很合适。(TypeScript 的静态类型检查是声明式的类型检查而不是像传统语言那样涉及到静态类型绑定和内存分配——译者注)

原文:http://www.zcfy.cc/article/425

这篇文章改编自 《Programming JavaScript Applications》 相关章节,我在这基础上扩充了一些内容,并新增了 ES6 部分。

为了更好地发挥 JavaScript 的能力,很重要的一点是理解 JavaScript 的 原生继承能力。这是一个在 JavaScript 实践和学习中经常被忽视的领域,但是理解了它能够获得极大的能力。

JavaScript 是表现力极强的编程语言之一。其中一个最好的特性是能够在没有类和类继承的情况下创建和继承对象。

结合代理原型(delegate prototypes)、运行时对象扩展和闭包,能够让你用三种不同的原型表达方式实现继承,它们与类继承方式相比有着显著的优点。

这是一篇关于如何写好测试的文章,测试对于高质量的软件产品的重要性是毋庸置疑的。要想了解更专业的测试相关的内容?推荐一个优质的公众号 360Qtest

原文:http://www.zcfy.cc/article/423

大多数开发者不知道如何测试

每个开发者都知道我们需要写单元测试,这是为了防止出现线上问题。

大多数开发者不知道每个单元测试应有的主要内容。我不想统计我所目睹的单元测试失败的次数,只能说我发现太多失败测试,这些测试我完全不知道开发者究竟在测什么,更别说测出它是怎么出错和为什么出错的。

在我最近的一个项目中,我们在测试集(test suite)中写了大量的单元测试,却完全没有描述它们是干什么的。我们有一个很棒的团队,所以我放松了警惕。结果呢?我们到现在还有大量的单元测试只有它的编写者真正明白它是做什么用的。

幸运地,我们正在完全重构 API,所以我们将抛弃所有的测试用例重头开始,不然的话,修复单元测试会成为我第一优先要做的事情。

别让同样的杯具发生在你身上。