37-AI 时代,代码评审方式究竟怎样优化?关键要点有哪些?

背景 在项目开发过程中,代码评审还是很重要的,主要是为了解决代码规范、功能开发方式、相互学习等问题,代码是否符合规范,关系到项目成员协作的问题。 如果写出来的代码风格五花八门,那么,在沟通交流上面,就额外增加了难度,而这是完全没有必要的。 除此之外,上面说到的功能开发方式问题,意思就是,每个人都有可能是孤岛,一个人的想法可能会有缺陷,如果多个人沟通以及探讨,相互学习,有可能会从不同视角发现潜在的问题。 人工代码评审 一直以来,我们要做项目代码评审,通常都是有这几种方式,比如项目组成员交叉验收各自的功能代码,然后把问题整理到文档,再一起组织代码评审会议,把问题都过一遍,然后安排任务去调整。一方面解决了代码存在的问题,另一方面通过深入交流,大家相互学习。 还有,就是在 GitLab 代码合并阶段,项目成员发起功能分支合并至主分支,由项目负责人去审查项目成员提交的代码分支。 如果没有问题,则合并到主分支;如果有问题,则反馈给项目成员。待项目成员修复完成再次发起分支代码合并,然后,项目负责人确认之后,合并到主分支。这个应该就是常规的代码评审流程。 但是,随着团队的发展以及对降本增效的要求,开始着手去研究,团队中哪些工作是有可优化的空间? 项目负责人承担的工作事务越来越多,怎么去有效简化无意义的工作,成为了当前亟需解决的问题。 SonarQube 基于上面降本增效的目的,我之前调研了 SonarQube 代码检测工具。 它基本支持了市面上的 Java、Go、JavaScript、TypeScript 等十多种语言,并提供几千条代码规则,用于代码规范检查、代码优化提示等代码质量问题。 支持结合 GitLab 的 CI/CD 做流水线事件中断,方便代码提交人员,自行去查看反馈的问题。 并且,提供 SonarLint 这个 IDE 插件,在代码编写时,就反馈存在的问题,并给出修改建议。 后来为了减少项目负责人的代码评审工作,整个部门的项目,就都接入了 SonarQube 来实现代码问题检查工作。 在使用 SonarQube 的过程中,给我印象深刻的主要有以下几点: 如果一个历史项目要接入使用 SonarQube 工具去检查代码,这个时候,势必会有很多问题反馈,比如可能 2000 个问题,这个时候,是否要立马安排时间去解决呢? 立马安排的话,就需要比较多的时间了,如果不立马安排解决的话,这些问题应该什么时候去解决呢? SonarQube 提出了一个 “新代码” 的概念了,意思就是,可以不立即就把这 2000 个问题修复掉,而是在项目功能迭代的过程中,逐步把有问题的代码修复掉。 因为项目功能有迭代,意味着,这部分代码就需要去改动,趁此机会,刚好同步解决掉遗留的代码问题,慢慢地,遗留的 2000 个问题就会以这种方式解决掉。 至于哪些没有迭代的,说明功能已经很稳定了,或者功能不重要,那优先级也相对更低了。 SonarQube 官网文档的这篇说明 《Clean as You Code》 提出的这个方法论,我觉得理念还是很不错的: SonarQube 旨在通过帮助您(开发人员)确保您提交到项目中的每个代码更改都没有问题,从而确保高代码质量和安全性。通过始终提交干净的代码,您可以逐步提高项目的整体质量。我们称这种方法为“Clean as You Code”。 Clean as You Code 的核心思想是将注意力和精力集中在新代码上。在您进行功能和改进时,SonarQube 会在每次新提交时分析您的代码,并在任何代码质量问题和安全问题上提醒您。然后,您可以立即解决这些问题,并确保添加到项目中的所有新代码始终是干净的。 ...

2025-07-02 · 1 分钟 · 130 字

《阴阳师1、2》观后感:看日本妖怪文化引发的影视创作思考

