Simeon
Simeon

Reputation: 7792

Where does the XXX comment prefix in Eclipse come from?

I was just wandering why is the prefix XXX ?

As far as I know its used for notes/reminders (or at least this is what I use it for and that is what the people on most of the links I googled use it for).

So does anyone know where the XXX prefix come from ?

Upvotes: 23

Views: 36304

Answers (7)

Ori Marko
Ori Marko

Reputation: 58812

It bugs me too, because XXX may also be used for masking input or format numbers,

Thus creating multi markers warning when you describe amount format:

/**
 * @param amount (XXX or XXX.XX)
 */
public doSomething(String amount) {

Multiple markers at this line

-XXX or

-XXX.XX)

As @Jean-PhilippePellet suggested, you can remove it from

Preferences -> Java -> Compiler -> Task Tags

Upvotes: 0

Aram Kocharyan
Aram Kocharyan

Reputation: 20431

There's also a reference to it on Wikipedia:

XXX to warn other programmers of problematic or misguiding code.

Upvotes: 2

David Leppik
David Leppik

Reputation: 3304

From Sun/Oracle's Java code conventions, section 10.5.4:

Use XXX in a comment to flag something that is bogus but works. Use FIXME to flag something that is bogus and broken.

Upvotes: 28

ypercubeᵀᴹ
ypercubeᵀᴹ

Reputation: 115600

Various reasons:

  1. It's easy to search for.
  2. No collision, as no sane person would use it as a variable.
  3. It can used to mark code that needs e*X*tra special attention, dangerous code, not to be seen by underaged, etc.

Upvotes: 4

maerics
maerics

Reputation: 156534

From the Hacker's Dictionary entry for "XXX":

A marker that attention is needed. Commonly used in program comments to indicate areas that are kluged up or need to be. Some hackers liken `XXX' to the notional heavy-porn movie rating. Compare FIXME.

Upvotes: 29

wm_eddie
wm_eddie

Reputation: 3958

I've worked with a team where XXX was used to point out a "bug or task that was not yet entered in Trac.". After it was entered in Trac the comment would be changed to TODO with the ID appended.

To Eclipse though, it's just a marker like TODO and FIXME. I imagine that it's originally used as a strong form of TODO. You usually see comments like this:

// TODO: Need to optimize this once n becomes greater than 1000.

But sometimes you'll have a comment like:

// TODO: Fix SQL injection bug before production release!

Unfortunately a quick grep wont make that SQL injection bug stand out among the 1000s of other TODOs. Using XXX here would help mark things that must be done before a milestone/release etc.

Upvotes: 3

Jean-Philippe Pellet
Jean-Philippe Pellet

Reputation: 60006

XXX, along with FIXME and TODO, is known in Eclipse as a task tag, and is indexed by the IDE to let you find the spots marked with those tags easily. You can edit such tags in the Eclipse Preferences -> Java -> Compiler -> Task Tags.

As to where it comes from: it probably emerged form the "tags" that programmers spontaneously wrote in their code to quickly mark a given line. While FIXME and TODO are explicit enough, the reason XXX was used could be a combination of these reasons:

  • The string "XXX" does not usually occur in regular source code and is easy to look for with tools such as grep or a simple text search in an editor;
  • Traditionally, "X marks the spot" which needs attention; triple X even more so;
  • The X key is very close to the Command/Alt/Windows keys and is easy to reach, being on the lower row of the keyboard.

I can't think of anything else...

Upvotes: 9

Related Questions