Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Type-hint coverage audit: ~75% overall, parameter annotations lagging in several modules

未关闭
#60 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
52/100
Issue 类型
重构
描述清晰度
基本清楚
活跃度
冷清
技术栈
python

调研方向

从 src/machinevisiontoolbox/cvfuncs.py、ImageCore.py、Sources.py、ImageRegionFeatures.py、BagOfWords.py 和 ImageBlobs.py 开始,将其中的注解与项目现有的 typing 约定以及 mvtb_types.py 等已完成注解的模块进行比较。使用所述的现代形式添加缺失的参数注解,同时保持行为不变;完成标准是已处理覆盖率最低的六个模块。

由索引模型根据 Issue 内容生成。

描述

tech-debt

Found 2026-08-10 while reviewing unmerged branches during a cleanup pass. An old typing branch (base commit 2022-10-18, predates the src/-layout restructure) attempted a broader typing pass but is no longer mergeable — its module paths no longer exist. Later, separate efforts did land on main (e.g. acc8222b, 524c7b8c, PR #32/fix/annotations-and-deprecation-warnings), so coverage today is real but partial, not complete.

An AST-based audit of parameter/return annotations across src/machinevisiontoolbox gives:

OVERALL: 54.3% params, 95.4% returns, 74.9% average

Return-type coverage is already strong almost everywhere (many modules at 100%); the gap is almost entirely on parameter annotations. Full per-module breakdown, sorted by average:

Module                       Param %   Return %   Avg %
cvfuncs.py                    100.0%      0.0%     50.0%
ImageCore.py                   30.9%     94.7%     62.8%
Sources.py                     38.0%     91.1%     64.6%
ImageRegionFeatures.py         31.0%    100.0%     65.5%
BagOfWords.py                  39.1%     95.7%     67.4%
ImageBlobs.py                  38.0%    100.0%     69.0%
ImageConstants.py              72.3%     71.4%     71.9%
ImageMultiview.py              68.2%     83.3%     75.8%
ImageIO.py                     58.5%     93.3%     75.9%
ImageWholeFeatures.py          55.6%     97.6%     76.6%
ImageProcessing.py             68.0%     86.4%     77.2%
ImagePointFeatures.py          55.6%    100.0%     77.8%
BundleAdjust.py                56.0%    100.0%     78.0%
VisualServo.py                 63.2%     93.2%     78.2%
Kernel.py                      57.5%    100.0%     78.8%
PointCloud.py                  57.9%    100.0%     78.9%
Camera.py                      61.3%     99.0%     80.1%
ImageColor.py                  60.9%    100.0%     80.4%
ImageFiducials.py              69.6%     94.1%     81.9%
ImageLineFeatures.py           66.7%    100.0%     83.3%
ImageReshape.py                72.8%     96.0%     84.4%
ImageMorph.py                  77.1%    100.0%     88.5%
ImageTensor.py                 77.8%    100.0%     88.9%
ImageSpatial.py                78.7%    100.0%     89.4%
camera_derivatives.py         100.0%    100.0%    100.0%
decorators.py                 100.0%    100.0%    100.0%
docbugs.py                    100.0%    100.0%    100.0%
fiducial.py                   100.0%    100.0%    100.0%
mvtb_types.py                 100.0%    100.0%    100.0%

Fix

Work through the lowest-param-coverage modules first (cvfuncs.py, ImageCore.py, Sources.py, ImageRegionFeatures.py, BagOfWords.py, ImageBlobs.py — all under 40% param coverage), adding modern X | Y / X | None / list[X] annotations per the project's typing convention. No architectural changes needed, just incremental annotation additions per module.

主要语言
Python
星标
220
派生
30
平均合并
12 天 23 小时
30 天内合并 PR
5

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

petercorke/machinevision-toolbox-python 的其他 Issue

查看 petercorke/machinevision-toolbox-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。