Sample
Dorn/python/93
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.06 | 0–1; higher is more readable | 72.4Δ 4.7 |
| Scalabrino | 0.795 | 0–1; higher is more readable | 86.0Δ 18.4 |
| Dorn | 0.844 | 0–1; higher is more readable | 84.1Δ 16.4 |
| Mi | 0.667 | 0–1; higher is more readable | 75.8Δ 8.1 |
| LLOC | 8 | Logical lines; fewer is more readable | 63.9Δ 3.8 |
| DeepSeek V4 Pro | 10.33 | 0–20; mean of three runs | 42.9Δ 24.8 |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs | 47.1Δ 20.6 |
| BTTF | 0.532 | 0–1; higher is more readable | 54.6Δ 13.1 |
| Human | 3.55 | 1–5; original rating | 67.7 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
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. | 281.108 | −9.277 |
| 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.232 | −6.347 |
| Source linesThe number of non-empty source lines. | 10 | +4 |
Intercept 8.87 + feature contributions = -2.754 (log-odds).
Score = sigmoid(-2.754) = 0.06.
| Score | 0.795 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 41 | +1.929 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 11 | +0.647 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.19 | −0.281 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 8 | +0.237 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 41 | −0.143 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.104 | −0.07 |
Intercept 0.07 + feature contributions = 1.686 (log-odds).
Score = sigmoid(1.686) = 0.844.
| Score | 0.667 |
|---|
| Score | 8 |
|---|
Run 1
The code is relatively flat and each line performs a single action, which is good. However, it has significant readability issues. The variable names 'b' and 'c' lack meaning, making it hard to discern intent. There is an apparent copy-paste error where the alignment is set on 'b' instead of 'c' for the second text block. The numeric arguments in createText are unexplained, reducing clarity. The comment contains commented-out code, which adds noise. Overall, the structure is logical but clarity and intent are poor.
Run 2
The code is relatively short and each action is on its own line, which aids readability. However, there are notable issues. The variable names 'b' and 'c' are ambiguous, reducing clarity of intent. There is a logical bug: setTextAlignment(1,b) is called twice instead of applying alignment to 'c' on the second call, indicating potential copying errors. The sequence for 'c' is also out of order (alignment set before text), which disrupts natural reading flow. While the structure is flat with minimal nesting, the repetition and inconsistent ordering lower the score. It would benefit from clearer naming and corrected, consistent initialization sequences.
Run 3
The code is somewhat readable due to its one-action-per-line style and clear function names, but it has several issues. The structure is repetitive and lacks abstraction, making it longer than necessary. There is a critical bug: the text alignment for 'Column C' is set on the wrong object (b instead of c), showing a lack of clarity. The reading flow is disorganized as the logic for column B and C is interleaved without clear grouping. The unrelated commented-out save function adds confusion. Nesting is flat, which is good, but the overall organization and error-proneness reduce readability significantly.
Run 1
Code Structure: Two straightforward blocks logically group the creation and formatting of text columns, though a helper could reduce repetition. Nesting: No nesting makes the code easy to scan. Clarity of intent: Column labels reveal the purpose, but single-letter variables and unexplained numeric arguments obscure details. The second setTextAlignment call targets b rather than c, making its intent questionable. Code length: Short and mostly concise, with an unnecessary commented-out save call and trailing whitespace. Action granularity: Each line performs one action. Reading flow: The repeated create-align-label-size sequence is natural, although inconsistent argument spacing and the apparent alignment mistake interrupt readability.
Run 2
Code Structure: Two clearly grouped blocks configure text columns, though a helper could reduce repetition. Nesting: Completely flat and easy to scan. Clarity of intent: Function names and column labels communicate the purpose, but single-letter variables and unexplained numeric arguments reduce clarity. The second alignment call targets b rather than c, making the intended configuration inconsistent. Code length: Short and mostly appropriate, with minor duplication and an unnecessary commented-out save call. Action granularity: Each line performs one action. Reading flow: Creation followed by configuration is natural and consistent, but uneven argument spacing and the apparent alignment typo interrupt readability.
Run 3
Code Structure: Two logically grouped text-column setup blocks are easy to distinguish, though repeated operations could be extracted into a helper. Nesting: Completely flat, making it easy to scan. Clarity of intent: The column labels and function names convey the purpose, but single-letter variables and unexplained numeric arguments reduce clarity. The second block calls setTextAlignment(1,b) instead of referencing c, creating a confusing inconsistency. Code length: Short and mostly concise, with minor duplication and an unused commented-out save call. Action granularity: Each line performs one action. Reading flow: Creation followed by configuration is natural and consistent, but inconsistent argument spacing and the apparent alignment typo interrupt the flow.