Sample
int-84b1981cf085-I12
Inline all eligible single-use intermediate local variables
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.546 | 0–1; higher is more readable |
| Dorn | 0.778 | 0–1; higher is more readable |
| Mi | 0.282 | 0–1; higher is more readable |
| LLOC | 50 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.379 | 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. | 4610.646 | −152.151 |
| Source linesThe number of non-empty source lines. | 129 | +51.6 |
| 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.973 | −7.459 |
Intercept 8.87 + feature contributions = -99.141 (log-odds).
Score = sigmoid(-99.141) = 0.
| Score | 0.546 |
|---|
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. | 130 | −3.567 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 116 | +3.275 |
| 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. | 123.977 | −1.586 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 128.864 | +1.391 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 123.985 | +1.196 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.089 | +0.079 |
Intercept 0.07 + feature contributions = 1.257 (log-odds).
Score = sigmoid(1.257) = 0.778.
| Score | 0.282 |
|---|
| Score | 50 |
|---|
Run 1
The code is highly readable with clear structure and intent. It follows a logical organization: constructor, interface methods, main conversion logic, helper methods, and an inner class. Nesting is shallow, with only one level inside the loop and conditionals. Action granularity is appropriate, with mostly one action per line. Reading flow is natural, guiding the reader from type checks through conversion to map creation. The use of helper methods (canConvertKey, convertKey, etc.) improves clarity and reduces duplication. The 'Shortcut if possible...' comment clarifies the early return. Minor deductions: the convert method is somewhat long but still coherent, and the MapEntry inner class adds slight overhead but is well-encapsulated. Overall, the code is concise, well-documented, and easy to follow.
Run 2
The code is well-structured with clear separation of concerns: main conversion logic, capability checks, key/value conversion helpers, and a small entry holder class. Nesting is minimal and flow is mostly linear. Intent is clear from method names and Javadoc comments. Action granularity is appropriate, generally one or two logical operations per line. The main convert method has a slightly long sequence of steps and a non-obvious 'copyRequired' flag that requires careful reading, but the shortcut comments help. Minor redundancy exists in MapEntry for simple put operations, but it aids readability. Overall, the code reads naturally and would be easy to maintain.
Run 3
The code is well-structured and readable. It follows a logical organization with clear separation between conversion logic, helper methods, and an internal data holder. Nesting is minimal, with only one level of loop and a few early returns. Method names clearly convey intent (e.g., canConvertKey, convertValue). The main convert method is concise without unnecessary repetition. Action granularity is mostly one action per line, especially in the loop. Reading flow is natural: null checks, shortcut checks, element conversion, map creation, and population. Javadoc and comments aid understanding. Minor deductions include the slightly verbose MapEntry helper and some repetitive null-check patterns, but overall it is highly maintainable.
Run 1
Code Structure: Well organized into public conversion methods, focused helpers, and a small entry holder. Nesting: Shallow loops and conditionals, with early returns keeping control flow flat. Clarity of intent: Descriptive names and class documentation clearly communicate map conversion; reference-identity checks and deferred copying require slightly more thought. Code length: Mostly concise, though parallel key/value helpers and the entry holder add some boilerplate. Action granularity: Statements generally perform one action per line, making conversion steps easy to follow. Reading flow: Natural progression from validation and shortcuts to element conversion and target-map construction. The intermediate entry list introduces a second processing phase, but its role in avoiding unnecessary map copying is understandable.
Run 2
Code Structure: Well organized into interface methods, focused conversion helpers, and a small entry holder. Nesting: Shallow loops and conditionals, with early returns keeping control flow flat. Clarity of intent: Descriptive names and class documentation clearly explain map conversion; identity comparisons and deferred map creation require some thought. Code length: Mostly concise, although parallel key/value helpers and the MapEntry wrapper introduce modest repetition and overhead. Action granularity: Statements generally perform one action per line, making operations easy to follow. Reading flow: Conversion proceeds naturally from null handling through entry conversion to optional map creation; the intermediate entry list and copyRequired optimization slightly complicate an otherwise straightforward sequence.
Run 3
Code Structure: Well organized into converter methods, focused helpers, and a small entry holder. Nesting: Shallow conditionals and loops, with early returns keeping control flow simple. Clarity of intent: Descriptive names and class documentation clearly explain map conversion; identity comparisons and copyRequired optimization require some thought. Code length: Mostly concise, although parallel key/value helpers and the intermediate MapEntry list add modest verbosity. Action granularity: Statements generally perform one clear action per line. Reading flow: Natural progression from null handling through element conversion to optional map creation, with helpers separated cleanly. The two-pass conversion strategy slightly increases the effort needed to follow the main method.