资讯月刊下载
第121期(18-03)
- java程序员开发常用的工具
- 3月全球数据库排名:postgresql 再迎暴涨
第120期(18-02)
- 开源巨献:2017 年 google 开源了这些超赞的项目
- 关于区块链,程序员需要了解什么
第119期(18-01)
- 编写高性能java代码的最佳实践
- 从15000个python开源项目中精选的top30,github平均star为3707,赶紧收藏!
[研发管理] 都100%代码覆盖了,还会有什么问题?
引言 (图片来自:http://t.cn/r06rqhi) 很多人看到这个标题时,都会想“你都100%代码覆盖了,怎么还会有问题呢?” 让我们看一下代码例子: public class testcalculator { public double add(double a, double b) { return a b;} } 再看看用junit写出的测试代码: @test public vo ...
[研发管理]
最近在做 coding 企业版 前端开发时花了很多时间写测试,于是和大家分享一些前端开发中的测试概念与方法。 什么是写测试代码 我理解的写测试其实是你写一些代码来验证你所谓的可以交付的代码是你所预期的设计,有一些朋友叫他 tdd 也就是测试驱动型的设计,其实到底是先写代码还是先写测试,并不是最重要的,倒是能给你信心这个代码是符合设计的更重要。 为什么要测试,前端需要测试么 这个问题不是这篇分享要 ...
[互联网]
引用 原文:better unit tests 作者:manu pk 翻译:赖信涛 责编:仲培艺 在过去的几年间,我们向我们的产品中加入了很多单元测试,提高内部质量。在此期间,我们经常遇到选择单元测试还是一体化测试的困难。我想介绍一些我们用以优化现有系统的方法。 单元测试的核心是,隔离组件的依赖,每次测试一个单独的组件。经典的单元测试有这些原则:“快速,独立,可重复,自我验证,及时。”在java ...
[研发管理]
技巧一:处理实例化 在我想办法让我的android app通过unit test和integration test的过程中,我积累了一些小的经验与技巧,可以成功的处理比较麻烦的代码。展示开始: 问题代码 我想测试这段代码 public void readdeeplink(string path) { new deeplinkreader().readdeeplink(path); } 我只 ...
[移动开发]
现在很多人在开发ios时都使用reactivecocoa,它是一个函数式和响应式编程的框架,使用signal来代替kvo、notification、delegate和target-action等传递消息和解决对象之间状态与状态的依赖过多问题。但很多时候使用它之后,如何编写单元测试来验证程序是否正确呢?下面首先了解mvvm架构,然后通过一个例子来讲述我如何在rac(reactivecocoa简称)中使 ...
[移动开发]
标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的ios开发基础。在我多年的码农生涯中绝大部分时间都是做的小项目,大一些的可能也就是百万行代码的样子,跟windows系统几千万行源码比简直就是小巫见大巫。不过,一个ios项目的源码有数百万行算蛮大了。我想说的是,人总是会成长,会担当更大的责任接受更大的挑战,终有一天组织会有重要任务交给你。不过软件开发不是一朝一夕,也不会有多么的轰轰烈烈,更多的 ...
[企业架构]
背景 最近跟售后经理吃饭,他跟我再次谈起两年前为公司临时写的一个客户端,仍然非常激动的跟我说,这个客户端完爆了公司其他版本的客户端,包括最老的delphi写的,asp.net写的,以及最新的wpf写的客户端。无论是多么大的界面(集成的机房多),这个系统都是瞬间打开,而且运行非常稳定,一旦成功部署之后基本没有任何问题。 这个版本的客户端仅仅只是一个临时替代的版本:原来的delphi客户端实在是太慢了 ...
[编程语言]
我们都会为我们的代码编写测试,不是吗?毫无疑问,我知道这个问题的答案可能会从 “当然,但你知道怎样才能避免写测试吗?” 到 “必须的!我爱测试”都有。接下来我会给你几个小建议,它们可以让你编写测试变得更容易。那会帮助你减少脆弱的测试,并保证应用程序更加健壮。 与此同时,如果你的答案是 “不,我不编写测试。”,那么我希望这些简单但有效的技术可以让你了解编写测试带来的好处。你也会看到,编写一个复 ...
[web前端]
前言 前后端分离已经是业界所共识的一种开发/部署模式了。所谓的前后端分离,并不是传统行业中的按部门划分,一部分人纯做前端(html/css/javascript/flex),另一部分人纯做后端,因为这种方式是不工作的:比如很多团队采取了后端的模板技术(jsp, freemarker, erb等等),前端的开发和调试需要一个后台web容器的支持,从而无法做到真正的分离(更不用提在部署的时候,由于动态 ...
[移动开发]
在ios项目开发中,当实现新功能时如果忽略可维护性而引入技术债务,将会需要延迟解决它或导致增加维护成本。开发者需要设置什么才能自动监控代码质量?通过适当运用gcovr等一系列工具,就能有效提高代码质量。 当实现新功能时,如果忽略可维护性而引入技术债务,那将会需要延迟解决它或导致增加维护成本。 最近我们已经思考通过哪些方式来提高代码的质量: 当代码的质量下降时,通过设置一些工具来马上提醒开发者; ...
[行业应用]
每周,一组谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入,并提供一个简单的示例展示如何用不同语言使用它;有时它可能会分享如何安装一个用于测量团队代码库测试覆盖率的软件。“testing on the toilet”起初是个奇怪又有趣的方式,来教给工程师在工作中会用到的一些新的东西,这也被突出为google文化中的核心力量:向工程师组织有效的传播一系列最佳实践。 ...
[研发管理]
数百万年前,猿从树上下来,进化出了对生拇指,最终,变成了人类。 我们以类似的眼光来看下强制性代码评审(code review):好像是一种能在软件开发这块广阔的领域里将人类从兽里分离出来的东西。 不过,我有时候会从我们的团队成员里听到下面这样的评论: “这个项目的代码评审根本就是浪费时间。” “我没有时间做代码评审。” “我的项目发布延期了,都是因为我那懦弱的同事还没有做任何评审。” “你能 ...
[企业架构]
随着项目的规模越来越大,项目的维护性就可能会变得越来越差,有时可能会出现牵一发而动全身的情况。如果需要修改某个功能的代码,或者添加某项功能,会耗费大量的人力和时间。这种情况下,高可扩展性的、低耦合的应用程序就变得非常重要了。 本文通过构建一个时钟程序,来讲解高扩展的应用程序是如何一步一步搭建的。 什么是可扩展的应用程序? 一个可扩展的应用程序应该能够以某种方式实现增长,并且添加、删除、增强、重 ...
« 上一页 1