Argument Clinic does not check the length of parameter descriptions
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
The docstring line length check is performed before the parameter descriptions are added to the docstring:
max_width = f.docstring_line_width
summary_len = len(lines[0])
max_body = max(map(len, lines[1:]))
...
if not parameters_marker_count:
lines.insert(2, '{parameters}')
So a description of any length is accepted without a warning.
24 functions in the current tree have parameter description lines longer than the limit (the number of too long lines is in parentheses):
_lzma.LZMADecompressor(4)select.epoll(3)int.to_bytes(2)select.kqueue.control(2)str.encode(2)winreg.SetValueEx(2)_sqlite3.Connection.getconfig_sqlite3.Connection.setconfig_sre.template_winapi.RegisterEventSource_zstd.ZstdCompressor.set_pledged_input_sizebytearray.decodebytearray.rsplitbytearray.splitbytearray.take_bytesbytes.decodebytes.rsplitbytes.splitgc.set_debugos.timerfd_createselect.poll.pollwinreg.ConnectRegistrywinreg.DeleteTreezlib._ZlibDecompressor
This is easy to miss for a cloned function, which inherits the descriptions of the function it clones: bytes.split and bytes.rsplit (and the bytearray pair) both have a 69 character line, and rewrapping the description in bytes.split does not make Argument Clinic report anything for either of them.
This is a leftover of #150285.
Linked PRs
- gh-155251
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con la comprobación de longitud de línea de docstring de Argument Clinic mostrada en el issue y revisa el contexto de #150285. Usa las funciones afectadas indicadas, incluidos pares clonados como bytes.split y bytes.rsplit, para verificar que se detectan las descripciones de parámetros demasiado largas y que el PR enlazado gh-155251 refleja el comportamiento completado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100