- 博客(21)
- 收藏
- 关注
原创 一次AI辅助重构的踩坑实录
这篇文章算是一篇skill养成记,通过使用opencode+GLM,实践了一次重构skill的构建过程,这个skill只负责move method这一种重构手法。文中把跟AI相处的哭笑不得的过程记录了一下。把最终养成的skill和使用这个skill重构的代码PR放在了文章最后。
2026-05-11 22:46:43
438
1
原创 IOS、Android 和 OpenHarmony 音频焦点抢占机制对比
OS、Android、OpenHarmony 的音频焦点机制分别为:iOS 被动会话管理,Android 主动申请(四种抢占策略),OpenHarmony 双层机制(应用内独立/共享 + 应用间并发)。各平台均提供细粒度接口,开发者需适配以保证跨平台体验一致。
2026-05-08 19:51:41
620
原创 软件最佳实践不是“神坛代码”,而是你每天都在用的“套路”
摘要: 很多人误以为,软件最佳实践非做出“都江堰”那样的工程后世典范。本文想说明:最佳实践并非高深的理论,而是经过验证、切实可用的代码模式。它无分大小,但凡行之有效、能提升效率与质量的方法,皆可称为最佳实践——而我们其实每天都在使用或创造着它。
2026-03-26 16:17:14
336
1
原创 聪明的外行——AI编程在存量代码面前的窘境与新范式预言
摘要:本文探讨了AI编程助手在不同代码环境中的表现差异。研究发现,AI在维护存量代码时表现欠佳,因其难以理解历史遗留的隐式业务逻辑和技术债务;但在全新项目中,AI能充分发挥架构设计优势,生成结构清晰的代码。文章建议:对于存量代码,应将AI角色限制为代码审查和优化建议;对于新项目,可让AI主导开发,人类专注于需求定义和验收。这种"AI负责实现,人类把控需求"的新模式,或将重塑未来软件开发流程。
2026-03-25 19:36:15
527
原创 《大教堂与集市》PK《人月神话》,在对立中统一
中国有句古话“尽信书不如无书”,很多事物是有多面性的,我们有时候只看到其中的一面就奉为信条,往往有失偏颇。以前我对《人月神话》的观点确信无疑,这也是一直以来指导我软件生涯的向导。其实《大教堂与集市》与《人月神话》各自有其适用场景,无所谓对错,在不同场景下,我们要具备灵活运用的能力。当前AI风起的时代,可预见的马上又会有新的颠覆式的软件开发范式出现,我们要拥抱这种变化。
2026-02-27 19:24:47
71
原创 敏捷已死?
对于很多新时代的程序员,对于敏捷软件开发的概念,已然是很模糊的状态。因此有必要再引一下敏捷的发展历程,回顾一下哪些程序员激情燃烧的岁月。一、核心流程与工件管理二、团队协作与沟通三、质量与改进实践。
2025-10-26 21:59:45
315
原创 C++的map[key]使用陷阱--用放大镜看代码开发
这一版还是不完美,因为在find之后,如果find到元素,但是有可能在执行fooMap[key]的瞬间,元素被删除,此时操作的就不是find的元素。为了保证状态的一致性,一是可以对fooMap的操作加锁,同时要使用find出来的it值进行操作,而不是使用fooMap[key]操作。这样的话,如果std::make_shared<Value>()失败,就不会往fooMap中放东西,反过来讲,只要能从fooMap中find到,一定非空,这样就能保证fooMap中能find到的元素,一定是有效的,不需要再判空。
2025-09-15 13:23:49
373
原创 开源软件API设计原则(1)
正如Apache软件基金会倡导的:"好的开源API应该像城市的古老建筑——外部保持稳定,内部允许改造。"这种平衡艺术正是优秀开源API设计的精髓所在。正如Linux内核开发者Greg Kroah-Hartman所说:"开源API不是合同,而是承诺。:开源API可能被数以万计的开发者使用,而企业内API的调用方通常可枚举。:封闭系统中可通过协商逐步升级,而开源API的变更可能导致社区生态断裂。:建立API评审委员会(如Node.js的CTC):78%的兼容性问题源于未定义的异常行为。
2025-04-04 17:09:00
481
原创 linux内存管理概述
内存分配:例如,要请求一个256页(1M)的内存块,如果能找到,直接分配,如果找不到,则找512的内存块,如果能找到512的内存块,则将512的内存块,拆成2个256的内存块,将其中一个256页的块,分配给请求者,另一个256页的块,插入256页块的链表中。将所有的内存空闲页分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512,1024个连续的页。每个块第一个页的物理地址是该块大小的整数倍,例如,大小为16个页的块,其起始地址是16*4096的整数倍。
2023-12-01 07:29:39
156
原创 linux内存-页表管理
2级页表:需要的页数是256M/4K = 65536个物理页,一个二级页表(占4K物理内存)能表示1024(1K)个物理页地址,因此65536个物理页面需要65536/1024 = 64 个二级页表,同理,一个一级页表,能够包含1K个二级页表首地址,所以一个一级页就够了(能涵盖64个二级页表)。在64位架构的机器上,一个进程的虚拟地址空间大小理论上可以达到2的64次方字节,即16 EB(exabytes,十八亿GB)。不过,即使如此,64位架构依然能够支持更高的内存容量和更高的性能。
2023-12-01 07:28:18
623
原创 架构整洁之道--跟开源三方软件划清界限实战案例
本文根据《架构整洁之道》的指导原则,提供一种解决跟开源三方软件划分界限的设计方法,以提升基于开源三方软件开发效率。
2022-09-11 11:09:55
343
原创 架构整洁之道解读
本文解读Bob大叔的《架构整洁之道》一书,除了提炼整本书的内容外,对其中的一些隐晦知识点进行了展开讨论。希望跟有志于在软件架构上深耕的同仁一起探讨。
2022-09-06 00:10:18
1931
原创 小马过河
小马和他的妈妈住在绿草茵茵的十分美丽的小河边。除了妈妈过河给河对岸的村子送粮食的时候,他总是跟随在妈妈的身边寸步不离。 他过的很快乐,时光飞快地过去了。 有一天,妈妈把小马叫到身边说:“小马,你已经长大了,可以帮妈妈做事了。今天你把这袋粮食送到河对岸的村子里去吧。” 小马非常高兴地答应了。他驮着粮食飞快地来到了小河边。 可是河上没有桥,只能自己淌过去。可又不知道河水有
2016-06-06 21:08:03
613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