Sample
pyint-98c50d029594-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.705 | 0–1; higher is more readable |
| Mi | 0.495 | 0–1; higher is more readable |
| LLOC | 19 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 15 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.74 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 722.67 | −23.848 |
| Source linesThe number of non-empty source lines. | 29 | +11.6 |
| 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.687 | −7.03 |
Intercept 8.87 + feature contributions = -10.409 (log-odds).
Score = sigmoid(-10.409) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.043 | +0.522 |
| 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. | 75.9 | +0.45 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 29 | +0.266 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 30 | −0.026 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 28.896 | −0.006 |
Intercept 0.07 + feature contributions = 0.87 (log-odds).
Score = sigmoid(0.87) = 0.705.
| Score | 0.495 |
|---|
| Score | 19 |
|---|
Run 1
The code imports many modules that are not used within the provided snippet, which adds clutter and obscures the actual functionality. The class definition is short and follows a standard validator pattern, which is good, but the purpose is only clear if the reader knows the BaseValidator API. The message uses ngettext_lazy correctly for pluralization, but the string format is verbose. The nesting is minimal and each method contains a single action, which supports readability. Overall, the structure is logical but the unused imports and lack of surrounding context reduce clarity. The code is concise in length, but the presence of irrelevant imports makes it less readable than it could be. Action granularity is appropriate, and reading flow is natural once the validator pattern is understood.
Run 2
The code is well-structured and readable. It imports are organized logically, though some Django-specific imports (`BaseValidator`, `_lazy_re_compile`, `is_valid_ipv6_address`) appear unused in this snippet, which slightly affects clarity. The class `MinLengthValidator` inherits from `BaseValidator` and cleanly overrides `compare` and `clean`, each performing a single, unambiguous action. Nesting is minimal, and the use of `ngettext_lazy` for pluralization shows clear intent for internationalization. The code is concise, with no unnecessary verbosity. Action granularity is appropriate—each method contains one logical operation. Reading flow is natural: the message definition, code identifier, and method overrides follow a conventional order. The only minor readability issue is the presence of unrelated imports, which could confuse a reader about the class's actual dependencies.
Run 3
The code is well-structured and highly readable. It imports only necessary modules with clear separation between standard library and third-party imports. The class is focused with clear purpose and minimal nesting. Each method performs a single action and is concise. The use of lazy translation functions demonstrates proper Django patterns. Minor deductions: the inheritance from BaseValidator isn't visible in the snippet, making 'compare' and 'clean' methods slightly less clear without context, and the message string is long but appropriately formatted. Overall, the code is clean, maintainable, and follows good practices.
Run 1
Code Structure: The validator is logically organized, with class metadata followed by small methods; however, BaseValidator is not imported in the snippet, and many imports are unused. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, minimum-length message, and straightforward comparisons clearly convey the purpose, though parameter names a, b, and x are generic. Code length: The implementation is concise, but unrelated imports add clutter. Action granularity: Each method performs one simple action, and statements are cleanly separated. Reading flow: The progression from validation message and error code to comparison and length calculation is natural; the multiline message remains readable.
Run 2
Code Structure: The validator is logically organized into class metadata and two small methods, although BaseValidator is not defined or imported in the snippet and many imports are unused. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, error message, and method operations clearly communicate minimum-length validation; generic parameter names a, b, and x are less descriptive. Code length: The implementation is concise, but unused imports add clutter. Action granularity: Each statement performs a single action; the multiline message definition remains readable. Reading flow: Metadata followed by comparison and length extraction provides a natural progression, though an additional blank line before the decorated class would improve visual separation.
Run 3
Code Structure: The validator is logically organized into metadata and two focused methods, although BaseValidator is not defined or imported in the snippet and numerous imports are unused. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, validation message, and method bodies clearly communicate minimum-length validation; generic parameter names a, b, and x are less descriptive. Code length: The implementation is concise, but unused imports add unnecessary clutter. Action granularity: Each method performs a single action, with no compressed multi-action lines. Reading flow: Imports, decorator, class attributes, and methods follow a natural order; the multiline translation message remains readable.