2022-10-11

14 篇热帖

1. 脱单真的好难

可能是身边同学都陆陆续续结婚,然后单身的朋友也一个个脱单了,开始有了一些紧迫感。

今年 25 岁,现在的情况就是公司的男生除了工作基本不联系,当然我们互相也没有想吸引的磁场,然后也没有认识其他异性的机会。每天的社交生活就是和我的单身女室友一起吃晚饭。

也加了一些相亲群,但在相亲群里我这个年纪又是偏小的。还尝试了下载一些交友 app ,索然无味,我觉得我喜欢的男孩子肯定是不会玩这些 app 的。现在真的没有其他途径认识男生了嘛呜呜呜呜呜

2. 为什么女朋友晚上都要我陪她聊天说话?
交了两个都是这样,说实话开始的一段时间还好,后面有点烦。我一天的事情就那么多,她一天的事情也这么多,聊到后面我都不知道要聊什么,有时找她晚了还生气
我想问下你们的会这样吗?如果想降低聊天频率,用什么方式和她说明好点?
3. Linux 之父的 PC 挂了,恐影响 Linux 6.1 发布

两年前 Linus Torvalds 攒了一台新电脑,一晃两年半过去了,如今,这台电脑的内存条坏了,频繁出现机器不稳定甚至编译器损坏的情况。当时,Torvalds 本来想买 ECC 内存,但是又嫌太贵,于是买了 4 条便宜的 16GB DDR4-2666 的内存。目前,Torvalds 使用他外出携带的 MacBook Pro 工作,但是拖慢了他的工作进度。他说,“我正在我的笔记本电脑上进行合并(非常缓慢),同时在等待新的 ECC 内存条的到来。”。来源

转自

4. 大家每天必浏览的网站都有哪些?

算法背景下感觉自己真的非常闭塞了,丰富下自己的见闻

5. 最近大家很悲观,不知道明年就业行情怎么样,准备明年 4 月凑满四年经验跑路,你们继续跳槽还是苟?

最近大家很悲观,准备明年四月凑满四年经验跑路,你们继续跳槽还是苟?

6. 求 Mac 换 Windows 笔记本推荐

工作需要 Windows ,试了下 arm 虚拟机不太行,自由职业,大部分时间在家用,本想组个台式,偶尔要出差笔记本又离不了,其中一个长时间吃灰太浪费了,干脆换 Windows 笔记本

要求夜里声音小点,能玩红警,最好 14~16 寸,预算 8k 以内性价比越高越好,续航屏幕落差不能太大

7. 那些转码的人是怎么找到第一份工作的?
8. 你们有啥想做的吗?这里有一只免费的服务端劳力,每天一个小时

请有想法的小伙伴说说看,有啥是你想做但一直没做的,有计划一起合作看看。

(做着玩,胜在坚持)

9. 单元测试的爱恨情仇,作为码农们,你们写单元测试么?

作为从事软件开发多年的资深码农,看遍了各种事故和火葬现场。在接触测试驱动开发以及敏捷之后,发现这正是解决 bug 丛生、issue 漫天,最终导致 996 、007 修 bug 的困境。

这里将单元测试的一些看法分享给大家,希望能够提供一些启发。英译版同步发布在 dev.to,欢迎一起交流学习。

下面是正文。


浅谈测试:单元测试的爱恨情仇

引子

"开发安全可靠的应用程序的最好方式,就是不写代码。"--Kelsey Hightower

很多开发者应该或多或少听过单元测试( Unit Tests ),甚至编写过,也或许对其有所了解。不过,在如今瞬息万变的环境下,单元测试似乎正在成为鸡肋。程序员们都知道它的好处,但是对其显得比较冷淡。“进度这么赶,还有什么时间写单元测试呢?”这样的话是不是听着很熟悉?

单元测试是什么?

所谓单元测试,简而言之就是程序员编写测试代码来验证自己写的功能代码是否能按照要求运行。如果测试代码不能通过,就说明自己写的功能代码是有问题的。

这种自己测自己的方式似乎有些可笑,相当于考试时看着答案做题。然而在测试领域,这样的方式有个专业术语叫白盒测试。而白盒测试的对立术语叫黑盒测试,也就是用其他方式来验证。单元测试属于白盒测试,而更高级的测试例如集成测试( Integration Tests )、端到端测试( End to End Tests )、UI 测试( UI Tests ),都属于黑盒测试。单元测试仅仅是测试代码本身。

Testing Pyramid

单元测试有什么用?

单元测试在敏捷开发( Agile Development )中是非常有用的工具。甚至有些敏捷框架,例如极限编程( XP ),就要求每一个功能必须被单元测试覆盖。在之前的文章《浅谈敏捷:你的团队在正确实践敏捷吗?》就提到过单元测试的重要性。

