Sample

Dorn/python/7

Human rating uses the original dataset scale.

DatasetDorn
Human2.97
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0030–1; higher is more readable
64.3Δ 36.2
Scalabrino0.4240–1; higher is more readable
32.2Δ 4.0
Dorn0.4820–1; higher is more readable
40.7Δ 12.5
Mi0.4540–1; higher is more readable
45.4Δ 17.3
LLOC7Logical lines; fewer is more readable
67.7Δ 39.6
DeepSeek V4 Pro15.330–20; mean of three runs
79.9Δ 51.8
GPT-6.1 Sol17.330–20; mean of three runs
86.5Δ 58.4
BTTF0.5420–1; higher is more readable
57.1Δ 29.0
Human2.971–5; original rating
28.1

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.348.389−11.497
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.696−7.044
Source linesThe number of non-empty source lines.10+4

Intercept 8.87 + feature contributions = -5.671 (log-odds).
Score = sigmoid(-5.671) = 0.003.

Score0.424

Feature contributions

FeatureValueContribution
(log-odds)
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.9+0.718
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.76.909+0.408
Indentation frequencyHow rapidly indentation changes from line to line.10−0.391
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.808−0.273
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.10+0.191
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.096+0.008

Intercept 0.07 + feature contributions = -0.073 (log-odds).
Score = sigmoid(-0.073) = 0.482.

Score0.454
Score7
Run 1

The code is concise and mostly well-organized. It has a clear class inheritance structure, with imports grouped in a logical way (standard/module-level, third-party, and local modules). Nesting is minimal — only one class and one method, both flat and easy to follow. Intent is clear: NoteSource extends BaseSource and initializes by calling the parent constructor. Action granularity is appropriate, with constructor parameters clearly listed and super() invoked on its own line. Reading flow is natural. Minor readability deductions: the import order could be improved (wx and inspect appear after local imports, and there is an unused `ical` import), and the many *args/**kwargs slightly obscure the intent, though this is common and acceptable.

Run 2

The code is generally readable, with clear imports and a straightforward class structure. However, it has minor organizational issues: the import of 'wx' and 'inspect' after i18n breaks logical grouping, and 'inspect' is imported but unused. The class constructor is simple and flat, with clear intent, but the unnecessary `*args, **kwargs` in `BaseSource` call adds slight ambiguity. The overall structure is concise, but the mixed import ordering and unused import detract from readability.

Run 3

The code is generally clear and readable. It has a logical structure with standard imports, a class definition, and a simple constructor. Nesting is minimal, intent is clear, and the code length is concise. However, there are minor issues: the import order is slightly disorganized (standard library 'inspect' appears after third-party imports), 'ical' is imported but unused in the snippet, and the constructor uses *args/**kwargs without visible handling, reducing explicit clarity. These small aspects prevent a higher score.

Run 1

Code Structure: Imports followed by a class and constructor provide a logical organization, though import grouping is inconsistent. Nesting: Shallow and easy to follow. Clarity of intent: NoteSource and BaseSource indicate a specialized source, but the unused categoryList parameter and several unused imports obscure why they are present. Code length: Very concise, with no unnecessary implementation complexity, although unused imports add clutter. Action granularity: The constructor performs one clear action; combining wx and inspect in one import slightly reduces consistency. Reading flow: Natural top-to-bottom progression, with minor spacing and import-order issues. Overall, the snippet is highly readable but provides limited context for its interface.

Run 2

Code Structure: Imports precede a small class and constructor, giving clear organization, though import grouping is inconsistent. Nesting: Minimal and easy to follow. Clarity of intent: The class name and superclass convey its role, but the unused categoryList parameter and several unused imports introduce ambiguity. Code length: Very concise, with no unnecessary implementation detail. Action granularity: The constructor performs one action per line; combining wx and inspect in one import slightly reduces consistency. Reading flow: Straightforward from dependencies to class definition to superclass initialization, although cleaner spacing and import organization would improve readability.

Run 3

Code Structure: Imports precede a clearly defined class and constructor, giving the snippet a logical organization. Nesting: Minimal, with only class and method indentation. Clarity of intent: The constructor clearly delegates initialization to BaseSource, but the unused categoryList parameter and several unused imports introduce ambiguity. Code length: Very concise, though unnecessary imports add clutter. Action granularity: The constructor performs one action on one line; combining wx and inspect in a single import slightly reduces consistency. Reading flow: Straightforward from imports to class to initialization, with minor distractions from inconsistent import grouping and spacing.