Sample

Dorn/java/135

Human rating uses the original dataset scale.

DatasetDorn
Human2.88
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0030–1; higher is more readable
63.8Δ 39.6
Dorn0.4840–1; higher is more readable
41.2Δ 17.0
Mi0.4550–1; higher is more readable
45.7Δ 21.4
LLOC3Logical lines; fewer is more readable
88.6Δ 64.3
DeepSeek V4 Pro16.330–20; mean of three runs
87.9Δ 63.6
GPT-6.1 Sol180–20; mean of three runs
93.5Δ 69.2
BTTF0.4350–1; higher is more readable
29.0Δ 4.7
Human2.881–5; original rating
24.2

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.341.215−11.26
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.926−7.388
Source linesThe number of non-empty source lines.10+4

Intercept 8.87 + feature contributions = -5.778 (log-odds).
Score = sigmoid(-5.778) = 0.003.

Feature contributions

FeatureValueContribution
(log-odds)
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
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.10+0.682
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.70.909+0.662
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.889−0.272
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.10+0.191
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.086+0.108

Intercept 0.07 + feature contributions = -0.065 (log-odds).
Score = sigmoid(-0.065) = 0.484.

Score0.455
Score3
Run 1

The code is highly readable. It is well-structured into logical steps: retrieving a parameter, preparing data, and performing an update. Nesting is minimal, with only two flat calls. The intent of each line is clear, particularly with descriptive variable names like 'fileEntryTypeId' and 'fieldsMap'. The code is concise but not overly compressed; the multi-line formatting of the method arguments aids readability despite having many parameters. Action granularity is appropriate, with one primary action per line. The reading flow follows a natural top-down progression: input, intermediate data, output. Overall, the code requires little effort to understand.

Run 2

The code is clean and well-structured. It uses a logical flow: first extracting a parameter, then building a map, then performing the update. Nesting is flat, with no nested blocks or conditionals. Intent is clear from descriptive variable and method names like fileEntryTypeId, fieldsMap, and updateFileEntry. Although the updateFileEntry call is long, it is a single logical action with meaningful parameter names; formatting the parameters vertically could improve readability further. Line lengths are slightly long but acceptable. Action granularity is appropriate—each line performs one logical step. Overall, the reading flow is natural and easy to follow for someone familiar with the domain.

Run 3

The code is fairly readable but has some areas for improvement. The structure is logical and linear, with clear variable and method names conveying intent. It avoids deep nesting and maintains good action granularity—one main operation per line. However, the call to updateFileEntry is overly long and contains many parameters, making it harder to follow. The reading flow is natural from setup to execution. Overall, it’s concise and understandable but would benefit from breaking up the parameter list or using a builder/object to improve clarity.

Run 1

Code Structure: Three logically ordered steps retrieve a type ID, prepare fields, and update the file entry. Nesting: No nested control flow, making the snippet easy to scan. Clarity of intent: Descriptive variable and method names communicate the purpose, although the update call's many positional arguments and null value obscure some details. Code length: Concise, with line wrapping that keeps the long call manageable. Action granularity: Each statement performs one primary action, with no compressed or combined operations. Reading flow: Natural progression from input extraction to preparation and execution; the large argument list and abbreviated variable 'is' slightly reduce readability.

Run 2

Code Structure: Logically organized into parameter retrieval, field preparation, and the update operation. Nesting: No nesting, making the snippet easy to scan. Clarity of intent: Descriptive variable and method names communicate the purpose, although 'is' and the null argument are less informative. Code length: Concise, with no apparent redundancy. Action granularity: Each statement performs one primary action; wrapped lines improve readability without combining unrelated operations. Reading flow: Dependencies are introduced before use, creating a natural progression. The update method's long positional argument list slightly reduces readability because argument roles are harder to distinguish.

Run 3

Code Structure: Logically ordered into parameter retrieval, field-map construction, and file-entry update. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive method and variable names make the overall purpose clear, though 'is', the null argument, and the long positional argument list require additional context. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs one primary operation; line wrapping keeps lengthy calls manageable. Reading flow: Dependencies appear before use, producing a natural progression toward the update call.