第68期:代码质量的悖论

2024-07-14

在互联网公司,代码质量是个很重要的事,它关系到线上服务的稳定性,因此各个公司、各个团队也都做了大量代码质量相关的工作,网上也能搜到很多大厂的代码质量相关实践的分享。对于代码质量的维护,无非是三个阶段的事情:编码前、编码时、编码后。

编码前

编码时

编码后

以上都是理想中的情况,实际情况却是:

这些问题公司或领导不知道吗?当然知道,所以就搞了各种流程规范要求大家去遵守,制定了各种指标,试图用这些指标去衡量代码质量,然而实际情况却是代码质量更差了。

各种冗长繁琐的流程浪费了大量的开发时间,你的会开完了,那我的代码呢,只能随便写写,草草了事了;至于重构,能有什么可以量化的收益吗,好像并没有,那就不要动它了;Code Review?还是前面那个问题,时间都浪费在其他地方了,哪还有时间啊;至于各种指标,那就面向指标编程,提升指标的办法多的是,但对代码质量没什么用。

其实最根本的问题是关注代码质量时,没人关注代码本身,而是关注各种可以撇清责任的流程和可以提高业绩的指标。至于代码本身谁关心呢,又不是不能跑,如果真跑不了,那人可以跑的嘛。


技术

面向未来的 Vue 和 Vite

本文是尤雨溪近期在深圳 VueConf 上做的分享,主要介绍了 Vue 的发展历程、开源社区的重要性和目前遇到的一些挑战与解决方案,使用 Vue 的开发者可以详细了解一下。

ITCSS: Scalable and Maintainable CSS Architecture

这是一篇 2016 年的文章,比较老了,介绍了一种可扩展和可维护的 CSS 架构。虽然近些年各种 CSS 方案层出不穷,但回头看 ITCSS 这种架构依旧是个不错的方案,并且目前的 CSS 方案或库里面也会有些它的影子。

开源

QR-X

一个用于生成二维码的库,支持 React、Vue、Solid 和原生 JavaScript,与其他同类库不同的是,它可以自定义程度很高,可以自定义各种样式。

Nestia

一个用于 NestJS 的工具库,主要包含路由、参数校验和转换的装饰器,以及 Swagger 文档生成工具,性能和功能性都比较强,比较有意思的是作者自称是韩国最好的程序员。

gridstack.js

一个拖拽式的网格布局库,可以用来构建 Dashboard 页面,比较好的一点是它是框架无关的,可以用于任何框架或原生 JS 的应用中,并且对移动端支持比较好。