Sample
Buse/4
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.971 | 0–1; higher is more readable | 98.0Δ 9.1 |
| Scalabrino | 0.923 | 0–1; higher is more readable | 97.0Δ 8.1 |
| Dorn | 0.795 | 0–1; higher is more readable | 82.8Δ 6.1 |
| Mi | 0.729 | 0–1; higher is more readable | 88.9Δ 0.0 |
| LLOC | 5 | Logical lines; fewer is more readable | 29.8Δ 59.1 |
| DeepSeek V4 Pro | 15.33 | 0–20; mean of three runs | 65.7Δ 23.2 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 62.1Δ 26.8 |
| BTTF | 0.619 | 0–1; higher is more readable | 77.8Δ 11.1 |
| Human | 4.03 | 1–5; original rating | 88.9 |
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) |
|---|---|---|
| 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.34 | −6.509 |
| Source linesThe number of non-empty source lines. | 13 | +5.2 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 123.19 | −4.065 |
Intercept 8.87 + feature contributions = 3.495 (log-odds).
Score = sigmoid(3.495) = 0.971.
| Score | 0.923 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.026 | +0.689 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 14 | +0.541 |
| 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. | 76.714 | +0.416 |
| 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. | 12.91 | −0.229 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 60.714 | +0.175 |
Intercept 0.07 + feature contributions = 1.357 (log-odds).
Score = sigmoid(1.357) = 0.795.
| Score | 0.729 |
|---|
| Score | 5 |
|---|
Run 1
The code is readable with clear intent and logical structure. Field assignments are one per line, and parameters are well-named, though the comment is verbose and includes design discussion that may be outdated. The constructor's role is straightforward, but the dependency issue noted in the comment suggests potential design debt. Overall, the code is concise, flat, and easy to follow.
Run 2
The code is generally clear and readable. It has a logical structure with a constructor that initializes fields directly. The nesting is minimal, with no deep nesting. The intent is mostly clear, though the purpose of 'inGrantee' is not immediately obvious from the code itself (only the comment hints at it). The code is concise and not unnecessarily long. Each line performs a single action, which is good. The reading flow is natural, with fields initialized in a logical order. However, the unused 'inGrantee' parameter and the extensive comment about a design issue slightly reduce clarity, as they introduce ambiguity about the code's current state and future direction.
Run 3
The code is reasonably readable with clear intent: it initializes a Grantee object with a name, optional reference, and manager, while documenting a known design smell. The constructor is flat with minimal nesting and each assignment line contains a single action. Javadoc comments explain non-obvious null semantics and architectural debt, improving clarity. However, readability is reduced by the use of unexplained abbreviations (e.g., 'man', 'inGrantee', 'IntValueHashMap') and alignment-based formatting that could be seen as slightly unconventional. The code is concise but lacks context for the fields being initialized, which may require readers to reference the class definition. Overall, it's clean and straightforward but not maximally self-documenting.
Run 1
Code Structure: The constructor logically groups straightforward field initialization. Nesting: There is no nested control flow. Clarity of intent: Assignments are clear, but abbreviated names such as 'man' and the unexplained 'inGrantee' parameter weaken clarity; the comment explains context and a design concern. Code length: The visible implementation is concise, though the comment is relatively long for three assignments. Action granularity: Each statement performs one action on its own line. Reading flow: Consistent indentation and aligned assignments make scanning easy, but the missing closing brace and unused parameter in this incomplete excerpt prevent a fully clear view of the constructor.
Run 2
Code Structure: The constructor is logically organized, with related initialization statements grouped together. Nesting: The code is flat and easy to scan. Clarity of intent: Assignments clearly initialize grantee state, and the comment provides context, but parameter names such as 'man' and 'inGrantee' are vague; 'inGrantee' is not used in the visible excerpt. Code length: The implementation is concise, although the architectural commentary is somewhat verbose. Action granularity: Each line performs a single assignment. Reading flow: Consistent indentation and aligned assignments support natural reading, but the incomplete constructor limits assessment of the overall flow.
Run 3
Code Structure: Constructor initialization is logically organized, although the snippet is incomplete. Nesting: Flat, with no nested control flow. Clarity of intent: Assignments clearly initialize instance fields, but parameter names such as 'man' and 'inGrantee' are less descriptive, and the comment's 'User Object' terminology differs from the Grantee type. Code length: Concise; the dependency commentary adds useful design context. Action granularity: Each assignment occupies its own line. Reading flow: Documentation, signature, and initialization follow a natural sequence, with aligned assignments aiding scanning. The unfinished constructor limits assessment of its overall readability.