Sample
Buse/67
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.743 | 0–1; higher is more readable | 78.8Δ 8.6 |
| Scalabrino | 0.833 | 0–1; higher is more readable | 68.2Δ 19.2 |
| Dorn | 0.831 | 0–1; higher is more readable | 91.9Δ 4.5 |
| Mi | 0.728 | 0–1; higher is more readable | 86.9Δ 0.5 |
| LLOC | 5 | Logical lines; fewer is more readable | 29.8Δ 57.6 |
| DeepSeek V4 Pro | 15.33 | 0–20; mean of three runs | 65.7Δ 21.7 |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs | 32.8Δ 54.5 |
| BTTF | 0.732 | 0–1; higher is more readable | 94.9Δ 7.6 |
| Human | 4.02 | 1–5; original rating | 87.4 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.833 |
|---|
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.728 |
|---|
| Score | 5 |
|---|
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.