рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╡рд░реЗрдЬ - рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдЕрдЬрдЧрд░ рдХреЛрдб рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛

рдпрд╣ рдХреИрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЕрдЬрдЧрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдпрд╛ рд╕реНрд╡рдпрдВ) рдиреЗ рдХреЛрдб рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рд╣рд╛рде рд╕реЗ рд╕рдм рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдиреЗ рдпрд╛ pydoc рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рддрдм рддрдХ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЧрд▓рддреА рд╕реЗ рдПрдХ рдкреБрд░рд╛рдиреА-рдкреБрд░рд╛рдиреА рд▓рд┐рдкрд┐ рдореЗрдВ рдирд╣реАрдВ рдЖ рдЧрдпрд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдХрд╛рдВрдЯрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рд░рд▓ рд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред

рдирддреАрдЬрддрди, рдореБрдЭреЗ рдПрдХ рд╕рд░рд▓ рдФрд░ рдЙрдкрдпреЛрдЧреА (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП :)) рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╡рд░реЗрдЬ рдЯреВрд▓ рдорд┐рд▓рд╛ рдЬреЛ рдЖрдкрдХреЛ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХрд╡рд░реЗрдЬ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
docstring-coverage [] <    > 


рдЖрдЙрдЯрдкреБрдЯ рдЙрджрд╛рд╣рд░рдг:
 $ docstring-coverage docstring-coverage/ File docstring-coverage/setup.py - No module dostring! Needed: 1; Exist: 0; Missing: 1; Coverage: 0.0% File docstring-coverage/docstringcoverage/__init__.py - No module dostring! Needed: 1; Exist: 0; Missing: 1; Coverage: 0.0% File docstring-coverage/docstringcoverage/cover.py - No docstring for DocStringCoverageVisitor! - No docstring for DocStringCoverageVisitor.__init__! - No docstring for DocStringCoverageVisitor.visitModule! - No docstring for DocStringCoverageVisitor.visitClass! - No docstring for DocStringCoverageVisitor.visitFunction! - No docstring for DocStringCoverageVisitor.getResult! - No docstring for get_docstring_coverage.printDocstring! Needed: 11; Exist: 4; Missing: 7; Coverage: 36.4% Overall statistics for 3 files: Docstrings needed: 13; Docstrings exist: 4; Docstrings missing: 9 Total docstring coverage: 30.8%; Grade: not so good 

рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ -m рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ __magic__ рдкрд╛рдпрдерди рдФрд░ -v рддрд░реАрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ 0 рд╕реЗ 3 рддрдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ "рдмрд╛рддреВрдиреАрдкрди" рдХреЗ рд╕реНрддрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдХрд╡рд░реЗрдЬ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдорд╕реМрджреЗ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 import docstringcoverage cover_results = docstringcoverage.get_docstring_coverage(['somefolder/somefile.py']) 


рд╕реВрдЪреА рдХреЗ рджреЛ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛:
 [ {'< >': { 'missing': ["< ,   ","..."], 'module_doc': <True or False>, #     'missing_count': <missing_count>, #   'needed_count': <needed_docstrings_count>, #     'coverage': <percent_of_coverage>, #  'empty': <True or False> #True,    #( , ,   ) }, ... }, #   { 'missing_count': <total_missing_count>, 'needed_count': <total_needed_docstrings_count>, 'coverage': <total_percent_of_coverage>, } 


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рд▓реЗрдЦрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда рдкрд░ рд╣реИред

Source: https://habr.com/ru/post/In149371/


All Articles