Sample
int-5c54bf75c496-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.135 | 0–1; higher is more readable |
| Scalabrino | 0.57 | 0–1; higher is more readable |
| Dorn | 0.769 | 0–1; higher is more readable |
| Mi | 0.727 | 0–1; higher is more readable |
| LLOC | 12 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.631 | 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. | 840.254 | −27.728 |
| Source linesThe number of non-empty source lines. | 60 | +24 |
| 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.665 | −6.998 |
Intercept 8.87 + feature contributions = -1.856 (log-odds).
Score = sigmoid(-1.856) = 0.135.
| Score | 0.57 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 58 | −1.017 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 96.721 | +0.756 |
| 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. | 99.984 | −0.57 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.047 | +0.488 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 59.941 | +0.428 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
Intercept 0.07 + feature contributions = 1.2 (log-odds).
Score = sigmoid(1.2) = 0.769.
| Score | 0.727 |
|---|
| Score | 12 |
|---|
Run 1
This interface is highly readable and well-structured. The code organization is logical, with method declarations grouped into sections (adjacent nodes, incident edges, edge operations) and separated by whitespace. Nesting is minimal - only the class/interface declaration and method bodies are nested, making the code flat and easy to scan. Intent is crystal clear through descriptive method names and purposeful Javadoc comments that explain each method's behavior and edge cases. The code length is concise - no unnecessary boilerplate or redundant annotations. Action granularity is appropriate for an interface, with each method declaration on its own line. Reading flow is natural, moving from basic accessor methods to more complex edge operations in a progressive manner. The only minor deduction is for the slightly verbose Javadoc on some methods, but this actually enhances understanding rather than hindering readability. Overall, this is exceptionally clean, well-documented Java code.
Run 2
The code is highly readable. It has a clear, logical structure as an interface with well-organized method declarations grouped by functionality. Nesting is effectively zero, with only the package and import statements providing minimal external structure. Intent is clearly expressed through descriptive method names and Javadoc comments that explain complex behavior (e.g., undirected self-loop handling). The code is concise, with no unnecessary verbosity. Action granularity is appropriate—each method signature is self-contained and follows a one-action-per-line pattern. Reading flow is natural, progressing logically from basic accessors to more complex mutation methods. Minor deductions: a few Javadoc comments could be slightly more detailed, but this does not significantly impact overall readability.
Run 3
The code is highly readable. Structure is logical with grouped related methods and clear Javadoc on non-obvious methods. Nesting is nonexistent — only top-level interface methods and imports. Intent is clear: it defines an interface for graph connection operations, with parameter names and method names accurately reflecting behavior. Length is concise; each method is necessary and no extraneous code exists. Action granularity is one declaration per line, improving scanability. Reading flow is natural: type params, method groups, and documentation follow a consistent, predictable order. Minor deductions: lack of blank lines between method groups could slightly improve visual separation, and a few methods (e.g., `addInEdge`) lack full documentation for the `isSelfLoop` parameter, leaving minor ambiguity.
Run 1
Code Structure: The interface logically groups node queries, edge queries, removals, and additions. Nesting: It is flat, with no nested control flow. Clarity of intent: Descriptive method names, generic type documentation, and focused comments explain the purpose and directed/undirected distinctions. Nullability and return-value annotations clarify contracts. Code length: The interface is concise, with documentation adding useful context rather than unnecessary length. Action granularity: Each declaration occupies its own logical unit, with no combined operations. Reading flow: Consistent formatting and query-before-mutation ordering make it easy to scan. Minor limitations include undocumented basic query methods and an unexplained isSelfLoop parameter on addInEdge.
Run 2
Code Structure: Logically groups node queries, edge queries, removals, and additions within a focused interface. Nesting: Flat declarations with no nested control flow make scanning easy. Clarity of intent: Descriptive method names, generic types, and targeted documentation explain responsibilities and directed versus undirected behavior; the isSelfLoop parameter on addInEdge could use explicit documentation. Code length: Concise declarations and useful comments avoid unnecessary verbosity. Action granularity: Each method declaration occupies its own line and expresses a distinct operation. Reading flow: Consistent formatting and query-before-mutation ordering create a natural progression, although a blank line after the package declaration would improve visual separation.
Run 3
Code Structure: The interface logically groups node queries, edge queries, and mutation methods. Nesting: Flat method declarations avoid nested control flow entirely. Clarity of intent: Descriptive names, generic types, and focused Javadoc clearly communicate purpose; annotations clarify nullability and return-value usage. Minor gaps include undocumented basic query methods and limited explanation of isSelfLoop in addInEdge. Code length: Concise declarations and relevant documentation avoid unnecessary verbosity. Action granularity: Each declaration occupies its own line and represents one operation. Reading flow: Consistent formatting and progression from queries to removals and additions make the interface easy to scan.