Sample
Scalabrio126
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.001 | 0–1; higher is more readable | 76.4Δ 55.0 |
| Scalabrino | 0.43 | 0–1; higher is more readable | 39.2Δ 17.8 |
| Dorn | 0.24 | 0–1; higher is more readable | 30.2Δ 8.8 |
| Mi | 0.088 | 0–1; higher is more readable | 32.2Δ 10.8 |
| LLOC | 8 | Logical lines; fewer is more readable | 76.9Δ 55.5 |
| DeepSeek V4 Pro | 17.67 | 0–20; mean of three runs | 96.0Δ 74.6 |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs | 83.7Δ 62.3 |
| BTTF | 0.54 | 0–1; higher is more readable | 51.8Δ 30.4 |
| Human | 3.11 | 1–5; original rating | 21.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) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 549.682 | −18.14 |
| Source linesThe number of non-empty source lines. | 25 | +10 |
| 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.826 | −7.239 |
Intercept 8.87 + feature contributions = -6.509 (log-odds).
Score = sigmoid(-6.509) = 0.001.
| Score | 0.43 |
|---|
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. | 164.96 | −3.322 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 165 | +1.858 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.049 | +0.47 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 25 | +0.151 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 23.831 | −0.077 |
Intercept 0.07 + feature contributions = -1.154 (log-odds).
Score = sigmoid(-1.154) = 0.24.
| Score | 0.088 |
|---|
| Score | 8 |
|---|
Run 1
The code is highly readable. The method has a clear, single responsibility and follows a logical sequence: initialize context, process each persistent class, handle unused superclasses, finalize, and return the result. Structure is flat with only one level of nesting (the while loop), keeping reading flow natural. Each line performs one distinct action, contributing to clarity of intent. The Javadoc is thorough, explaining parameters and return value. The only minor deductions are for inconsistent indentation in comments/parameters (tabs vs spaces) and a slightly long return statement, but these do not significantly impede readability. Overall, the code is well-organized, concise, and easy to follow.
Run 2
The code is highly readable. It has a clear, logical structure: create a context, iterate over persistent classes, handle unused mapped superclasses, finalize, and return the result. Nesting is minimal (a single while loop). Intent is evident from the method name, parameters, and descriptive helper method names. The method is concise—no unnecessary lines—and action granularity is appropriate, with typically one action per line. The reading flow is natural: setup, main processing, cleanup, return. Minor deductions: the Javadoc indentation is inconsistent, and the four-argument constructor/metamodel creation on the final line is slightly dense but still understandable.
Run 3
The code is highly readable with clear logical structure: setup, loop processing, cleanup, and return. The method has a single responsibility and flows naturally. Nesting is minimal—only one loop with no conditionals inside. Intent is well-documented with a clear Javadoc explaining parameters and purpose, though the mixed indentation (spaces vs tabs) in the Javadoc slightly detracts from polish. Action granularity is good: one meaningful action per line within the loop. The code length is concise and proportionate to its task. Minor improvements could include extracting the MetamodelImpl constructor arguments to local variables for even better readability, and consistent indentation. Overall, very readable code that would be easy for a developer to understand quickly.
Run 1
Code Structure: Logically organized into context initialization, entity processing, superclass handling, finalization, and result construction. Nesting: Only one shallow loop, making control flow easy to follow. Clarity of intent: Descriptive method names and Javadoc explain the purpose; the abbreviated variable 'pc' is slightly less clear. Code length: Concise, with implementation details delegated to helper methods, though the return statement is overly long. Action granularity: Each statement performs a distinct action, with no compressed multi-statement lines. Reading flow: Execution proceeds naturally from setup to completion. Minor indentation inconsistencies in the documentation and parameter list slightly reduce visual consistency.
Run 2
Code Structure: Logically organized into context creation, entity processing, superclass handling, finalization, and result construction. Nesting: Only one shallow loop, making control flow easy to follow. Clarity of intent: Descriptive method names and Javadoc clearly communicate the purpose; the abbreviated variable 'pc' is slightly less explicit. Code length: Concise, with implementation details appropriately delegated to helper methods. Action granularity: Each statement performs one main action, although the return statement combines several accessor calls and construction. Reading flow: The sequence is natural and linear. Minor readability issues include inconsistent indentation in the documentation and parameter list, plus an overly long return line.
Run 3
Code Structure: The method follows a logical initialization, processing, finalization, and return sequence, with details delegated to helpers. Nesting: A single shallow while loop makes control flow easy to follow. Clarity of intent: The Javadoc and descriptive method names explain the purpose well, though 'pc' is less informative than 'persistentClass'. Code length: The implementation is concise without unnecessary steps; the long constructor call could be split across lines. Action granularity: Each statement performs one clear action, with no compressed multi-statement lines. Reading flow: Execution proceeds naturally from building entity types to handling remaining superclasses and wrapping up. Minor indentation inconsistencies and the lengthy return line slightly reduce readability.