那天晚上,我在深夜酒吧遇见了一个自称来自1984年的女人。
她穿着一件褪色的蓝色连衣裙,坐在吧台最角落的位置。
调酒师正在为她调制第三杯曼哈顿。
冰块在玻璃杯中碰撞,发出清脆的声响,像是某种暗号。
“你相信平行宇宙吗?”她突然问我。
那天晚上,我在深夜酒吧遇见了一个自称来自1984年的女人。
她穿着一件褪色的蓝色连衣裙,坐在吧台最角落的位置。
调酒师正在为她调制第三杯曼哈顿。
冰块在玻璃杯中碰撞,发出清脆的声响,像是某种暗号。
“你相信平行宇宙吗?”她突然问我。
远方的雪山在夕阳下泛着金红色的光芒,我坐在草原上,听着耳机里流淌的钢琴曲。
这是第三十七次收到她的来信,信封上依然是那个熟悉的地址:
喜马拉雅山脉,海拔6500米,第四号营地。
没有人知道她为什么会在那里,就像没有人知道为什么高山上会有邮局。
但这些信,确实每个月都会准时出现在我的邮箱里,带着雪山的气息和一丝若有若无的檀香。
原文链接:Keeping the Daggers Sharp ⚔️
原文作者:Py ⚔
译文出自:Dimon’s Program Basement
译者:Dimon
Dagger2是一个非常好的依赖注入库,但是其锋利的边缘
处理起来也是比较棘手的。这就让我们来看看Square公司通过遵循哪些最佳事件来防止工程师们伤害自己
!
原文:LinkedIn’s Tips for Highly Effective Code Review
原著作者:Szczepan Faber
最近LinkedIn里程碑式地完成了他们的第100万次代码检视,这篇文章是LinkedIn社交网络服务工具的负责人Szczepan Faber分享的一些经验与教训。
原文
很久以后,这是系列的第三篇教程。 我希望你们都做得很好,享受教程系列(阅读,编码和改进)。
到目前为止,在本系列的第1部分和第2部分,为什么开发人员害怕重构代码,我们获得了为什么TDD至高无上,Android测试的类型,测试的位置,如何编写和运行测试等。
我们覆盖了单元测试到现在,接下来我们将转向集成测试,以验证演示者是否应对UI。
如图所示,我们可以创建用于登录的用户界面(我知道你会比这更好的用户界面)。
原文
本教程将通过项目体系结构,从头开始设置,最后我们将编写一些单元测试。
而本系列的第1部分,我们介绍了什么是自动化测试的重要性,什么是测试金字塔,什么是测试类型,可以使用什么工具在Android中执行TDD以及测试文件夹的位置。
Android自动化测试教程系列,使用JUnit&Espresso
自动化测试非常重要,因为它在开发应用程序时确保了质量.TDD在编写实现之前执行写入测试。
有关TDD的更多信息,请参阅此前的教程。
原文:MVVM architecture, ViewModel and LiveData (Part 2)
在Google I / O期间,Google推出了包含LiveData 和ViewModel 的architecture components ,这有助于使用MVVM模式开发Android应用程序。 本文讨论这些组件如何为遵循MVVM的Android应用程序提供服务。
在本系列的第一篇文章中,我们讨论了这些组件如何为遵循MVVM的Android应用程序提供服务。 在第二篇文章中,我们将回答在依赖注入的第一篇文章结尾处提出的其中一个问题。
本文假定您具有Dagger的基本知识,因为我们将专注于在MVVM示例中设置最新的Dagger版本(版本2.11)以实现依赖注入。
如果您需要关于Dagger 2.11的基本信息,请查看Dagger用户指南。