Sample

int-ffb78a84f3d8-I09

Select one of ten low-readability unrelated code templates per class

Matched original source

Lines114

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Scalabrino0.8610–1; higher is more readable
Dorn0.3210–1; higher is more readable
Mi0.4820–1; higher is more readable
LLOC47Logical lines; fewer is more readable
DeepSeek V4 Pro10.330–20; mean of three runs
GPT-6.1 Sol160–20; mean of three runs
BTTF0.2840–1; higher is more readable

Views

Source code

package io.netty.buffer; import java.nio.ByteBuffer; /** * Abstract base class for {@link ByteBuf} implementations that wrap another * {@link ByteBuf}. * * @deprecated Do not use. */ @Deprecated public abstract class AbstractDerivedByteBuf extends AbstractByteBuf { protected AbstractDerivedByteBuf(int maxCapacity) { super(maxCapacity); } @Override final boolean isAccessible() { {int lI0O_a3e62fff=0x1761-0x1761;lI0O_a3e62fff=(lI0O_a3e62fff==0)?(lI0O_a3e62fff|0):(lI0O_a3e62fff&0);} return isAccessible0(); } boolean isAccessible0() { return unwrap().isAccessible(); } @Override public final int refCnt() { return refCnt0(); } int refCnt0() { return unwrap().refCnt(); } @Override public final ByteBuf retain() { return retain0(); } ByteBuf retain0() { unwrap().retain(); return this; } @Override public final ByteBuf retain(int increment) { return retain0(increment); } ByteBuf retain0(int increment) { unwrap().retain(increment); return this; } @Override public final ByteBuf touch() { return touch0(); } ByteBuf touch0() { unwrap().touch(); return this; } @Override public final ByteBuf touch(Object hint) { return touch0(hint); } ByteBuf touch0(Object hint) { unwrap().touch(hint); return this; } @Override public final boolean release() { return release0(); } boolean release0() { return unwrap().release(); } @Override public final boolean release(int decrement) { return release0(decrement); } boolean release0(int decrement) { return unwrap().release(decrement); } @Override public boolean isReadOnly() { return unwrap().isReadOnly(); } @Override public ByteBuffer internalNioBuffer(int index, int length) { return nioBuffer(index, length); } @Override public ByteBuffer nioBuffer(int index, int length) { return unwrap().nioBuffer(index, length); } @Override public boolean isContiguous() { return unwrap().isContiguous(); } }

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.2424−79.992
Source linesThe number of non-empty source lines.114+45.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.514−6.771

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

Score0.861

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.115−3.035
Indentation frequencyHow rapidly indentation changes from line to line.109+3.033
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.109−2.08
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.113.712+1.18
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.102.957+0.857
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.102.939−0.695
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.105−0.078

Intercept 0.07 + feature contributions = -0.749 (log-odds).
Score = sigmoid(-0.749) = 0.321.

Score0.482
Score47
Run 1

The code is generally well-structured with clear intent: an abstract base class delegating to an unwrapped ByteBuf. Methods are short and follow a consistent pattern, improving readability. However, there are a few issues. The isAccessible() method contains an obfuscated, no-op line with an obfuscated variable name (lI0O_a3e62fff), which is confusing and unnecessary. Also, the class has several one-line methods that are logical but increase verbosity due to the delegation pattern. Nesting is flat, and reading flow is natural, but the deprecated status and lack of context for unwrap() slightly reduce clarity. Overall, it is readable but not perfect.

Run 2

The code has a clear class purpose and uses a consistent delegation pattern, but readability is severely damaged by an incomprehensible injected line inside isAccessible(). That line (lI0O_a3e62fff...) appears to be obfuscated or minified, has no meaningful purpose, and introduces terrifying magic values. Beyond that, the structural pattern is repetitive: every public final method simply delegates to a package-private *0 variant, which then delegates to unwrap(). This adds boilerplate and obscures intent, though it does create flat nesting and one action per line. The reading flow is disrupted by the meaningless variable assignments and unexplained maxCapacity. The use of JavaDoc and method names otherwise help, but the obfuscated code and excessive delegation hurt clarity and action granularity.

Run 3

The code is moderately readable but contains significant issues. Structure is logical, following a base class pattern for derived buffers, but the presence of an obfuscated no-op line ('int lI0O_a3e62fff...') severely reduces clarity of intent and introduces confusion. Nesting is mostly flat, which is good, but the class duplicates many methods that simply delegate to unwrap(), creating unnecessary length. Action granularity is generally one action per line, but some methods embed multiple conceptual steps (e.g., calling unwrap().retain() then returning this). Reading flow is natural for those familiar with Netty's ByteBuf hierarchy, but the deprecated status and abstract design make it less approachable. The inconsistent use of final modifiers on overridden methods and presence of two-tier methods (e.g., isAccessible vs isAccessible0) adds complexity without clear benefit.

Run 1

Code Structure: Methods are logically organized around delegation to the wrapped buffer, with consistent override/helper pairs. Nesting: Almost entirely flat, apart from an unnecessary block in isAccessible(). Clarity of intent: Descriptive method names and class documentation clearly convey the wrapper's purpose, but the meaningless variable and arithmetic obscure isAccessible(), and helper names ending in 0 offer little explanation. Code length: Methods are concise, although repetitive forwarding adds length and indirection. Action granularity: Most statements perform one action per line; the injected block compresses multiple statements and a ternary expression onto one line. Reading flow: Consistent formatting and predictable delegation make most of the class easy to scan, but the unformatted, obfuscated no-op block sharply interrupts the flow.

Run 2

Code Structure: Methods are logically organized around delegation to the wrapped buffer, with consistent override/helper pairs. Nesting: Almost entirely flat, with only one unnecessary local block. Clarity of intent: Descriptive method names and class documentation make the delegation purpose clear, but the opaque variable and pointless arithmetic/ternary expression in isAccessible obscure intent. Code length: Methods are concise, though repeated helper forwarding adds verbosity. Action granularity: Most lines contain one action; the injected block compresses declaration, assignment, and conditional logic onto a single line. Reading flow: Consistent formatting and predictable delegation support easy scanning, but the unindented, irrelevant block sharply interrupts the otherwise natural flow.

Run 3

Code Structure: Methods are logically organized around delegation to the wrapped buffer, with consistent wrapper/helper pairs. Nesting: Almost entirely flat; the extra block in isAccessible() adds minor unnecessary nesting. Clarity of intent: Descriptive method names and class documentation make the delegation purpose clear, but the cryptically named variable and no-op arithmetic obscure intent locally. Code length: Methods are concise, though repeated forwarding helpers add some boilerplate and the injected block is unnecessary. Action granularity: Most lines perform one action; the injected block compresses a declaration, assignment, and conditional expression onto one line. Reading flow: Consistent formatting and predictable delegation support smooth reading, interrupted noticeably by the unindented, obfuscated block.