Sample

JetBrains/i41

Human rating uses the original dataset scale.

DatasetJetBrains
Human0.92
Lines8

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0240–1; higher is more readable
94.9Δ 11.0
Scalabrino0.9560–1; higher is more readable
94.9Δ 11.0
Dorn0.4950–1; higher is more readable
44.1Δ 39.8
Mi0.3840–1; higher is more readable
33.9Δ 50.0
LLOC3Logical lines; fewer is more readable
98.3Δ 14.4
DeepSeek V4 Pro18.330–20; mean of three runs
97.9Δ 14.0
GPT-6.1 Sol190–20; mean of three runs
96.2Δ 12.3
BTTF0.6240–1; higher is more readable
92.4Δ 8.5
Human0.920–1; original rating
83.9

Views

Source code

import java.math.BigDecimal; public class EulerMascheroniConstant { public static void main(String[] args) { BigDecimal gamma = new BigDecimal("0.57721566490153286060651209"); System.out.println(gamma.setScale(1000, BigDecimal.ROUND_HALF_UP)); } }

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.252.664−8.338
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.949−7.424
Source linesThe number of non-empty source lines.8+3.2

Intercept 8.87 + feature contributions = -3.692 (log-odds).
Score = sigmoid(-3.692) = 0.024.

Score0.956

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.8+0.753
Indentation frequencyHow rapidly indentation changes from line to line.8−0.46
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.77+0.404
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.6.744−0.316
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.8+0.237
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.087+0.095

Intercept 0.07 + feature contributions = -0.021 (log-odds).
Score = sigmoid(-0.021) = 0.495.

Score0.384
Score3
Run 1

The code is highly readable due to its clear structure, single-purpose class, and minimal nesting. The intent—printing the Euler–Mascheroni constant to 1000 decimal places—is unambiguous. It is concise, with only four lines of logical code, and each action is on its own line. The flow is natural: import, class declaration, main method, constant assignment, output. The only minor issue is the deprecated BigDecimal.ROUND_HALF_UP constant; a modern approach would use RoundingMode, but this does not significantly harm readability.

Run 2

The code is highly readable. It has a clear purpose—printing the Euler-Mascheroni constant to 1000 decimal places. The structure is straightforward: a single class with a main method, and no unnecessary complexity. Nesting is minimal (only top-level main). Intent is obvious from naming and the literal. The code is concise, containing no redundant logic or bloated abstractions. Action granularity is appropriate—one object creation and one output statement. Reading flow is natural: import, class definition, main method, constant initialization, and output. Minor deductions: the magic literal and rounding mode are somewhat hardcoded, and a brief comment explaining the source of the constant would improve clarity, but these do not significantly harm readability.

Run 3

The code is highly readable. It has clear structure with a single class and main method, no unnecessary nesting, and the intent is immediately obvious—print the Euler-Mascheroni constant to 1000 decimal places. The use of BigDecimal with a string constructor avoids floating-point precision issues, showing careful thought. Action granularity is one logical action per line. The only minor deduction is the hard-coded constant value line is somewhat long, but it is necessary and not a clarity issue.

Run 1

Code Structure: Clearly organized into an import, a descriptively named class, and a simple main method. Nesting: Minimal, with only the necessary class and method scopes. Clarity of intent: The class name and gamma variable clearly indicate the Euler–Mascheroni constant, though setting the scale to 1000 could misleadingly suggest greater numerical precision than the supplied value provides. Code length: Concise, without unnecessary code. Action granularity: Each statement performs a focused action; combining formatting and printing remains easy to follow. Reading flow: Natural progression from defining the constant to formatting and printing it.

Run 2

Code Structure: A simple class and main method provide clear, logical organization. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name and gamma variable clearly identify the Euler–Mascheroni constant, although scaling to 1000 decimal places may misleadingly suggest greater precision than the literal provides. Code length: Concise, with no unnecessary code. Action granularity: Initialization and output are separated into distinct statements. Reading flow: The import, class, initialization, and output follow a natural sequence. The unexplained scale of 1000 and deprecated rounding constant slightly reduce clarity.

Run 3

Code Structure: A simple class with a clearly organized main method. Nesting: Minimal, with only the necessary class and method scopes. Clarity of intent: The class and variable names clearly identify the Euler–Mascheroni constant, though setting the scale to 1000 could misleadingly suggest greater precision than the supplied value. Code length: Concise, with no unnecessary statements. Action granularity: Each statement occupies its own line; combining scaling and printing remains easy to understand. Reading flow: Natural progression from import to declaration, initialization, and output.