Sample

pyint-d8a7d8b00d5e-I01

Remove comments and docstrings

Matched original source

Lines66

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Dorn0.6990–1; higher is more readable
Mi0.4110–1; higher is more readable
LLOC42Logical lines; fewer is more readable
DeepSeek V4 Pro14.670–20; mean of three runs
GPT-6.1 Sol160–20; mean of three runs
BTTF0.5380–1; higher is more readable

Views

Source code

from __future__ import annotations import ast import collections.abc as cabc import importlib.metadata import inspect import os import platform import re import sys import traceback import typing as t from functools import update_wrapper from operator import itemgetter from types import ModuleType import click from click.core import ParameterSource from werkzeug import run_simple from werkzeug.serving import is_running_from_reloader from werkzeug.utils import import_string from .globals import current_app from .helpers import get_debug_flag from .helpers import get_load_dotenv class CertParamType(click.ParamType): name = "path" def __init__(self) -> None: self.path_type = click.Path(exists=True, dir_okay=False, resolve_path=True) def convert( self, value: t.Any, param: click.Parameter | None, ctx: click.Context | None ) -> t.Any: try: import ssl except ImportError: raise click.BadParameter( 'Using "--cert" requires Python to be compiled with SSL support.', ctx, param, ) from None try: return self.path_type(value, param, ctx) except click.BadParameter: value = click.STRING(value, param, ctx).lower() if value == "adhoc": try: import cryptography except ImportError: raise click.BadParameter( "Using ad-hoc certificates requires the cryptography library.", ctx, param, ) from None return value obj = import_string(value, silent=True) if isinstance(obj, ssl.SSLContext): return obj raise

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.1683.691−55.562
Source linesThe number of non-empty source lines.66+26.4
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.4.27−6.405

Intercept 8.87 + feature contributions = -26.697 (log-odds).
Score = sigmoid(-26.697) = 0.

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.66+1.546
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.66−1.301
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.65.852+0.511
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.052+0.44
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names.86.91−0.016

Intercept 0.07 + feature contributions = 0.844 (log-odds).
Score = sigmoid(0.844) = 0.699.

Score0.411
Score42
Run 1

The code is generally readable but has some issues with action granularity and vertical density. The CertParamType class has a clear purpose with reasonable structure and flat nesting levels. Intent is mostly clear in validation flow. However, several lines combine multiple actions (e.g., import-raise statements, chained lower() calls with assignment). The conversion logic mixes error handling with type checking and import fallbacks in a compressed style. Some nesting could be flatter, particularly in the ad-hoc certificate handling section. Specific issues include unnecessary blank line after class definition, multiple statements on single lines (like `raise click.BadParameter(...) from None`), and densely packed conditional blocks. Reading flow is moderately natural but could improve with better spacing and separation of concerns between validation and conversion.

Run 2

The code is generally readable with clear intent and logical structure. It uses type hints and imports are well-organized. However, there are some issues that affect readability: multiple actions occur in a few lines, and there are some redundant/verbose parts (like the nested try-except blocks and a redundant import in CertParamType). Nesting isn't excessive but could be flattened slightly. The convert method clearly communicates its purpose, but the handling of different cert types could be better separated. Overall, it's reasonably readable but not exemplary.

Run 3

The code is generally well-structured with clear imports, proper type hints, and a logical class definition. The CertParamType class has a clear single responsibility and flat nesting in most areas. The convert method follows a natural flow: attempt path conversion, fall back to string conversion, then handle special cases. However, readability is slightly reduced by the nested try-except blocks with multiple levels of indentation, and the empty ssl import inside the try block serves only as a capability check, which is not immediately obvious. Some lines contain multiple actions (e.g., value = click.STRING(value, param, ctx).lower()), though this is minor. The docstring is missing, which would help clarify intent. The raise statement at the end without an explicit exception type relies on context and may confuse readers unfamiliar with exception handling patterns.

Run 1

Code Structure: Imports and a focused parameter-conversion class are logically organized, although many imports are unused in this snippet. Nesting: Moderate nesting, including a try/except inside a conditional within another exception handler, slightly increases reading effort. Clarity of intent: Descriptive names, type annotations, and explicit error messages make certificate validation understandable; the fallback behavior and final bare raise require closer attention. Code length: The implementation is reasonably concise, but excessive blank lines and the large import block add visual clutter. Action granularity: Statements generally perform one action per line, with readable multiline calls. Reading flow: The progression from SSL availability to file-path validation, ad-hoc certificates, and imported SSL contexts is coherent, though exception-driven fallback makes the flow less direct.

Run 2

Code Structure: A focused class cleanly separates initialization from conversion, though the extensive unrelated imports add clutter. Nesting: Several nested try/except and conditional blocks require attention, but remain manageable. Clarity of intent: Descriptive names, type annotations, and specific error messages make certificate validation understandable; the fallback sequence and final bare raise are less immediately obvious. Code length: The implementation is reasonably concise, but excess imports and blank lines reduce compactness. Action granularity: Statements generally perform one action per line, with readable multiline calls. Reading flow: Validation proceeds logically from SSL availability to a certificate path, ad-hoc mode, and an imported SSL context, although exception-driven fallback and inconsistent whitespace slightly interrupt the flow.

Run 3

Code Structure: A focused parameter-type class separates initialization from conversion, although numerous unused imports clutter this excerpt. Nesting: Nested exception handlers and conditionals add moderate depth, but early returns keep branching manageable. Clarity of intent: Descriptive names, type annotations, and specific error messages clearly convey certificate validation; the fallback from paths to special values or imported objects could benefit from a brief explanation. Code length: The implementation is reasonably concise, but excess blank lines and unrelated imports add noise. Action granularity: Statements generally perform one action per line, with readable multiline calls. Reading flow: Conversion proceeds logically through SSL availability, path validation, ad-hoc certificates, and SSL context lookup. Exception-driven fallback and the final bare raise require some additional attention.