NVDA 插件开发实践第一篇: “画饼”篇

这是 NVDA 插件开发实践系列文章的第一篇。

2023年已经悄然进入了十二月,对于笔者来说,2023年是不平凡但很有挑战的一年。从学生到打工人的转变有点措手不及,但也充满着热情和好奇。

成为 NVDA 的 Contributor 有多长时间了呢,确切来说,5年了。这个项目让我收货了太多,然而 Coding 可能只是一小方面。

为什么要写这个系列的文章?
随着 NVDA 在国内的普及,很多用户想入坑 NVDA,其中步伐对编码有热情的小伙伴,有些人想开发插件,增强其功能,有些人希望成为 NVDA 的 Code Contributor 为开源项目贡献自己的一份力量。

笔者是 NVDA 用户,是开源贡献者,是NVDA 中文本地化的维护者。你想学的,我恰巧知道,你想做的,也许我正在做着。

本系列文章的大致撰写思路:寻找一个具体需求,使用 NVDA 插件去实现它,解决问题的同时,展示一些 Best Practice 以期对 NVDA 入门贡献者产生一点启发和引领作用。

我希望用这个系列的文章展示以下内容:

  1. 前期准备
    • 分析个人需求
    • 查找可能的解决方案
  2. 开发插件
    • 在工程层面做一些小实验以验证思路
    • 写一个 Demo Script 初步实现功能
    • 手动构建一个 Add-on package 进行初步分发
  3. 测试并改进
    • 处理发现的错误
    • Code Review 让代码更加 pythonic
  4. 遵循最佳实践 Best Practices
    • 符合社区规范
    • 国际化考虑,可翻译字符串和翻译模板
    • Comments、Docstrings 和 Type Hints
  5. 版本控制和 CI 自动化构建流程。

注定这个系列不是面向初学者的入门指南,你至少应该熟练掌握甚至精通 NVDA 的使用,其次,你至少应该对 python 有所了解,能够用 python 编写一些处理日常任务的脚本应该是最基本的要求。

其次,我有自己的本职工作,这个系列的文章可能无法保证更新频率。

即使你是一个有经验的 python 老手,你也可能对文章中突然出现的关键词感到一脸茫然,但不用担心,这些你都可以在 Google 搜索到,请善用搜索引擎。

最后,我希望听到你的赞美和批评,请通过任意一种你喜欢的方式给我一些反馈。

标签: NVDA 插件开发, 开发实践

已有 5 条评论

  1. 好奇的01

    赞美:这个系列出发点很好,希望能结合一个案例,把一个插件开发的台前幕后展现给有志参加贡献的心同学。
    批评: 希望不要虎头蛇尾。希望不只是代码的编写,而是讲解思路。由于开发是一项富有创造力的工作,需要经常在社区查找资料,在代码库寻找实现某特性的代码片段,简单的一个系列文章是不可能交汇一个新手学会开发插件的,但这篇文章可以交汇新手学会如何找思路、找灵感。

    楼主加油👍👍👍。

  2. l_evil

    想法不错,坐等大佬分享

  3. 菜鸟

    大佬现就职于哪?b

    1. Eureka

      某工地搬砖。

      1. 好奇的01

        羡慕你这种班专人啊

添加新评论