Sample

Buse/67

Human rating uses the original dataset scale.

DatasetBuse
Human4.02
Lines13

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.7430–1; higher is more readable
78.8Δ 8.6
Scalabrino0.8330–1; higher is more readable
68.2Δ 19.2
Dorn0.8310–1; higher is more readable
91.9Δ 4.5
Mi0.7280–1; higher is more readable
86.9Δ 0.5
LLOC5Logical lines; fewer is more readable
29.8Δ 57.6
DeepSeek V4 Pro15.330–20; mean of three runs
65.7Δ 21.7
GPT-6.1 Sol150–20; mean of three runs
32.8Δ 54.5
BTTF0.7320–1; higher is more readable
94.9Δ 7.6
Human4.021–5; original rating
87.4

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)
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.453−6.679
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.191.756−6.328
Source linesThe number of non-empty source lines.13+5.2

Intercept 8.87 + feature contributions = 1.063 (log-odds).
Score = sigmoid(1.063) = 0.743.

Score0.833

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.47.929+1.635
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.14+0.541
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.12.755−0.232
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.9+0.214
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.087+0.099
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.48−0.03

Intercept 0.07 + feature contributions = 1.595 (log-odds).
Score = sigmoid(1.595) = 0.831.

Score0.728
Score5
Run 1

The code has clear intent and a simple structure but is incomplete and has issues. It starts with a doc comment explaining the purpose, which is good. The method is flat with only one level of nesting in the if statement, and each line performs one logical action. However, the method appears to be cut off — it's missing the return statement and closing brace, making it incomplete and non-functional. The doc comment has a typo ('neccessary') and lacks proper @param and @return descriptions. The method name 'addZero' is fairly clear but could be more descriptive, and using StringBuilder for a simple string concatenation is overkill. The action granularity is good with one operation per line, but the reading flow is slightly broken by the unnecessary use of Integer.toString() instead of simply appending the integer to the builder. Overall, it's readable in intent and structure but incomplete and contains minor inefficiencies.

Run 2

The code is generally readable with clear intent and a simple structure. The method name 'addZero' and its Javadoc describe the purpose, though the Javadoc has a typo ('neccessary') and lacks parameter/return descriptions. The logic is flat with minimal nesting. However, the method could be more concise—returning String instead of CharSequence, using String.format, or directly returning a conditional expression would reduce length. Action granularity is good: one action per line within the builder. Reading flow is natural. Minor improvements: handle negative numbers or clarify they are out of scope, fix the typo, and improve the Javadoc.

Run 3

The code is clear and concise, with a single-purpose method and flat control flow. The method name 'addZero' communicates intent, though it slightly under-specifies behavior (only adds one zero for single-digit numbers). The Javadoc is minimal and contains a typo ('neccessary') and an empty @return tag, which mildly reduces professionalism but not readability. Action granularity is excellent: each logical step is on its own line. Nesting is minimal with a single if-statement. Overall structure is logical and easy to follow, though the missing closing brace in the provided snippet would cause a compilation error.

Run 1

Code Structure: The visible statements are logically organized, but the method is incomplete: it lacks a return statement and closing brace. Nesting: A single shallow conditional is easy to follow. Clarity of intent: The method name and comment suggest zero-padding, although behavior for negative numbers is unclear and the documentation is sparse. Code length: The snippet is concise, with minor verbosity in explicitly converting the integer before appending it. Action granularity: Each statement performs one clear action. Reading flow: Initialization, optional padding, and number appending form a natural sequence, but the missing conclusion interrupts the flow.

Run 2

Code Structure: The visible logic is organized, but the method is incomplete, lacking a return statement and closing brace. Nesting: A single shallow conditional keeps the code easy to follow. Clarity of intent: The method name and operations clearly suggest adding a leading zero to numbers below 10, though the documentation is vague and contains a typo. Code length: Short and mostly concise, with a slightly unnecessary explicit integer-to-string conversion. Action granularity: Each statement performs one clear action. Reading flow: Initialization, conditional padding, and number appending follow a natural sequence, but the missing ending interrupts that flow.

Run 3

Code Structure: The method is logically organized, but the snippet lacks a return statement and closing brace. Nesting: A single shallow conditional is easy to follow. Clarity of intent: The method name and operations clearly suggest adding a leading zero, although the comment is misspelled and the parameter and return documentation are empty. Negative-number behavior is unclear. Code length: Short and focused, though the explicit integer-to-string conversion is unnecessary when appending to StringBuilder. Action granularity: Each statement performs one action. Reading flow: Initialization, conditional padding, and number appending form a natural sequence, but the incomplete ending interrupts comprehension.