We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
任何项目在编写代码的过程中都难免出现一些 typo,而对 Paddle 这种大型项目而言,要 100% 避免 typo 是很难的。虽然 typo 不会影响代码的正确性,但可能会影响代码的可读性,给阅读代码的同学带来一些困扰。因此,我们希望引入工具来帮助我们自动化检测和修复 typo,以尽可能减少 Paddle 代码库中的 typo。
typos 是一个快速且可靠的拼写检查工具,能够帮助我们检测代码中的 typo,并提供自动修复功能。因此我们希望将 typos 作为新的代码风格检查工具,集成到 Paddle pre-commit 中,以帮助我们监控和修复代码中的 typo。
typos
与其它代码风格检查工具集成方案类似(如 Flake8、Ruff 等,可参考相关 RFC),工具的集成主要有两部分:存量修复和增量拦截。
关于增量拦截,我们可以直接利用现有的 pre-commit 机制,以及 PR-CI-CodeStyle-Check CI 流水线的检查机制,来确保增量文件中不会引入新的 typo。
PR-CI-CodeStyle-Check
关于存量修复,我们需要摸清目前存量 typo 情况,然后对 typo 进行分类,产出任务列表,接下来交给社区来推动 typo 的修复工作。
值得注意的是,如果改动涉及到 API(无论是 C++ 还是 Python),那么不要修改,因为任何 API 变动都可能会导致用户代码无法正常运行(比如 feeded)。另外就是 typos 的检查不是 100% 准确的,Paddle 框架内的一些术语可能会被误检成 typo(比如 lod)。因此如果发现误检的情况,应当将其加入配置的白名单中,避免误检。
feeded
lod
比如初步对框架内代码进行检测可以得到如下配置项:
# _typos.toml [default.extend-words] lod = "lod" dout = "dout" unpacket = "unpacket" Nd = "Nd" UE = "UE" Nce = "Nce" grad = "grad" arange = "arange" ot = 'ot'
可以通过运行 typos --format brief --exclude build --color=never 来对存量问题进行检测,然后将结果整理成任务列表,交给社区来推动 typo 的修复工作(相同 typo 作为同一个任务,方便 review,是误检还是真正 typo 由认领该任务的同学来判断)。
typos --format brief --exclude build --color=never
The text was updated successfully, but these errors were encountered:
luotao1
SigureMo
sunzhongkai588
No branches or pull requests
背景
任何项目在编写代码的过程中都难免出现一些 typo,而对 Paddle 这种大型项目而言,要 100% 避免 typo 是很难的。虽然 typo 不会影响代码的正确性,但可能会影响代码的可读性,给阅读代码的同学带来一些困扰。因此,我们希望引入工具来帮助我们自动化检测和修复 typo,以尽可能减少 Paddle 代码库中的 typo。
typos
是一个快速且可靠的拼写检查工具,能够帮助我们检测代码中的 typo,并提供自动修复功能。因此我们希望将typos
作为新的代码风格检查工具,集成到 Paddle pre-commit 中,以帮助我们监控和修复代码中的 typo。推荐实现路径
与其它代码风格检查工具集成方案类似(如 Flake8、Ruff 等,可参考相关 RFC),工具的集成主要有两部分:存量修复和增量拦截。
关于增量拦截,我们可以直接利用现有的 pre-commit 机制,以及
PR-CI-CodeStyle-Check
CI 流水线的检查机制,来确保增量文件中不会引入新的 typo。关于存量修复,我们需要摸清目前存量 typo 情况,然后对 typo 进行分类,产出任务列表,接下来交给社区来推动 typo 的修复工作。
值得注意的是,如果改动涉及到 API(无论是 C++ 还是 Python),那么不要修改,因为任何 API 变动都可能会导致用户代码无法正常运行(比如
feeded
)。另外就是typos
的检查不是 100% 准确的,Paddle 框架内的一些术语可能会被误检成 typo(比如lod
)。因此如果发现误检的情况,应当将其加入配置的白名单中,避免误检。比如初步对框架内代码进行检测可以得到如下配置项:
可以通过运行
typos --format brief --exclude build --color=never
来对存量问题进行检测,然后将结果整理成任务列表,交给社区来推动 typo 的修复工作(相同 typo 作为同一个任务,方便 review,是误检还是真正 typo 由认领该任务的同学来判断)。The text was updated successfully, but these errors were encountered: