Sample

Scalabrio126

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.11
Lines25

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0010–1; higher is more readable
76.4Δ 55.0
Scalabrino0.430–1; higher is more readable
39.2Δ 17.8
Dorn0.240–1; higher is more readable
30.2Δ 8.8
Mi0.0880–1; higher is more readable
32.2Δ 10.8
LLOC8Logical lines; fewer is more readable
76.9Δ 55.5
DeepSeek V4 Pro17.670–20; mean of three runs
96.0Δ 74.6
GPT-6.1 Sol180–20; mean of three runs
83.7Δ 62.3
BTTF0.540–1; higher is more readable
51.8Δ 30.4
Human3.111–5; original rating
21.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)
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.

Score0.43

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.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.

Score0.088
Score8
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.