引言 2023 年 5 月,看完了《阴阳师》电影,因为电影上映年份久远,我就在想会不会有第二部,本身对这个题材很感兴趣,就去找了一下,结果发现没有,就此作罢了。 没想到最近在 B 站重温了相关剪辑视频,发现有一些画面我都没有见过,怎么还有第二部?惊奇之余,很是期待,就把第二部也看了。 剧情概述 《阴阳师》是泷田洋二郎执导,并由野村万斋主演的奇幻题材电影,影片讲述了日本平安时代,妖怪横行,接连发生各种怪事,给人间带来了很多祸乱,法术高超的阴阳师安倍晴明,虽与世无争,但心怀天下苍生,一一解决了这些问题,还人间安宁的故事。 第一部于 2001 年上映,日本平安京时期,皇室深陷鬼怪之乱。左大臣之女诞下的小皇子遭人诅咒,厄运缠身。暗处的符咒暗藏杀机,似要取天皇性命。原来,阴阳头道尊妄图解封 150 年前早良亲王的恶魂,借其对皇室的怨念,将平安京推入地狱深渊。安倍晴明、源博雅与青音携手追查,过程中危机四伏。最终,青音献祭自己,晴明以精妙布局擒获道尊,平息了这场危及天下的灾难 。 第二部于 2003 年上映,京城接连发生鬼魅夜袭朝臣的骇人事件。受害者身体部位相继离奇消失,有人肩膀被噬,有人眼鼻不翼而飞,有人嘴唇残缺,恐怖气息笼罩全城。安倍晴明在追查中发现,城内供奉的天丛云剑不时发出鸣响、绽放光芒,似在传递某种预兆。随着调查深入,背后真相逐渐浮出水面,原来这一切竟是一场因剿灭出云国引发的国恨家仇所致,最终晴明抽丝剥茧,揪出元凶,平息了这场腥风血雨。 对日本妖怪文化产生兴趣 其实,早在 2016 年,我就已经知道《阴阳师》这部电影,当时,看了一个百鬼夜行的剪辑视频,里面混剪了很多日本奇幻电影的影视形象,用来当作 UP 主对日本妖怪的具象化理解,其中,就有来自《阴阳师》这部电影的安倍晴明。 因为,这个剪辑视频里面使用的配乐《Sakitama~幸魂~》我很喜欢,所以,就去了解了一下。 这首曲子是 Rin’(凛)这个日本传统乐器演奏团体创作的,先是尺八、然后是古筝、琵琶,然后是三味弦,空灵苍茫又不失温婉流转。 不管是纯乐版还是演唱版,都很好听,演唱版的歌词,百度百科上不知道是谁翻译的,还挺好的。 念之彷徨(何所求)、行之往往(即遇之) 苍穹如风(心之所向、澄空万里) 不觉入深山、扰林破寂静 朦胧兮、引余雾桥深处 清露生辉、雏鸟啁啾 守灯之明灭、其名为生命 思久之心、鼓动于胸、喷涌而出(幽然萌生、千古流传) 圣地之息(清流满溢)、喷薄震荡(染尽铅华) 闻竹间之细语(簌簌作响)、叹魂灵之所幸(映照其间) 清辉一缕终破缚(流光一束与梦萦) 而 Rin’(凛)这个乐团,我最喜欢的还有一首,那就是《Eternal》,是一首纯音乐的曲子,曲调悲凉,低鸣涕泣,闻之有肝肠寸断之感。 所以,2018 年我经常听,加上看了一部忍者电影《甲贺忍法帖》,这部电影也很不错,片尾曲是滨崎步为其创作的《Heaven》。 我的天啊,我很喜欢的一首歌,都不知道原来是这部电影的片尾曲,现在查了资料,才知道,可能 2018 年看完也喜欢过这首歌,但是,一定早就忘了。 当时,很为这部电影的结局感到难过,可能感触比较多,就填写了《七绝・宿命》。 江村晚照渔灯瘦,烟柳依依月满楼。 往昔伊人舟戏水,今朝何处水行舟。 说回 Rin’(凛)这个乐团,其实,使用的都是中国的传统乐器,尺八从唐代传入日本,听闻在中国已经失传了,但近年来,随着日本尺八艺术家的寻根活动,这一乐器重新回到了中国。 三味弦其实就是中国的三弦琴,于 1560 年经冲绳传到了日本。而三弦琴最近这两年好像很火,至少我觉得是这样,有褚琪桂梓使用三弦琴和现代乐结合起来,并在楼台栅栏边上演出,虽然很离经叛道,但我觉得还挺有创意的,也算是一种传承的方式了。 至此,才有了我后续对日本妖怪文化的一系列的关注和了解,不管是阴阳师、百鬼夜行、玉前藻、酒吞童子、天狗、河童等都基本知道是什么意思,而我也更是记住了安倍晴明这个人。 不久之后,看到网易推出了手游《阴阳师》,是一个回合制游戏,里面最主要的玩法,就是抽式神,还有就是氪金皮肤。这个游戏画面很精美,诡谲的画风,人物造型也独具一格,音乐也很贴切,各方面都很出彩。但我也没玩多久,就一两个月吧,后来就不了了之了。现在印象深刻的,只剩下主界面清冽的风铃声,叮叮铃铃的。 后来,我也看了很多日本奇幻类型的电影和动漫,比如电影《妖怪大战争》,还有动漫《夏目友人帐》和《虫师》。其中,《夏目友人帐》一共有 6 季我全都看完了,《虫师》就只拍了一季,至今我还不断重温,算是近几年在我心里评价最高的动漫作品。 对日本神话故事深入了解 《阴阳师》第二部是基于日本神话为蓝本而创作的,里面出现了很多和日本神话一一对应的人物和设定,比如须佐之男、八岐大蛇、伊邪那美和伊邪那岐等人物,虽然很久以前就对日本神话人物有一些了解,但都是碎片化的、不够深入和系统的,这一次又出现了与之关联的作品,刚好就对日本神话做一次全面的了解吧。 ...

