Sample

Buse/78

Human rating uses the original dataset scale.

DatasetBuse
Human2.3
Lines5

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0010–1; higher is more readable
10.1Δ 4.0
Dorn0.1340–1; higher is more readable
6.1Δ 0.0
Mi0.1120–1; higher is more readable
6.1Δ 0.0
LLOC5Logical lines; fewer is more readable
29.8Δ 23.7
DeepSeek V4 Pro16.670–20; mean of three runs
81.8Δ 75.8
GPT-6.1 Sol17.330–20; mean of three runs
71.7Δ 65.7
BTTF0.2940–1; higher is more readable
7.1Δ 1.0
Human2.31–5; original rating
6.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.315.423−10.409
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.676−7.014
Source linesThe number of non-empty source lines.5+2

Intercept 8.87 + feature contributions = -6.553 (log-odds).
Score = sigmoid(-6.553) = 0.001.

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.115−1.206
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.6+0.824
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.4.741−0.344
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.107−0.101

Intercept 0.07 + feature contributions = -1.866 (log-odds).
Score = sigmoid(-1.866) = 0.134.

Score0.112
Score5
Run 1

The code is well-structured and easy to read. It has a clear, single responsibility: retrieving annotated classes or throwing an error. Nesting is minimal (only one if-statement). Variable naming is clear, and the intent is immediately understandable. The method length is concise. Each line performs one logical action without being overly verbose. The reading flow is natural—annotation retrieval, validation, then return. Minor deductions: the error message could be more descriptive about what SuiteClasses should contain, and the method could potentially be broken into smaller validation and retrieval steps, but overall this is highly readable.

Run 2

The code is highly readable. It has a clear, logical structure: get the annotation, validate it, and return its value. Nesting is flat with only a single conditional. The intent is explicit—missing SuiteClasses annotation triggers an InitializationError with a descriptive message. Length is concise; no unnecessary lines. Each line performs one action, aligning with good action granularity. The reading flow is natural, from fetching the annotation to validation and return. Minor deduction: the method name could be slightly more specific (e.g., getSuiteClasses), but overall readability is excellent.

Run 3

The code is clear and concise, with a logical structure and flat nesting. It uses a single if-statement guard clause to handle the null annotation case, which is an effective readability pattern. Variable naming is descriptive, and the error message is informative. The method is short and focused on a single purpose. Minor drawbacks include the long throw statement that could be wrapped for better line length, and the slight ambiguity in 'annotation.value()' without seeing the annotation definition. Overall, it is highly readable with thoughtful structure.

Run 1

Code Structure: The method follows a logical lookup, validation, and return sequence, though the snippet lacks a closing brace. Nesting: A single conditional keeps nesting minimal. Clarity of intent: The method name, annotation type, and descriptive error clearly communicate its purpose. Code length: Concise, with no unnecessary logic. Action granularity: Each statement performs one primary action; the nested formatting in the throw statement remains understandable. Reading flow: Natural and easy to follow, although inconsistent spacing around '=' and the unbraced conditional slightly reduce readability.

Run 2

Code Structure: Logically organized into annotation lookup, validation, and return, though the missing closing brace makes the snippet incomplete. Nesting: Very flat, with a single conditional guard. Clarity of intent: The method name and annotation lookup clearly communicate its purpose; the error message explains the requirement. Code length: Concise without unnecessary operations. Action granularity: Each statement performs one clear action. Reading flow: Natural top-to-bottom progression, slightly weakened by inconsistent spacing around '=' and the long exception line.

Run 3

Code Structure: Logically organized as annotation lookup, validation, and return, though the method's closing brace is missing. Nesting: Flat, with only a simple conditional. Clarity of intent: The method name, annotation type, and descriptive error message clearly communicate its purpose. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs one clear action; the nested error-formatting calls remain understandable. Reading flow: Natural and sequential, slightly weakened by inconsistent spacing around assignment, the long exception line, and the unbraced conditional.