Sample

Buse/93

Human rating uses the original dataset scale.

DatasetBuse
Human2.36
Lines12

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0010–1; higher is more readable
7.1Δ 0.0
Dorn0.4750–1; higher is more readable
31.3Δ 24.2
Mi0.4420–1; higher is more readable
32.3Δ 25.3
LLOC8Logical lines; fewer is more readable
1.0Δ 6.1
DeepSeek V4 Pro14.670–20; mean of three runs
55.1Δ 48.0
GPT-6.1 Sol150–20; mean of three runs
32.8Δ 25.8
BTTF0.5540–1; higher is more readable
59.6Δ 52.5
Human2.361–5; original rating
7.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.427.175−14.097
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.625−6.938
Source linesThe number of non-empty source lines.12+4.8

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

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
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.68.846+0.749
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.13+0.576
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.11.829−0.244
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.112−0.143

Intercept 0.07 + feature contributions = -0.101 (log-odds).
Score = sigmoid(-0.101) = 0.475.

Score0.442
Score8
Run 1

The code is generally clear and readable. It uses a straightforward loop structure with clear variable names like 'each', 'annotations', and 'annotation'. Each statement is on its own line, following good action granularity. The nesting depth of three levels is acceptable but could be flattened. The intent is clear: find a static method annotated with @Parameters. However, the code could be improved by using streams for conciseness, avoiding the awkward 'each' variable name, and breaking out the nested loops into helper methods. The hardcoded exception string is a minor inconsistency. Overall, the structure is logical and the flow is natural.

Run 2

The code is fairly readable but has some structural and stylistic weaknesses. The method has a clear purpose—finding a static method annotated with @Parameters—but uses deeply nested loops and conditionals (three levels). The if-conditions could be inverted to reduce nesting and improve flow. Variable names like 'each' and 'fKlass' are somewhat generic or unconventional, slightly obscuring intent. The code is concise, and each line generally performs one action, which helps. However, the lack of blank lines or comments to separate logical steps hurts readability. The error message is clear. Refactoring to extract the annotation-checking logic or using streams would improve clarity and reduce nesting.

Run 3

The code is fairly readable but has some structural issues. The method uses three levels of nesting (method loop, annotation loop, annotation type check), making the logic slightly harder to follow. The intent is clear—finding a static method annotated with @Parameters—but the implementation could be more concise using streams or extracting the annotation check into a helper method. Variable names like 'each' and 'fKlass' are questionable; 'method' or 'candidate' would be clearer. The action granularity is generally good, with one action per line, and the reading flow is logical. The main weaknesses are the deep nesting and the slightly verbose approach for what is essentially a filter operation. Error message is clear and helpful. Overall, the code is understandable but could benefit from flattening and better naming.

Run 1

Code Structure: Logically organized as a method search followed by an exception if no match exists. Nesting: Four nested control structures make the search harder to scan; guard clauses could flatten it. Clarity of intent: The method name, static check, and Parameters annotation clearly communicate the purpose, although 'each' and 'fKlass' are less descriptive. Code length: Short and focused, but direct annotation lookup could eliminate the inner loop. Action granularity: Each statement performs a single action, with no crowded lines. Reading flow: The progression from filtering methods to checking annotations is natural, and the exception clearly describes failure. Minor formatting inconsistencies, omitted braces around the return, and the missing final method brace in the supplied snippet reduce readability.

Run 2

Code Structure: Logically searches public methods for a static method annotated with Parameters, then throws if none exists. Nesting: Four nested control structures make scanning harder; guard clauses or direct annotation lookup could flatten it. Clarity of intent: The method name and exception message clearly communicate its purpose, though 'each' and 'fKlass' are less descriptive. Code length: Compact overall, but explicit annotation iteration adds avoidable complexity. Action granularity: Each statement performs one clear action. Reading flow: The search-to-return-to-failure sequence is natural, but inconsistent spacing, missing braces around the return, and the absent closing method brace in the supplied snippet reduce readability.

Run 3

Code Structure: Logically searches public methods for a static method annotated with Parameters, then throws if none exists. Nesting: Four nested control-flow levels make the search harder to scan; guard clauses or direct annotation lookup would simplify it. Clarity of intent: The method name and exception message communicate its purpose, although 'each' and 'fKlass' are less descriptive names. Code length: Short overall, but manually iterating annotations adds avoidable verbosity. Action granularity: Each statement performs a single clear action. Reading flow: The progression from filtering to matching to failure is natural, but inconsistent spacing, omitted braces around the return, and the missing closing method brace in the supplied snippet reduce readability.