Sample

int-e2aa9725acc8-I01

Remove line comments, block comments, and Javadoc

Matched original source

Lines53

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Scalabrino0.7840–1; higher is more readable
Dorn0.2020–1; higher is more readable
Mi0.690–1; higher is more readable
LLOC15Logical lines; fewer is more readable
DeepSeek V4 Pro180–20; mean of three runs
GPT-6.1 Sol180–20; mean of three runs
BTTF0.5430–1; higher is more readable

Views

Source code

package com.google.common.collect; import com.google.common.annotations.GwtCompatible; import java.util.Map.Entry; import java.util.Objects; import org.jspecify.annotations.Nullable; @GwtCompatible abstract class AbstractMapEntry<K extends @Nullable Object, V extends @Nullable Object> implements Entry<K, V> { @Override @ParametricNullness public abstract K getKey(); @Override @ParametricNullness public abstract V getValue(); @Override @ParametricNullness public V setValue(@ParametricNullness V value) { throw new UnsupportedOperationException(); } @Override public boolean equals(@Nullable Object object) { if (object instanceof Entry) { Entry<?, ?> that = (Entry<?, ?>) object; return Objects.equals(this.getKey(), that.getKey()) && Objects.equals(this.getValue(), that.getValue()); } return false; } @Override public int hashCode() { K k = getKey(); V v = getValue(); return ((k == null) ? 0 : k.hashCode()) ^ ((v == null) ? 0 : v.hashCode()); } @Override public String toString() { return getKey() + "=" + getValue(); } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.1546.216−51.025
Source linesThe number of non-empty source lines.53+21.2
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.888−7.332

Intercept 8.87 + feature contributions = -28.287 (log-odds).
Score = sigmoid(-28.287) = 0.

Score0.784

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.53+1.096
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.54−0.876
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.53−0.795
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.135−0.372
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.52.739+0.327
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.86.981−0.019

Intercept 0.07 + feature contributions = -1.373 (log-odds).
Score = sigmoid(-1.373) = 0.202.

Score0.69
Score15
Run 1

The code is highly readable. It has a clear, logical structure with each method separated and focused on a single responsibility. Nesting is minimal, with only one level for the instanceof check in equals(); the early return pattern is used effectively. Intent is clear: it's an abstract Map.Entry implementation with standard method overrides. The code is concise, avoiding unnecessary verbosity while remaining complete. Action granularity is excellent—only the equals method combines operations on a single line in a reasonable, standard way. The reading flow is natural, following the typical order of key, value, setter, equals, hashCode, and toString. Minor deductions come from the unused import of java.util.Map.Entry (Entry is already in scope via the interface) and the blank lines at the top, but these do not materially affect readability.

Run 2

The code is highly readable. It is logically organized, with methods like equals, hashCode, and toString following standard conventions. Nesting is minimal, with only one conditional block in equals. Intent is clear: it provides a skeletal implementation of Map.Entry with sensible defaults. Code length is concise and appropriate for the abstraction. Action granularity is good, with each line performing a single logical operation, especially in equals and hashCode. Reading flow is natural, following a standard class structure: abstract accessors, default methods, and object method overrides. Minor deductions include the slightly verbose generic type declarations and redundant cast in equals, but overall readability is excellent.

Run 3

The code is highly readable with a clear structure and logical organization. It implements a simple map entry abstraction, and each method has a single, obvious purpose. Nesting is minimal, with only one level inside equals(). Naming is clear and follows Guava conventions. Nullability annotations improve clarity. The code is concise, with no unnecessary verbosity. While the equals() method has a slightly deep type cast and conditional, it remains easy to follow. Reading flow is natural, from key/value accessors to equality, hashing, and string conversion.

Run 1

Code Structure: Methods are logically organized within a focused abstract Map.Entry implementation. Nesting: Only one shallow conditional appears in equals, making control flow easy to follow. Clarity of intent: Standard method names, overrides, and straightforward implementations clearly communicate entry behavior; single-letter hashCode variables are slightly less descriptive. Code length: The implementation is concise, although excessive blank lines add visual clutter. Action granularity: Each statement performs one clear action, with compound equality and hash calculations remaining readable. Reading flow: The progression from accessors to mutation behavior, equality, hashing, and string representation is natural. Minor whitespace inconsistencies and a somewhat dense hashCode expression prevent a perfect score.

Run 2

Code Structure: Methods are logically organized around the Map.Entry contract, with clear separation of responsibilities. Nesting: Only one shallow conditional appears, keeping control flow easy to follow. Clarity of intent: Standard method names and familiar implementations clearly express equality, hashing, string representation, and unsupported mutation; abbreviated variables k and v slightly reduce clarity. Code length: The implementation is concise, although excessive blank lines add unnecessary visual space. Action granularity: Statements generally perform one action each; the compact hash calculation remains understandable. Reading flow: Consistent formatting and straightforward method bodies support natural reading, with minor disruption from irregular whitespace and annotation density.

Run 3

Code Structure: Methods are logically organized around the Map.Entry contract, with clear separation of responsibilities. Nesting: Minimal nesting, limited to one conditional in equals. Clarity of intent: Familiar method names, annotations, and straightforward implementations make the purpose clear; terse variables k and v slightly reduce clarity. Code length: Concise overall, though excessive blank lines add visual noise. Action granularity: Statements generally perform one action each; the hashCode expression combines null handling and hashing but remains manageable. Reading flow: Consistent formatting and standard override ordering support natural reading, with minor interruptions from redundant parentheses and uneven whitespace.