NVDA 插件开发实践第一篇: “画饼”篇
这是 NVDA 插件开发实践系列文章的第一篇。
2023年已经悄然进入了十二月,对于笔者来说,2023年是不平凡但很有挑战的一年。从学生到打工人的转变有点措手不及,但也充满着热情和好奇。
成为 NVDA 的 Contributor 有多长时间了呢,确切来说,5年了。这个项目让我收货了太多,然而 Coding 可能只是一小方面。
为什么要写这个系列的文章?
随着 NVDA 在国内的普及,很多用户想入坑 NVDA,其中步伐对编码有热情的小伙伴,有些人想开发插件,增强其功能,有些人希望成为 NVDA 的 Code Contributor 为开源项目贡献自己的一份力量。
笔者是 NVDA 用户,是开源贡献者,是NVDA 中文本地化的维护者。你想学的,我恰巧知道,你想做的,也许我正在做着。
本系列文章的大致撰写思路:寻找一个具体需求,使用 NVDA 插件去实现它,解决问题的同时,展示一些 Best Practice 以期对 NVDA 入门贡献者产生一点启发和引领作用。
我希望用这个系列的文章展示以下内容:
- 前期准备
- 分析个人需求
- 查找可能的解决方案
- 开发插件
- 在工程层面做一些小实验以验证思路
- 写一个 Demo Script 初步实现功能
- 手动构建一个 Add-on package 进行初步分发
- 测试并改进
- 处理发现的错误
- Code Review 让代码更加 pythonic
- 遵循最佳实践 Best Practices
- 符合社区规范
- 国际化考虑,可翻译字符串和翻译模板
- Comments、Docstrings 和 Type Hints
- 版本控制和 CI 自动化构建流程。
注定这个系列不是面向初学者的入门指南,你至少应该熟练掌握甚至精通 NVDA 的使用,其次,你至少应该对 python 有所了解,能够用 python 编写一些处理日常任务的脚本应该是最基本的要求。
其次,我有自己的本职工作,这个系列的文章可能无法保证更新频率。
即使你是一个有经验的 python 老手,你也可能对文章中突然出现的关键词感到一脸茫然,但不用担心,这些你都可以在 Google 搜索到,请善用搜索引擎。
最后,我希望听到你的赞美和批评,请通过任意一种你喜欢的方式给我一些反馈。
赞美:这个系列出发点很好,希望能结合一个案例,把一个插件开发的台前幕后展现给有志参加贡献的心同学。
批评: 希望不要虎头蛇尾。希望不只是代码的编写,而是讲解思路。由于开发是一项富有创造力的工作,需要经常在社区查找资料,在代码库寻找实现某特性的代码片段,简单的一个系列文章是不可能交汇一个新手学会开发插件的,但这篇文章可以交汇新手学会如何找思路、找灵感。
楼主加油👍👍👍。
想法不错,坐等大佬分享
大佬现就职于哪?b
某工地搬砖。
羡慕你这种班专人啊