Sample

Dorn/python/76

Human rating uses the original dataset scale.

DatasetDorn
Human3.07
Lines49

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
8.1Δ 26.2
Scalabrino0.5070–1; higher is more readable
43.0Δ 8.8
Dorn0.5080–1; higher is more readable
43.5Δ 9.2
Mi0.3070–1; higher is more readable
29.5Δ 4.7
LLOC38Logical lines; fewer is more readable
2.9Δ 31.3
DeepSeek V4 Pro7.330–20; mean of three runs
24.8Δ 9.5
GPT-6.1 Sol130–20; mean of three runs
30.6Δ 3.6
BTTF0.4050–1; higher is more readable
24.8Δ 9.5
Human3.071–5; original rating
34.3

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

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.2571.689−84.866
Source linesThe number of non-empty source lines.49+19.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.3.923−5.884

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

Score0.507

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.44+0.785
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.50−0.734
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.45−0.612
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.83+0.535
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.142−0.435
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.48.714+0.271
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.82.98+0.151

Intercept 0.07 + feature contributions = 0.03 (log-odds).
Score = sigmoid(0.03) = 0.508.

Score0.307
Score38
Run 1

The code has some readable elements, such as short helper functions and relatively flat structure, but it suffers from several issues. The functions rely on external global data (`pathdefs`) and use magic indices (`defs[1]`, `defs[3][i]`) which obscure intent. Variable names are terse (`p`, `a`, `cx`) and loops mutate list items in place without clear explanation. `rotatePath` contains deeper nesting and mathematical operations that reduce readability. There is also an abrupt start with an orphaned `retval.append` line suggesting missing context. Overall, the logic is not tangled, but clarity suffers due to poor naming, cryptic indexing, and lack of comments explaining the coordinate/command transformations.

Run 2

The code is difficult to read due to poor structure and unclear intent. The first function begins mid-logic, suggesting missing context. Functions depend on an undefined global `pathdefs` and mutate input lists, which obscures purpose and side effects. `formatPath` is a dense one-liner, reducing clarity. The path transformation functions contain repetitive loops with cryptic parameter codes ('x', 'y', 'r', 's', 'a') explained only by inconsistent comments. `rotatePath` nests a calculation inside a condition and relies on implicit pairing of x/y parameters, which is fragile and unclear. Variable names like `p`, `a`, `defs` are too terse. Action granularity is poor—several operations occur per line. While indentation is consistent, the overall reading flow is disorganized and hard to follow.

Run 3

The code is difficult to read due to missing context, unclear variable names, and tight coupling to undefined external data structures. Functions like translatePath and scalePath rely on 'pathdefs' and cryptic parameter codes ('x', 'y', 'r', 's', 'a') without explanation. Action granularity is reasonable, with mostly one operation per line, but nesting depth (multiple loops and conditionals) hurts readability. The truncated first function lacks indentation and context. Commented sections offer minimal guidance. Reading flow is disorganized, especially in rotatePath where parameter indexing and math operations are densely packed. Overall, the code lacks clarity of intent and structure, though it is not entirely unreadable.

Run 1

Code Structure: Separate functions logically organize formatting, translation, scaling, and rotation, but the opening fragment lacks context and pathdefs is an unexplained dependency. Nesting: Translation is manageable, while scaling and rotation reach deeper nesting through loops and conditional branches. Clarity of intent: Function names communicate purpose, and some comments explain parameter types; however, terse names and numeric indexing such as defs[3][i] obscure the data model. In-place mutation and inconsistent return behavior are not documented. Code length: Generally concise, though repeated traversal logic adds duplication and formatPath packs substantial work into one expression. Action granularity: Most statements perform one action per line, making transformations easy to follow. Reading flow: Functions proceed naturally, but inconsistent spacing, missing context, and implicit assumptions about adjacent coordinate parameters interrupt comprehension.

Run 2

Code Structure: Separate functions organize formatting, translation, scaling, and rotation logically, but the opening fragment lacks context and pathdefs is an unexplained dependency. Nesting: Translation is manageable, while scaling and rotation reach several nested levels. Clarity of intent: Function names clearly express purpose, and comments explain special parameters; terse names and positional accesses such as defs[3][i] obscure details. Code length: Generally concise, though repeated traversal logic adds duplication and the formatting comprehension is dense. Action granularity: Most lines perform one action, making updates easy to follow. Reading flow: Functions follow a consistent pattern, but inconsistent spacing, metadata indexing, and rotation's nested calculations interrupt readability. In-place mutation and inconsistent return behavior are not documented.

Run 3

Code Structure: Separate functions logically organize formatting, translation, scaling, and rotation, but the opening fragment is incomplete and pathdefs is unexplained. Nesting: Translation is moderately nested; scaling and rotation reach deeper levels through loops and conditionals. Clarity of intent: Function names clearly identify operations, and comments explain some parameter types, but short names and numeric indices into defs obscure the underlying representation. Code length: Generally concise, although repeated traversal logic and the dense formatting comprehension reduce readability. Action granularity: Most lines perform a single action; formatPath compresses several operations into one expression. Reading flow: Functions follow a consistent traversal pattern, making transformations easy to compare, but inconsistent spacing, implicit in-place mutation, and inconsistent return behavior interrupt comprehension.