Sample
pyint-d4c86ecde558-I06
Invert eligible conditions and exchange their branches
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 highly readable with clear structure and intent. It follows a logical organization: imports are grouped by standard library, third-party, and local modules; the class definition is clean with a decorator and clear attribute assignments. The nesting is flat, and each attribute is on its own line, respecting action granularity. The `compare` and `clean` methods are concise and self-explanatory. The use of `ngettext_lazy` is appropriate for internationalization, and the message strings indicate clear intent. Minor drawbacks include the slightly dense import block (though it is well-ordered) and the use of a single-letter variable `x` in `clean`, which is acceptable given the short method but could be more descriptive. Overall, the reading flow is natural, and the code is concise without being cryptic.
Run 3
The code is well-structured and readable. Imports are logically organized, the custom validator class cleanly extends a base validator, and the `MinLengthValidator` is concise and clear. The `compare` and `clean` methods each perform a single action and are easy to follow. The only minor drawback is the multi-line `ngettext_lazy` call, which slightly breaks flat readability due to string concatenation across lines, but it is still understandable. Overall, the code demonstrates high clarity, proper action granularity, and natural reading flow.
Run 1
Code Structure: The validator is logically organized, with class metadata followed by two focused methods. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, validation message, and simple method bodies clearly communicate minimum-length validation, though generic parameter names and the undefined BaseValidator require external context. Code length: The implementation is concise, but many imports are unused in this snippet and add clutter. Action granularity: Each statement performs one clear action; the multiline message declaration remains a single coherent operation. Reading flow: The progression from imports to class configuration to behavior is natural, although separating standard-library and Django imports and adding a blank line before the class would improve presentation.
Run 2
Code Structure: The validator is logically organized, with class metadata followed by two focused methods; however, 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 express minimum-length validation, though parameter names a, b, and x are generic. Code length: The implementation is concise, but unused imports add clutter. Action granularity: Each statement performs one action, and the multiline message is formatted cleanly. Reading flow: The progression from imports to class configuration to behavior is natural, although an extra blank line before the decorated class would improve visual separation.
Run 3
Code Structure: The validator is logically organized, with class metadata followed by two focused methods, though 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 straightforward comparison clearly communicate minimum-length validation; generic parameter names a, b, and x slightly reduce clarity. Code length: The implementation is concise, but unused imports add clutter. Action granularity: Each method performs one simple action, with no compound statements. Reading flow: The progression from validation message to comparison and length extraction is natural, and the multiline message remains readable.