Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Java Clean Comments

ASecurity

Enforces comment and Javadoc hygiene in Java — no commented-out code, no author or ticket metadata, no comments restating the code, and Javadoc that documents contracts rather than repeating signatures. Use when writing or reviewing Java comments and Javadoc, and when the code shows commented-out blocks, TODO or FIXME banners, @author or date tags, boilerplate Javadoc, or documentation that no longer matches the method.

2 stars
0 votes
0 copies
1 views
Added 9/19/2026
developmentrustgojavaexpressgitapidocumentation

Works with

api

Security Analysis

A100/100

Scanned 9/19/2026

$npx -y skills add CasLubbers/code-design-skills --skill java-clean-comments --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Java Clean Comments?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Java Clean Comments
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/caslubbers-java-clean-comments/badge)](https://www.skillsdirectory.com/skills/caslubbers-java-clean-comments)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: java-clean-comments
description: Enforces comment and Javadoc hygiene in Java — no commented-out code, no author or ticket metadata, no comments restating the code, and Javadoc that documents contracts rather than repeating signatures. Use when writing or reviewing Java comments and Javadoc, and when the code shows commented-out blocks, TODO or FIXME banners, @author or date tags, boilerplate Javadoc, or documentation that no longer matches the method.
---

# Clean comments in Java

A comment is a failure to express the idea in code. Sometimes it is the right failure — but try the code first.

## Prefer code that needs no comment

```java
// Bad
// Check if the employee is eligible for full benefits
if (employee.flags() == HOURLY_FLAG && employee.age() > 65) { ... }

// Good
if (employee.isEligibleForFullBenefits()) { ... }
```

```java
// Bad
int t = 86_400; // seconds in a day

// Good
static final int SECONDS_PER_DAY = 86_400;
```

## Delete commented-out code

```java
// Bad
public void process(Order order) {
    validate(order);
    // legacy path, keep for now
    // if (order.isLegacy()) {
    //     legacyProcessor.handle(order);
    //     return;
    // }
    save(order);
}
```

Nobody dares delete it later because nobody knows if it matters. Git has it. Delete it.

## No metadata

```java
// Bad
/**
 * @author j.smith
 * @since 2019-04-03
 * Modified by: a.jones (JIRA-4821)
 */
```

Version control owns authorship, dates, and ticket history, and keeps them accurate — comments drift immediately. `@since` on a public API version (`@since 2.4`) is legitimate; a calendar date is not.

## No redundant Javadoc

```java
// Bad — every line restates the signature
/**
 * Gets the name.
 * @param id the id
 * @return the name
 */
public String getName(String id)
```

Javadoc that only echoes the signature adds lines and hides the ones that matter. Write it when there is a contract to state:

```java
/**
 * Transfers funds between accounts atomically.
 *
 * @param amount must be positive
 * @throws InsufficientFundsException if {@code from} cannot cover {@code amount}
 * @throws IllegalArgumentException if {@code amount} is zero or negative
 */
public void transfer(Account from, Account to, Money amount)
```

Document the things a signature cannot say: preconditions, thrown exceptions and when, thread safety, nullability, mutability of returned collections, units and ranges. Public API gets Javadoc; a private method with a clear name usually does not.

## TODO and FIXME

A TODO with no owner and no date is permanent. Either fix it now, or file an issue and reference it:

```java
// TODO(PLAT-1182): remove once the v1 endpoint is retired
```

`FIXME` in committed code means "known broken and shipped anyway" — resolve it before merge.

## Comments that earn their place

Explain **why**, never what:

```java
// The vendor API rejects more than 50 ids per call, undocumented.
var batches = Lists.partition(ids, 50);
```

```java
// Retry only on 429: the gateway returns 500 for permanent validation
// failures, and retrying those doubles the charge.
```

Also legitimate: warning of consequences, clarifying a non-obvious regex or algorithm, explaining a deliberate deviation from the obvious approach, and `@Deprecated` with a `@deprecated` tag naming the replacement.

## Keep them true

A comment that contradicts the code is worse than none — readers trust it and are misled. When you change a method, read its comment. If it no longer holds, fix or delete it in the same commit.

## Do not comment out a closing brace

```java
} // end for
```

If a block is long enough to need this, shorten the block.

Attribution

CasLubbersCasLubbers
View sourceSee grades on GitHubMore from CasLubbers →
SSkills Directory ProSkills Directory

Get any skill into Claude in one click.

Download any skill as a ZIP for Claude.ai, Claude Desktop, or .claude/skills. $9/mo.

See Pro

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills Directory ProSkills Directory

Get any skill into Claude in one click.

Download any skill as a ZIP for Claude.ai, Claude Desktop, or .claude/skills. $9/mo.

See Pro

Related Skills

Clean Code

Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments

304955 votes

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

285172 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2222 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

10311 votes
View all in development →