Sample

Dorn/java/221

Human rating uses the original dataset scale.

DatasetDorn
Human3.96
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.9820–1; higher is more readable
94.2Δ 3.6
Scalabrino0.9110–1; higher is more readable
96.1Δ 5.6
Dorn0.8530–1; higher is more readable
86.4Δ 4.2
Mi0.6880–1; higher is more readable
80.2Δ 10.3
LLOC12Logical lines; fewer is more readable
53.6Δ 36.9
DeepSeek V4 Pro14.670–20; mean of three runs
74.1Δ 16.4
GPT-6.1 Sol16.670–20; mean of three runs
73.8Δ 16.7
BTTF0.6170–1; higher is more readable
77.2Δ 13.4
Human3.961–5; original rating
90.5

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)
Source linesThe number of non-empty source lines.50+20
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.559.928−18.478
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.271−6.406

Intercept 8.87 + feature contributions = 3.986 (log-odds).
Score = sigmoid(3.986) = 0.982.

Score0.911

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.51−0.769
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.038+0.575
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.78.98+0.47
Indentation frequencyHow rapidly indentation changes from line to line.33+0.404
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
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.78.902+0.323
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.49.913+0.288

Intercept 0.07 + feature contributions = 1.759 (log-odds).
Score = sigmoid(1.759) = 0.853.

Score0.688
Score12
Run 1

The code is generally well-structured and readable. It follows standard JavaBean conventions with clear getter/setter methods and Javadoc comments. The constructor parameters are properly documented, and the super() call clearly establishes inheritance. Minor issues include inconsistent indentation (tabs vs spaces) and slight misalignment in the constructor parameter list. The PrimaryKeyInfo() default constructor could benefit from a brief comment explaining why all nulls are passed to super. The code is concise and actions are appropriately granular, though the constructor could be formatted more consistently. Overall, the intent is clear and the natural reading flow is maintained.

Run 2

The code is generally readable but has some inconsistencies. The class structure is logical with clear field accessors and mutators. However, the constructor uses mixed indentation (tabs vs spaces) which hurts visual consistency. The first constructor is empty without documentation, while the second is well-documented. The Javadoc comments are helpful but the parameter descriptions are inconsistent in style. Action granularity is mostly one action per line, though constructor parameters span multiple lines unnecessarily. Reading flow is natural but could be improved by aligning indentation and maintaining consistent documentation style. The code is concise overall, but the empty constructor and inconsistent formatting prevent a higher score.

Run 3

The code is generally readable but suffers from inconsistent indentation and mixed tab/space usage. Class structure is logical with clear constructor and getter/setter methods. Nesting is flat, which is good. Intent is mostly clear, though the empty constructor calling super(null, null, null, null, null) is opaque without additional context. Code length is appropriate for a simple data class. Action granularity is fine - one operation per line within methods. Reading flow is disrupted by misaligned braces and inconsistent spacing between method signatures and bodies. Javadoc comments are helpful but some parameters are documented while others aren't, and the third parameter name is inconsistently prefixed with 'a'. Overall, it's maintainable but would benefit from formatting fixes.

Run 1

Code Structure: Constructors and accessors are logically grouped and easy to distinguish. Nesting: No nested control flow; all method bodies are flat. Clarity of intent: Descriptive method and field names make the purpose clear, but the five null superclass arguments are opaque, parameter naming is inconsistent, and constructor documentation omits aTableName and leaves md unexplained. Code length: Implementations are concise, though accessor comments mostly repeat the method names. Action granularity: Each statement performs one action on its own line. Reading flow: The sequence is natural, but mixed indentation, inconsistent brace placement, and uneven parameter alignment interrupt visual consistency.

Run 2

Code Structure: Constructors and accessors are logically organized, though indentation and brace styles are inconsistent. Nesting: Completely flat method bodies make the code easy to scan. Clarity of intent: Descriptive names and straightforward assignments clearly convey primary-key metadata handling; however, the default constructor's five null arguments are opaque, aTableName lacks documentation, and md has an empty parameter description. Code length: Concise implementation, with some redundant accessor documentation. Action granularity: Each statement performs one action on its own line. Reading flow: Natural progression from construction to accessors, slightly disrupted by inconsistent formatting and mixed parameter naming conventions.

Run 3

Code Structure: Constructors and accessors are logically grouped, though indentation and brace styles are inconsistent. Nesting: Methods are flat, with no nested control flow. Clarity of intent: Descriptive names and straightforward assignments make the purpose clear; however, the five null superclass arguments are opaque, constructor documentation omits aTableName, and md is undocumented. Code length: The implementation is concise, although accessor comments largely repeat the method names. Action granularity: Each statement performs one action on its own line. Reading flow: Construction followed by accessors is natural, but mixed tabs, spaces, and parameter alignment slightly disrupt scanning.