Sample
int-09c188731502-I01
Remove line comments, block comments, and Javadoc
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.806 | 0–1; higher is more readable |
| Dorn | 0.624 | 0–1; higher is more readable |
| Mi | 0.762 | 0–1; higher is more readable |
| LLOC | 11 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.689 | 0–1; higher is more readable |
Views
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. | 867.881 | −28.64 |
| Source linesThe number of non-empty source lines. | 40 | +16 |
| 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.94 | −7.41 |
Intercept 8.87 + feature contributions = -11.181 (log-odds).
Score = sigmoid(-11.181) = 0.
| Score | 0.806 |
|---|
Feature contributions
| Feature | Value | Contribution (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. | 40 | +0.646 |
| 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. | 74.976 | +0.49 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 41 | −0.415 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 39.684 | +0.145 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.099 | −0.024 |
Intercept 0.07 + feature contributions = 0.505 (log-odds).
Score = sigmoid(0.505) = 0.624.
| Score | 0.762 |
|---|
| Score | 11 |
|---|
Run 1
The code is highly readable with a clear, logical structure. The class has a single responsibility and follows standard Java conventions. Nesting is minimal and the control flow is straightforward. Each method is concise and performs a single action, with clear intent expressed through method names like getLiteralValue, isCompilable, and generateCode. The code avoids unnecessary verbosity while remaining descriptive. The reading flow is natural, with fields declared before constructors and methods organized by visibility and functionality. The only minor issue is the presence of multiple blank lines between the package and import statements, which slightly disrupts visual flow but does not impact overall readability.
Run 2
The code is well-structured with clear separation of concerns: field declaration, constructor, and overridden methods. It follows a flat, linear flow with no nesting, making it highly readable. The class has a single, obvious purpose—representing a long literal in Spring Expression Language. It is concise, with no unnecessary code or comments. Each method performs one action and the logic is straightforward: initialize, return the value, indicate compilability, and generate bytecode. The only minor readability issue is the excessive blank lines between the import statements and the class declaration, which slightly interrupts the reading flow. Otherwise, the code is clean, idiomatic Java, and easy for any developer to understand at a glance.
Run 3
The code is a clean, well-structured Java class representing a long literal in the Spring Expression Language. It has a single responsibility, a flat structure with no nesting, and clear intent. Each method is concise and performs one action per line. The reading flow is natural, moving from field declarations to constructor to overridden methods. Imports are minimal and specific. Minor improvements could include adding Javadoc for clarity, but the code remains highly readable and maintainable.
Run 1
Code Structure: The class is logically organized into a field, constructor, and focused overridden methods. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: LongLiteral and its method names clearly convey purpose; the "J" descriptor and abbreviated parameters mv and cf require familiarity with bytecode conventions. Code length: The implementation is concise, although excessive blank lines add unnecessary visual space. Action granularity: Each statement performs one distinct action on its own line. Reading flow: Construction, value retrieval, compilation support, and code generation follow a natural sequence. Overall, readability is strong, with minor formatting and domain-specific naming limitations.
Run 2
Code Structure: The class is logically organized into a field, constructor, and focused overridden methods. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: Class and method names clearly identify a long literal and its value retrieval and compilation behavior; the descriptor "J" requires JVM knowledge. Code length: The implementation is concise, though excessive blank lines add visual clutter. Action granularity: Each statement performs one action, with initialization and code generation cleanly separated. Reading flow: The sequence from construction to value access, compilation support, and code generation is natural. More consistent whitespace and clearer parameter names than mv and cf would slightly improve readability.
Run 3
Code Structure: The class is logically organized into a field, constructor, and short overridden methods. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: Class and method names clearly communicate a compilable long literal, though the descriptor "J" and abbreviation "cf" require domain knowledge. Code length: The implementation is concise, but excessive blank lines add unnecessary visual space. Action granularity: Each statement performs one action on its own line. Reading flow: The progression from initialization to value retrieval, compilability, and code generation is natural; inconsistent whitespace slightly disrupts it.