2025-06-29 · 1 分钟 · 133 字

2025-06-28 运动记录

饮食 早餐:炒河粉+煎蛋+黑米粥 午餐:公司食堂 晚餐:下庄烧鹅 无氧 抬举,40kg,3组,每组10次。 往后拉,60kg,3组,每组10次。 有氧 总结

2025-06-28 · 1 分钟 · 9 字

技术网站使用体验与广告问题的思考

对于程序员来说,技术网站还是很多的,我可以列举出来很多个,比如 CSDN,简书,掘金,博客园,开源中国,力扣,InfoQ、思否等。 早些年我是逛开源中国的,后来,发现了 CSDN,就迁移到 CSDN 了,但是,CSDN 广告真的太恐怖了,不到万不得已,我是绝对不想打开的,因为真的受不了这个广告, 简书出来之后,就转到简书了,继续写一些技术文章,内容主要是遇到的问题分析、积累的一些解决方案等,但是,后来简书真的吃相越来越难看了。 满屏的广告不说,文章最后本来应该就是评论区的,硬是要在这个小地方塞进去了十几篇推荐的文章,每次看到最后,想看下评论区,都要把窗口拖下去很久才行。 文章左侧还有一个 APP 二维码,一直闪烁,我都不清楚简书的产品经理脑袋里装的都是什么,完全没有脑子,阅读文章内容时,注意力老是被这个二维码的动效干扰,人都变得很烦躁,猜测这个功能的目的,是为了推流下载简书 APP,但是,在实现这个目的过程中,采用了简答粗暴的方式,真的一点脑子都没有。 再加上文章详情页,右侧推荐的文章都是那种 “庞太师与我娘亲二三事” 之类的文章,我当时就觉得受够了,简书死不足惜。 再加上 2017 年饱醉豚无端抹黑程序员事件,彻底激了众怒了,所以,就转到博客园了。 博客园的优点其实很多的,比如整个网站没什么广告,然后个人博客风格还可以自定义,编辑器也过得去,但是不知道什么原因,没有继续在上面发发技术文章,或者平时逛逛,基本上得很少用,只能是我自己的选择问题了。 最后,就迁移到极客时间推出的 InfoQ 网站了,在上面写了几篇技术文章,感觉这个网站没那么多广告,这点还是很不错的,然后不管是编辑器、个人主页都很清爽,但说实话人气确实不咋地。而且,很多文章都是太资讯、行业化了?一看就不是程序员平时写的东西。 后面,迁移到掘金了,在掘金应该是比较久的了,之前一直也是不错的,但是,最近感觉掘金的广告也变多了起来,可能是有 KPI 绩效的要求,每次打开,都要顶部撑开一个大位置,用来放广告,然后再收缩起来,不知道这个动画效果是不是没有处理好的原因,每次都感觉卡顿,然后莫名其妙的。 这一点也是很烦的。以致有人写了文章吐槽这个,有意思的是,这篇文章还上掘金热搜榜了,也不知道掘金小编是怎么审核通过的,还是有格局的,亦或是早就看不惯了,迫于上级要求,只能通过这个方式表达不满了。 然后我现在发文,是掘金和公众号一起,先是在公众号发完,然后同步到掘金,然后再同步到个人博客。这一流程基本沿用至今。 上面就是一些使用技术网站的背景,从上面的描述中,可以看到,其实,自己是疯狂吐槽简书的,挑的问题也最多,那是因为很喜欢简书的,至少一开始真的很惊艳,干干净净,简简单单的,但是现在已经全都变了。 但是,任何事情都要结合实际情况来分析,从不同的角度去看,每个人都有不一样的难处。 用户觉得广告太多,阅读体验差,网站觉得我要运营,要买服务器,要花钱的,不搞点收益,怎么活下去,你们白嫖了还到处抱怨? 要解决这个问题,还是在于用不用。 如果不用那就眼不见为净,没有任何烦恼,如果要用,单纯去指责网站意义不大,愤怒、指责、抱怨只是短暂发泄下负面的情绪,没办法彻底解决掉这个问题。因为赚钱嘛,不寒碜。 同时,如果技术网站,要推行类似 Medium 的付费模式。我估计死得更快,我赏脸在你这个破网站上发表文章,没找你要稿费都不错了,我看点别人的文章还要收费? 毕竟,我们没有这个付费的传统习惯,从最初的音乐、电影、单机游戏和办公软件之类的,能用盗版用盗版,这个怎么说呢,不去评判好坏了。 我也有理由说的!现在的视频网站,都什么操作?开通会员还得看广告,这不是坑人吗?会员等级还分三六九等,VIP分成了好几个档次,简直是要把用户的钱包榨干!更夸张的是,同一份资源,换个设备看还要多花钱,这也太离谱了吧!还有那些限制分辨率、限制投屏的操作,这不是欺负人吗?我可是乖乖交了会员费的好人,怎么就要被这样对待?好人就该被枪指着是吧!你们既然这样,那别怪我去找盗版了!脸都不要了! 很多人都有过上面的经历,所以,才没办法单纯评判好坏。我们不是没有这个付费的传统习惯,我们只会为值得的东西买单。 再加上 Windows 之前之所以能在中国打开市场,并且,占据大部分市场份额,就是因为它默许了 Windows 盗版横行。而且,在开源这一块也是一样,要想让我们付费和打赏,还是太难了,我看尤雨溪入驻国内 “爱发电” 平台,想要扩宽国内的 Vue 赞助渠道,不会有几个钢镚的。 所以,回归正传,怎么解决这个技术网站的阅读体验问题呢? 只能是折中的手段,那就是通过安装广告拦截插件来解决了。甚至定位并拦截哪些广告区域,通过这个方式,后面再浏览各大技术网站时,已经干净很多了。 至此,现在看技术博文,就是在掘金比较多了,偶尔看下 InfoQ 上的文章,因为有一些资讯或者访谈类的文章,其实还是不错的。 然后,因为之前的 ARTS 打卡活动,也经常要看下力扣的,现在这个打卡活动结束了,时不时也去看下日常的讨论,还有就是思否,这种问答式的模式其实还是很不错的,只是感觉有些时候,感兴趣的话题不是很多。 现在,基本不会怎么改变这个习惯了吧。

