Sample

Dorn/python/45

Human rating uses the original dataset scale.

DatasetDorn
Human3.82
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
51.5Δ 33.1
Scalabrino0.6290–1; higher is more readable
65.1Δ 19.6
Dorn0.7520–1; higher is more readable
71.0Δ 13.6
Mi0.650–1; higher is more readable
72.7Δ 12.0
LLOC21Logical lines; fewer is more readable
29.7Δ 55.0
DeepSeek V4 Pro14.330–20; mean of three runs
69.9Δ 14.8
GPT-6.1 Sol170–20; mean of three runs
80.4Δ 4.3
BTTF0.70–1; higher is more readable
92.5Δ 7.8
Human3.821–5; original rating
84.7

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.713.695−23.552
Source linesThe number of non-empty source lines.30+12
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.518−6.777

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

Score0.629

Feature contributions

FeatureValueContribution
(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.46.742+1.685
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.22+0.257
Indentation frequencyHow rapidly indentation changes from line to line.28+0.231
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.28−0.222
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.108−0.109
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.29.271−0.001

Intercept 0.07 + feature contributions = 1.108 (log-odds).
Score = sigmoid(1.108) = 0.752.

Score0.65
Score21
Run 1

The code is generally readable due to consistent Django model patterns, clear naming, and simple __unicode__ methods. However, the first block is incomplete, starting mid-class with fields like 'size' and 'smelly' that lack context, which hurts clarity. Repetition across Parrot, Link, and Article is concise but not DRY, though acceptable for simple models. There is minimal nesting and good one-action-per-line granularity, but the missing class definition for the first block disrupts reading flow. Overall, the code is understandable for developers familiar with Django, but the incomplete snippet and duplication prevent a higher score.

Run 2

The code is largely readable: it follows Django model conventions, keeps classes flat and logically grouped, and uses clear field and class names. However, the first class appears to be cut off at the top, starting mid-definition with `size` and `smelly` fields but no visible class declaration. This missing context lowers clarity. The repetition in `Link` and `Article` is acceptable for readability but could be reduced, though conciseness is not poor. Nesting is minimal, each action is on its own line, and reading flow is natural. Overall it is clean but incomplete as presented.

Run 3

The code is generally readable but has a major structural issue: the first two lines are disconnected from any class definition, likely due to a missing class header, which breaks logical organization. Each Django model is otherwise flat, concise, and follows consistent patterns—fields, __unicode__, and Meta ordering—making intent clear and reading flow natural. Action granularity is one action per line, and length is appropriate. However, the incomplete class at the top creates ambiguity and reduces readability. Nesting is minimal. Overall, the code is easy to understand if the missing class declaration is restored, but as presented it is confusing.

Run 1

Code Structure: Models are logically separated, with fields, string representations, and metadata consistently organized. Nesting: Shallow method and Meta-class nesting is easy to follow. Clarity of intent: Django declarations clearly convey each model's purpose, though the initial size and smelly fields lack an enclosing class in this excerpt, and Perch is undefined here. Code length: Concise, with only minor repetition across similar models. Action granularity: Each field declaration and operation occupies its own line. Reading flow: Consistent formatting and predictable ordering make the code easy to scan, but the fragmentary opening interrupts the flow.

Run 2

Code Structure: Models are logically separated, with fields, string representations, and metadata consistently organized; however, the opening fields lack their enclosing class context. Nesting: Shallow and appropriate, limited to methods and Meta classes. Clarity of intent: Django declarations and descriptive names make the models easy to understand, though the purpose of the initial fields is unclear. Code length: Concise, with modest repetition that supports consistency. Action granularity: Each field, return, and configuration assignment occupies its own line. Reading flow: Predictable formatting and class separation support smooth reading, but the incomplete opening slightly disrupts it.

Run 3

Code Structure: Model classes logically group fields, string representations, and ordering metadata, though the opening fields lack their enclosing class context. Nesting: Shallow and conventional, with only methods and Meta classes nested inside models. Clarity of intent: Django declarations make the purpose clear; most names are descriptive, but state is broad and smelly lacks context. Code length: Concise, with minor repetition across models that is reasonable for explicit declarations. Action granularity: Each field, return statement, and ordering declaration occupies its own line. Reading flow: Consistent layout and blank lines make the classes easy to scan, although the incomplete opening slightly disrupts the flow.