Sample
Dorn/java/140
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.01 | 0–1; higher is more readable | 68.0Δ 26.5 |
| Scalabrino | 0.752 | 0–1; higher is more readable | 82.9Δ 41.4 |
| Dorn | 0.542 | 0–1; higher is more readable | 46.2Δ 4.7 |
| Mi | 0.738 | 0–1; higher is more readable | 90.8Δ 49.3 |
| LLOC | 12 | Logical lines; fewer is more readable | 53.6Δ 12.1 |
| DeepSeek V4 Pro | 8 | 0–20; mean of three runs | 29.4Δ 12.1 |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs | 52.8Δ 11.3 |
| BTTF | 0.647 | 0–1; higher is more readable | 85.0Δ 43.5 |
| Human | 3.21 | 1–5; original rating | 41.5 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
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. | 554.78 | −18.308 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| 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.756 | −7.134 |
Intercept 8.87 + feature contributions = -4.571 (log-odds).
Score = sigmoid(-4.571) = 0.01.
| Score | 0.752 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 65.935 | +0.872 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| 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.124 | −0.261 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 18 | −0.115 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 29 | +0.01 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.104 | −0.003 |
Intercept 0.07 + feature contributions = 0.167 (log-odds).
Score = sigmoid(0.167) = 0.542.
| Score | 0.738 |
|---|
| Score | 12 |
|---|
Run 1
The code exhibits severe structural issues. It is a fragment of repeated try-catch blocks with no visible method signatures or class context, making the logical organization impossible to assess. The nesting is minimal (one level), but the repetition of identical exception handling across multiple methods indicates high duplication and poor maintainability. Each method has a clear intent (delegating to a service utility), but the repeated boilerplate obscures the overall purpose. The code length is unnecessarily long due to duplication—each method could be simplified using a shared helper or lambda wrapper. Action granularity is acceptable (one action per line), but the reading flow is disorganized because the fragment begins mid-block and lacks context. Overall, the code is highly repetitive, lacks abstraction, and appears tangled due to missing structure, earning a very low readability score.
Run 2
The code shows repetitive try-catch blocks that wrap service calls, which makes the intent clear but leads to significant duplication. Each method follows the same pattern: call a static service method, catch any exception, log it, and rethrow as RemoteException. This structure is logically organized but unnecessarily long due to boilerplate repetition. The nesting is flat (only one level), which is good, and each action is on its own line. Reading flow is natural but monotonous. The code would benefit from extraction of the exception handling into a reusable utility method or using AOP/interceptors. The snippet appears to be truncated at the beginning, showing a closing brace from a previous block, which slightly impacts readability. Overall, it's functional and clear but verbose and repetitive.
Run 3
The code is structurally simple and moderately readable. Each method follows a consistent try-catch pattern, with one action per line inside the try block, which aids clarity and flow. The repetitive logging and exception wrapping are clear but redundant across methods, suggesting potential for refactoring. The main readability issues are lack of surrounding context—method signatures and catch blocks appear fragmented—and the duplicate `e, e` logging parameter, which may confuse readers unfamiliar with the logging API. Nesting is shallow, and intent is predictable, but the code feels verbose and repetitive. Overall, it reads as boilerplate-generated service wrappers with limited readability without the broader class context.
Run 1
Code Structure: The complete methods are consistently organized as service wrappers, but the snippet begins with an orphaned catch block, obscuring its context. Nesting: Shallow try/catch blocks are easy to follow. Clarity of intent: Descriptive method names and direct delegation make the purpose apparent, though logging the same exception twice is unclear. Code length: Individual methods are concise, but repeated exception-handling boilerplate adds redundancy. Action granularity: Each statement performs one clear action. Reading flow: Consistent formatting and spacing support natural reading, although the incomplete opening and differing signature layouts slightly disrupt it.
Run 2
Code Structure: Methods are logically separated and follow a consistent delegation and exception-handling pattern, but the fragment starts with an unmatched closing block and lacks surrounding context. Nesting: Shallow try/catch blocks are easy to follow. Clarity of intent: Descriptive method names and direct PortalServiceUtil calls communicate purpose, though the leading catch block has no visible associated operation. Code length: Individual methods are concise, but repeated logging and exception wrapping add boilerplate. Action granularity: Each statement performs one action, with delegation, logging, and throwing clearly separated. Reading flow: Consistent indentation and spacing support natural reading, although the incomplete opening and unconventional underscore in one method name slightly interrupt it.
Run 3
Code Structure: The visible methods are logically separated and consistently organized, but the snippet begins with an incomplete preceding method. Nesting: Shallow try/catch blocks keep the code easy to follow. Clarity of intent: Descriptive method names and direct delegation make the purpose clear, although the rollback naming convention is awkward. Code length: Individual methods are concise, but repeated exception-handling boilerplate adds redundancy. Action granularity: Each statement performs one action, with logging and throwing clearly separated. Reading flow: Consistent indentation and spacing support natural reading, while the opening fragment and wrapped method signature slightly interrupt the flow.