2025-06-26 · 1 分钟 · 57 字

找技术答案的经历:从踩坑到用 AI 的变化

2020 年 7 月,因为第一次使用 Flutter 来开发项目,所以研究后发现,如果要使用 iPhone 真机调试,需要在 XCode 上运行。但当时苹果手机系统版本是 13.6,而 XCode 是 11.3.1,所以运行时出现如下提示: This iPhone 11 is running iOS 13.6 (17G68), which may not be supported by this version of Xcode. An updated version of Xcode may be found on the App Store or at developer.apple.com. 也就是说,当前 XCode 版本过低,不支持当前手机的版本。然而,App Store 没有 XCode 升级提示,我便以为 XCode 还没有新版本发布。那么,要解决这个问题,当下就是想办法让其支持 13.6 版本的手机。 于是我在百度上搜索,发现 CSDN 有很多 iOS 13.6 真机调试包可以下载,但需要积分。由于 CSDN 广告太多,我早已反感,之前攒的积分也花光了,所以没办法下载。 当时我就想,为什么别人能弄到这个 13.6 真机调试包,总不可能都是自己做出来的吧。反正我看到 CSDN 上面到处都是,都标着很高的积分,心里暗自吐槽,这尼玛是不是都你抄我、我抄你的啊。好多东西无非就是信息差,提前知道了,或者在外网看了相关讯息,拿到别人的东西,就拿到国内来卖。 如果是自己辛辛苦苦弄出来的,也认了,毕竟是自己的劳动成果。但如果是拿别人的东西来唬人,那性质就不是一样的了。 反正很长一段时间里,我使用百度搜索一些问题的解决方案,不下五六篇都是一模一样的,我都不知道谁才是原创。或者本来答案就是 Stack Overflow 上面的,只不过翻译了一下而已,也不给个链接或者标注下,真是糟糕透了。 基于这个原因,我用必应搜索,搜索到的结果很干净,没有那么多杂七杂八的东西(比如满屏的广告)干扰定位问题答案。 比如搜索 XCode 13.6 相关内容,我慢慢找,就发现了这个问题:Xcode 11.5 doesn’t support iOS 13.6?,没错,Stack Overflow 上面就有答案。 Stack Overflow 除了访问很慢,其它没什么问题。而且在这个问答里,我找到了 13.6 真机调试包下载的地方,也就是 Github 上面的iPhoneOSDeviceSupport。我看了这个项目,是好几年前的了,甚至 14.0 的真机调试包都有提供。所以我严重怀疑 CSDN 上面那些就是抄的这里的,从这里下载后,自己标上积分供人下载。 ...

2025-06-21 · 1 分钟 · 129 字