概括来说,单元测试有下面几个重要作用:

  • 可持续质量保证:单元测试能保证业务逻辑代码在经常性的被更改或重构之后不被破坏
  • 自动化集成:单元测试一般可以集成到 CI/CD 中,当代码提交后自动触发
  • 功能文档化:测试用例可以帮助新接触该代码的开发者熟悉代码的功能和验证条件

因此,表面上来看,单元测试对于软件开发来说会带来比较大的收益。

为什么不写单元测试?

单元测试可以提高我们的产品质量、测试效率,那为什么程序员还是不喜欢写单元测试呢?据 JetBrains 统计,被调查者中仅有 57% 要写单元测试,仅有 35% 会在大部分项目中实施自动化测试。

那么,为什么?有几个可能的主要原因:

  • 工作量变多:“50 行代码的功能,要我写 100 行来测?不加班能完成?”
  • 专业自信:“我一个资深程序员,写出来的程序怎么可能有 bug 呢?”
  • 感觉不适用:“就这么几个页面,也需要写单元测试?”
  • 有专人测试:“反正都有 QA 了,找他们来不就是找 bug 么?”

然而,这几个原因都经不起推敲:第一,长期来看自己修复 bug 写的代码量肯定远不止这么点;第二,不管是多么牛逼的程序员,代码写多了,根据大数定理,都会有失误的时候;第三,简单功能如果被引用多了,也会变得重要;第四,QA 的主要工作是保证整体质量,而单元测试是保证局部质量,缺陷部件组装出的产品会优质么?

变得有远见

其实,这里最主要的原因是思维模式,程序员大部分时候会站在个体的角度,思考短期的问题,从而忽略了长期的成本收益。作为一个合格的开发者,最主要目标是用最有效的方式开发出最大价值的功能。因此,单元测试在短时间内无法创造价值,从而被很多人忽视。

单元测试就像读书,短期内不能让人知识渊博、名利兼收,但长期来看是会有效果的。单元测试如果成为习惯或组织文化,就会更容易打造高质量产品和持续交付。要在团队中推广单元测试,需要更根本的流程,例如极限编程、测试驱动编程,或者更高决策者,例如 CTO 、架构师。

社区

如果您对笔者的文章感兴趣,可以加笔者微信 tikazyq1 并注明 "码之道",笔者会将你拉入 "码之道" 交流群。

本篇文章英文版同步发布在 dev.to,技术分享无国界,欢迎大佬们指点。

10. 随身 WiFi 怎么样?

Base 广州,想入手一个随身 WiFi ,闲暇玩玩 Steam 上的游戏,如 CSGO 一类,小伙伴们有推荐的吗?

看了一下华为的随行 WiFi 3 Pro,价格略贵,正在犹豫中~

11. 当微信炸号了,才发现我们绑了太多的东西在一个广东民营企业的 app 上

今天微信炸号,微信团队提示说,已禁用你所有社交功能。大概估算了下炸号的损失,绑定的各种公众号、小程序就拜拜了,各种会员也就作罢,聊天朋友圈如果算社交被禁用也说得过去,但是发现最大的问题是:

学校群里面需要接龙算不算社交?街道网格员让微信里填这干那又算不算社交?如果不算,为啥这些事要在广东一家民营企业霸王条款的 app 上进行?

真的希望微信一家独大的现状能有人打破。奈何身边不懂技术的人都不会换别的 app ,运营商的飞信 易信又沦为诈骗温床。。。。哎。。。。

12. 老板今天找我谈话,我感觉我给了他个惊喜

今天老板找我谈话,有个同事要走了,所以我已经猜到是要给我画饼了,顺便让我接手同事的活。 我直接跟老板讲,年后我也要走,准备考研去了…… 我是不是不该这样做?但我觉得有些话还是得说明白才行

13. 纠结了很久最终还是入手 Series 8 了,但是 Ultra 是真的好看。

纠结了好几天,最终还是入手 Series 8 ( 41 毫米星光色铝金属表壳;赭红色皮制链式表带),想来 ultra 对我的来说没有啥别的用处,不爱游泳、不爱山地户外。哈哈哈哈哈,各位的 Series 8 用着咋样?有没有买保护壳啥的?求推荐一款充电器(不考虑官方)。

14. 最近网上讨论很多的苹果备忘录丢失问题

今天因为 Mac 照片下载原片一直下不动,我电话了苹果客服。

她有一个建议是让我 Mac 上重新登录一下 iCloud 账号,我就问重登会不会触发最近的备忘录丢失问题。

她说重登肯定会导致备忘录被清空后重新拉,会不会出问题这个不太确定。然后就很实在地说,虽然他们的 iCloud 还是挺好用的,但确实还是存在个例,建议重要备忘录还是要在别的地方做双备份。

那么问题来了,我有大概 1000+的备忘录,她说只能一条条操作导出 pdf ,这工作量有点顶不住……

大家有什么比较好的备忘录备份方案吗?

iOS11 以前可以通过手机助手导出,现在已经不行了。