Sample
Buse/78
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.001 | 0–1; higher is more readable | 10.1Δ 4.0 |
| Dorn | 0.134 | 0–1; higher is more readable | 6.1Δ 0.0 |
| Mi | 0.112 | 0–1; higher is more readable | 6.1Δ 0.0 |
| LLOC | 5 | Logical lines; fewer is more readable | 29.8Δ 23.7 |
| DeepSeek V4 Pro | 16.67 | 0–20; mean of three runs | 81.8Δ 75.8 |
| GPT-6.1 Sol | 17.33 | 0–20; mean of three runs | 71.7Δ 65.7 |
| BTTF | 0.294 | 0–1; higher is more readable | 7.1Δ 1.0 |
| Human | 2.3 | 1–5; original rating | 6.1 |
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) |
|---|---|---|
| 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
| 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. | 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.
| Score | 0.112 |
|---|
| Score | 5 |
|---|
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.