Pylint의 파일 수준에서 "missing docstring"경고를 비활성화하려면 어떻게해야합니까?
Pylint는 일부 파일에 독 스트링이 없다는 오류가 발생합니다. 나는 각 클래스, 메소드 및 함수에 독 스트링을 추가하려고 시도하지만 Pylint는 파일이 시작될 때 독 스트링이되어야하는지도 확인하는 것 같습니다. 어떻게 든 이것을 비활성화 할 수 있습니까? 클래스, 함수 또는 메서드 내부에 독 스트링이 누락되었다는 알림을 받고 싶지만 파일에 독 스트링이 있어야하는 것은 아닙니다.
(독점적 인 소스 파일의 시작 부분에서 흔히 볼 수있는 법적 전문 용어가 있습니까? 예가 있습니까? 그런 사소한 질문을 별도로 게시해도되는지 모르겠습니다.)
파이썬 모듈에 docstring이있어서 모듈의 기능, 제공 사항, 클래스 사용 방법의 예를 설명하는 것이 좋습니다. 이것은 IMO가 독 스트링에 들어가서 는 안되는 저작권 및 라이센스 정보를 제공하는 파일의 시작 부분에서 자주 볼 수있는 주석과는 다릅니다 (일부는 완전히 사라져야한다고 주장하기도합니다. http : // hackerboss 참조). com / get-rid-of-templates / )
Pylint에는 독 스트링이 발생할 수있는 다양한 위치에 대한 별도의 코드가 없으므로 C0111을 비활성화하기 만하면됩니다. 문제는 모듈 범위에서 이것을 비활성화하면 모듈의 모든 곳에서 비활성화된다는 것입니다 (즉, 누락 된 함수 / 클래스 / 메서드 독 스트링에 대한 C 줄을 얻지 못할 것입니다. 당신을 괴롭히는 경우 github 에서이 pylint 문제에 기여 하십시오.
그래서 내가 제안하는 것은 작은 누락 된 독 스트링을 추가하여 다음과 같이 말하는 것입니다.
"""
high level support for doing this and that.
"""
머지 않아 클래스 / 함수의 개별 독 스트링에 속하지 않는 모듈의 다양한 클래스 / 함수를 사용하는 방법에 대한 예제를 제공하는 등 유용한 정보를 찾을 수있을 것입니다 (예 : 상호 작용하거나 빠른 시작 가이드와 같은 것).
늦었지만 여전히 유용하다는 것을 알았습니다. 그래서 공유. 여기 에서 찾았 습니다 .
경고를 비활성화하기 위해 pylint에 "--errors-only"플래그를 추가 할 수 있습니다.
이렇게하려면 설정으로 이동하십시오. 다음 행을 편집하십시오.
"python.linting.pylintArgs": []
같이
"python.linting.pylintArgs": ["--errors-only"]
그리고 당신은 갈 수 있습니다!
@cerin이 말했듯이 Django 프로젝트에서 새 앱을 만들 때 django가 자동으로 생성하는 모든 파일에 모듈 독 스트링을 추가하는 것이 번거롭고 중복되기 때문에 답을 찾고 왔습니다.
따라서 pylint가 독 스트링 유형의 차이를 지정할 수 없다는 사실에 대한 해결 방법으로 다음과 같이 할 수 있습니다.
pylint */*.py --msg-template='{path}: {C}:{line:3d},{column:2d}: {msg}' | grep docstring | grep -v module
grep 할 때 파일 이름을 알 수 있도록 msg-template을 업데이트해야합니다. 모듈을 제외한 다른 모든 누락 된 독 스트링 유형을 반환합니다.
그런 다음 모든 오류를 수정하고 나중에 실행하면됩니다.
pylint */*.py --disable=missing-docstring
아니요. Pylint는 현재 doc-string 경고를 구별 할 수 없습니다.
그러나이 경고를 무시하기 위해 doc-string 확장과 함께 모든 파이썬 코드 검사에 flake8을 사용할 수 있습니다.
pip로 doc-string 확장을 설치합니다 (내부적으로 pydocstyle 사용 ).
pip install flake8_docstrings
그런 다음 --ignore D100
스위치를 사용할 수 있습니다 . 예를 들면flake8 file.py --ignore D100
이 기능을 비활성화하지 않고도 수정이 상대적으로 쉽다고 생각합니다.
def kos_root():
"""Return the pathname of the KOS root directory."""
global _kos_root
if _kos_root: return _kos_root
모든 함수에 트리플 큰 따옴표 문자열을 추가하기 만하면됩니다.
pylint 2.4 이상 missing-docstring
에서는 다음 세 가지 하위 메시지를 사용하여 다양한 항목 을 구별 할 수 있습니다 .
C0114
(missing-module-docstring
)C0115
(missing-class-docstring
)C0116
(missing-function-docstring
)
따라서 다음 .pylintrc
파일이 작동합니다.
[MASTER]
disable=
C0114, # missing-module-docstring
Edit "C:\Users\Your User\AppData\Roaming\Code\User\settings.json" and add
python.linting.pylintArgs lines at the end as shown below:
{
"team.showWelcomeMessage": false,
"python.dataScience.sendSelectionToInteractiveWindow": true,
"git.enableSmartCommit": true,
"powershell.codeFormatting.useCorrectCasing": true,
"files.autoSave": "onWindowChange",
"python.linting.pylintArgs": [
"--load-plugins=pylint_django",
"--errors-only"
],
}
ReferenceURL : https://stackoverflow.com/questions/7877522/how-do-i-disable-missing-docstring-warnings-at-a-file-level-in-pylint
'Development Tip' 카테고리의 다른 글
파이썬에서 2의 보수 (0) | 2020.12.15 |
---|---|
Linux에서 getch () 및 getche ()에 해당하는 것은 무엇입니까? (0) | 2020.12.15 |
Node.js를 사용하여 파일 시스템의 디렉토리 구조를 JSON으로 변환 (0) | 2020.12.15 |
C # 보호 메서드 단위 테스트 (0) | 2020.12.15 |
Haskell에 암시 적 병렬성이없는 이유는 무엇입니까? (0) | 2020.12.15 |