Was ist der beste Kommentar im Quellcode, den Sie jemals gesehen haben? [geschlossen]

360

Was ist der beste Kommentar im Quellcode, den Sie jemals gesehen haben?

Robert Harvey
quelle

Antworten:

1462

Ich bin besonders schuld daran, dass ich in die meisten meiner Projekte nicht konstruktive Kommentare, Code-Gedichte und kleine Witze eingebettet habe (obwohl ich normalerweise genug Sinn habe, um alles zu entfernen, was direkt anstößig ist, bevor ich den Code veröffentliche). Hier ist eine, die ich besonders mag und die weit, weit unten in einem schlecht gestalteten „Gott-Objekt“ platziert ist:

/**
* For the brave souls who get this far: You are the chosen ones,
* the valiant knights of programming who toil away, without rest,
* fixing our most awful code. To you, true saviors, kings of men,
* I say this: never gonna give you up, never gonna let you down,
* never gonna run around and desert you. Never gonna make you cry,
* never gonna say goodbye. Never gonna tell a lie and hurt you.
*/

ES TUT MIR LEID!!!! Ich konnte mir einfach nicht helfen .....!

Und noch eine, von der ich zugeben werde, dass ich sie nicht wirklich in die Wildnis entlassen habe, obwohl ich in einer meiner weniger intuitiven Klassen sehr versucht bin , dies zu tun:

// 
// Dear maintainer:
// 
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
// 
// total_hours_wasted_here = 42
// 
Jens Roland
quelle
2
// Lieber Programmierer // // Ihr Code läuft jetzt langsamer, nachdem ich alle // Fehler behoben habe, die Sie eingeführt haben. // Aber deine Optimierungen haben sicher geholfen.
DevinB
2
+.5 für Rickrolling in den Kommentaren, +.5 für total_hours. Genial
Wayne Werner
3
Das erste Mal, dass ich wirklich RickRolled war - und es war lustig. Wenn ich Links zu YouTube sehe, erwarte ich immer RickRolled (Englisch in Kamelhülle !!), aber ich habe nie erwartet, dass ich in Codekommentaren RickRolled sein werde.
Vincent McNabb
4
total_hours_wasted_here = -32768, was soll ich tun? Ich denke, etwas ist kaputt.
Behrooz
8
Bitte beenden Sie die "Aktualisierung" des Zählers. Es lohnt sich nicht, diese Frage noch einmal auf die Titelseite zu setzen .
Michael Myers
1055
Exception up = new Exception("Something is really wrong.");
throw up;  //ha ha
ス ー パ ー フ フ ミ ミ コ
quelle
5
Ich las alle Kommentare von oben bis unten und fragte mich, was die Leute meinten, wenn sie sagten: "Aufgebrochen, diesen gelesen" oder "Aufgebrochen, diesen gelesen". Gut. Ich habe gerade dieses Buch gelesen ...
Daren Thomas
37
Buchstäblich tat LOL an der kombinierten Klugheit und Kindlichkeit dieses einen.
David Koelle
2
Klasse MonkeyPoo erweitert Exception {}; ... wirf ein neues MonkeyPoo (); // weil es so viel mehr Spaß macht zu werfen als eine Ausnahme
Adam Rosenfield
2
Ich werde anfangen, von jetzt an XD
Ammar
23
Wenn ich aus einem wirklich tiefen Schlaf aufwache, sinkt mein IQ auf ungefähr 25 und mein Geist geht an extrem seltsame Orte. Einmal, nach einer langen Zeit des Schreibens von Java, wachte ich mitten in der Nacht auf und fühlte mich ziemlich krank. Ich rannte ins Badezimmer. Als ich mich in die Toilette erbrach, konnte ich nur denken: "Ich frage mich, welche Ausnahme ich gerade mache ..."
Frank Farmer
1052
//When I wrote this, only God and I understood what I was doing
//Now, God only knows
Johnc
quelle
175
Das ist ein Satz von Karl Weierstrass, dem Mathematiker, der uns die wunderbare Definition der Epsilon- und Delta-Kontinuität gegeben hat.
Edwin Jarvis
3
Weierstrass der Undifferenzierbare?
Peter Wone
4
@Augusto, haben Sie eine Quelle für die Zuordnung dieses Satzes zu Weierstrass? Ich würde gerne wissen, worauf er sich bezog.
Kevin
1048
stop(); // Hammertime!
Tuoski
quelle
8
Ich mag das. Da da da DA, da DA, da DA, Es ist vorbei (David Spade, SNL, Wochenend-Update)
MrBoJangles
83
halt(); // zusammenarbeiten, zuhören!
Erik Forbes
24
xkcd.com/210
puetzk
2
halt(); // was ist das für ein Geräusch?
Yuval
2
halt(); //! Im Namen der Liebe. Bevor du mein Herz brichst.
1030

Dies scheint zu verhindern, dass Idioten meinen Code durcheinander bringen ...

// Autogenerated, do not edit. All changes will be undone.
Asche
quelle
7
Ich wünsche mir SO unterstützte Favoriten für einzelne Antworten
AviD
3
@AviD Sie können stackoverflow.com/questions/184618/…
alex
@alex, na duh, jetzt ... Wie auch immer, ich meinte das gleiche, wie Sie eine Frage als Favorit markieren können ...
AviD
@AviD Ja, ich weiß, ich schlage nur eine Problemumgehung vor.
alex
3
Ich denke, sie werden Ihren Code sowieso durcheinander bringen: Es heißt, er wird sich selbst reparieren. Warum also nicht für Tritte brechen?
Mateen Ulhaq
946
// sometimes I believe compiler ignores all my comments
Sergey Kornilov
quelle
26
Ich hoffe, der Compiler ignoriert die Kommentare dieser Person.
Windows-Programmierer
86
// Da ich nie etwas vom Compiler gehört habe, glaube ich, dass dies wahr ist.
Liwen
40
Ich denke, es soll ironisch sein ...
Neil Barnwell
52
Gelächter , das ist die Zukunft, Compiler lesen Kommentare, um sicherzugehen, dass sie nicht missverstanden werden ;-D
Sharkin
4
// # reply_from_compiler du magst clippy, nicht wahr?
Carl
930
// I dedicate all this code, all my work, to my wife, Darlene, who will 
// have to support me and our three children and the dog once it gets 
// released into the public.
Sharkin
quelle
169
Befindet sich das irgendwo im Quellcode von Duke Nukem Forever? ;)
Adhip Gupta
1
Ich verstehe es nicht, was ist so lustig?
Hasen
11
Er widmet den folgenden Code seiner Frau, obwohl er weiß, dass es so schlimm ist, dass er entweder entlassen wird oder seine Firma aus dem Geschäft geht. :)
Robert P
390
Warum wird der Hund der Öffentlichkeit zugänglich gemacht?
Nosredna
1
@Nosredna, danke für so einen lustigen Kommentar! @hasen j, der Code wurde so schlecht geschrieben, dass der "Programmierer" höchstwahrscheinlich seinen Job verlieren wird und daher seine Frau die Familie unterstützen muss.
Jamol
911
//Code sanitized to protect the foolish.
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Web.UI;

namespace Mobile.Web.Control
{
    /// <summary>
    /// Class used to work around Richard being a fucking idiot
    /// </summary>
    /// <remarks>
    /// The point of this is to work around his poor design so that paging will 
    /// work on a mobile control. The main problem is the BindCompany() method, 
    /// which he hoped would be able to do everything. I hope he dies.
    /// </remarks>
    public abstract class RichardIsAFuckingIdiotControl : MobileBaseControl, ICompanyProfileControl
    {
        protected abstract Pager Pager { get; }

        public void BindCompany(int companyId) { }

        public RichardIsAFuckingIdiotControl()
        {
            MakeSureNobodyAccidentallyGetsBittenByRichardsStupidity();
        }

        private void MakeSureNobodyAccidentallyGetsBittenByRichardsStupidity()
        {
            // Make sure nobody is actually using that fucking bindcompany method
            MethodInfo m = this.GetType().GetMethod("BindCompany", BindingFlags.DeclaredOnly | 
                BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
            if (m != null)
            {
                throw new RichardIsAFuckingIdiotException("No!! Don't use the fucking BindCompany method!!!");
            }
            // P.S. this method is a joke ... the rest of the class is fucking serious
        }

        /// <summary>
        /// This returns true if this control is supposed to be doing anything
        /// at all for this request. Richard thought it was a good idea to load
        /// the entire website during every request and have things turn themselves
        /// off. He also thought bandanas and aviator sunglasses were "fuckin' 
        /// gnarly, dude."
        /// </summary>
        protected bool IsThisTheRightPageImNotSureBecauseRichardIsDumb()
        {
            return Request.QueryString["Section"] == this.MenuItemKey;
        }

        protected override void OnLoad(EventArgs e)
        {
            if (IsThisTheRightPageImNotSureBecauseRichardIsDumb())
            {
                Page.LoadComplete += new EventHandler(Page_LoadComplete);
                Pager.RowCount = GetRowCountBecauseRichardIsDumb();
            }
            base.OnLoad(e);
        }

        protected abstract int GetRowCountBecauseRichardIsDumb();
        protected abstract void BindDataBecauseRichardIsDumb();

        void Page_LoadComplete(object sender, EventArgs e)
        {
            BindDataBecauseRichardIsDumb();
        }

        // the rest of his reduh-ndant interface members
        public abstract string MenuItemName { get; set; }
        public abstract string MenuItemKey { get; set; }
        public abstract bool IsCapable(CapabilityCheck checker, int companyId);
        public abstract bool ShowInMenu { get; }
        public virtual Control CreateHeaderControl()
        {
            return null;
        }
    }
}

Update: Der ursprüngliche Autor des Codes hat sich selbst übertroffen, daher muss ich die Gutschrift dort abgeben, wo sie fällig ist. Dan McKinley verließ die Firma, mit der ich zusammen war, kurz nachdem ich angefangen hatte, und er spricht mehr über den Code, erklärt einige Hintergründe und ein paar weitere "WTFs", die 'Richard' geschrieben hat.

Tom Ritter
quelle
27
Das ist voller Obszönitäten, aber ich habe die ganze Zeit buchstäblich in meinem Würfel gelacht, als ich ihn gelesen habe.
Willasaywhat
241
Zensur ist scheiße. Bring das Original zurück!
coder1
58
Zurückgerollt. Wir sind alle Erwachsene hier. Wenn der ursprüngliche Code "bereinigt" worden wäre, hätten Sie sich nie genug daran erinnert, um ihn hier zu veröffentlichen.
JosephStyons
56
Noch lustiger wird es, wenn ein Kunde den Klassennamen in einer Stapelverfolgung sieht.
Finnw
5
BITTE NICHT ZUR NSFW-VERSION ZURÜCKROLLEN - der Autor hat die SFW-Version in Revision 3 und 6 ausdrücklich akzeptiert.
Adam Davis
825
// somedev1 -  6/7/02 Adding temporary tracking of Login screen
// somedev2 -  5/22/07 Temporary my ass
Rohit
quelle
79
Ah, die guten dauerhaften vorübergehenden Lösungen :)
Michael Stum
17
Nichts ist so dauerhaft wie vorübergehend !!!
Microkernel
727
// drunk, fix later

Ich wünschte, ich mache Witze. Und da er den Entwickler kennt, der den Code geschrieben hat, meinte er es wörtlich.

Daniel Papasian
quelle
258
Das ist lächerlich, wer Kommentare schreibt, wenn er betrunken ist.
Jiminy
66
@Jiminy: Ernsthaft! Wenn ich betrunken codiere, wache ich mit großartigem Code auf, den ich leider nicht verstehe.
JoshJordan
22
Ohh ... Wenn du es nicht verstehst, muss es großartig sein!
Anders Hansson
14
Haha!!! Ich habe das nur zum Spaß gemacht: Ich habe mein lokales Subversion-Repo für "betrunken" gepackt und einen Commit-Kommentar gefunden, an den ich mich nicht erinnern würde: "Funktioniert irgendwie wieder. Nun ... ich bin betrunken!"
ivan_ivanovich_ivanoff
14
ha ha, "... irgendwie
Alpha Codemonkey
719
// Magic. Do not touch.
Jason Sundram
quelle
20
Magie = zerbrechlich vielleicht?
MrBoJangles
44
Erinnert mich daran: catb.org/esr/jargon/html/magic-story.html
Simon Howard
5
Ich musste das so oft schreiben - hauptsächlich, um mich daran zu erinnern, dass "Wenn Sie den folgenden Code berühren, ohne wirklich zu wissen, was Sie tun, werden schlimme Dinge passieren!"
Shalom Craimer
6
@ Simon Howard, ich würde es nur nicht anfassen, wenn es "More Magic"
DevinB
4
Ich erinnere mich noch daran, wie mir in der High School CS beigebracht wurde, wo unsere dummen Fragen mit "Magic!" und das unheimlichste Lächeln.
nevets1219
701

#define TRUE FALSE //Happy debugging suckers

Sulik
quelle
95
#define NULL (:: rand ()% 2) // wäre auch ganz nett
Viktor Sehr
33
#define if (if (!
Bart van Heukelom
66
@ Bart: Sie können nicht halbe Parens in Ihrem Code haben, aber Sie könnten tun #define if(x) if(!(x))(oder, unheimlicher, #define if while)
Chris Lutz
8
Wie vorausgesetzt, würde dies tatsächlich funktionieren: Die Zeichen bis zum Zeilenende stellen sicher, dass wahrscheinliche Zeilen, in denen dieses Makro verwendet wird, nicht kompiliert werden. Beispiel: a = TRUE;Wird übersetzt, a = FALSE // Happy debugging suckers;was zu einem Kompilierungsfehler führt, da sich die Terminierung ;jetzt in Kommentaren befindet. Wenn Sie den Blockkommentar verwenden /* Eat this */, funktioniert es.
rix0rrr
6
#define struct unionist sehr hilfreich in Systemen mit eingeschränktem Speicher.
Msw
640
// I'm sorry.
Greg D.
quelle
179
(Der folgende Code brachte mich zum Weinen.)
Greg D
20
Mann, ich möchte den folgenden Code sehen ...
Erik Forbes
33
// Ich verzeih dir. Geh in Frieden, mein Sohn.
Mark Allen
52
Dies sollte ein Standardkommentar in den von MSFT generierten Standardvorlagen sein
Alexandre Brisebois
1
wirklich, was ist der Code, der darauf folgt ???
Chakrit
636
return 1; # returns 1
Seitlich
quelle
32
Klassisch! Aber ich mag dieses noch besser: "i ++; // erhöhe i um 1"
steffenj
71
Wer weiß, ob er #DEFINE 1 als etwas anderes definiert ...
icelava
13
Ich wünschte, solche Kommentare wären mir unbekannt.
Drew Dormann
6
Ich habe das viel gesehen. Ich kenne viele Programmierer, die ihre Funktionen mit Kommentaren versehen und dann den Code unter / neben jedem Kommentar eingeben. Das macht es sehr einfach, große Geschäftsfunktionen zu schreiben, aber Sie erhalten manchmal ziemlich detaillierte Kommentare.
Beep Beep
88
# gibt was zurück? Sei genauer.
Ozan
591
/* This is O(scary), but seems quick enough in practice. */ 

gefolgt von vier verschachtelten for-Schleifen

Draemon
quelle
33
pfft, das ist höchstwahrscheinlich nur N ^ 4, nicht annähernd so schlimm wie 4 ^ N oder N!
Tloach
14
Ich habe einmal eine Situation mit 8 tief verschachtelten Schleifen getroffen. Die Laufzeit wurde in Stunden gemessen.
Loren Pechtel
8
Ich hatte einen O (n) -Algorithmus mit einer 500-ms-Netzwerk-RTT in der inneren Schleife. n> 100k. Autsch.
geofftnz
6
Es gibt eine erlösende Eigenschaft: Sie wissen zumindest, was große O-Terminologie ist. Hoffentlich läuft jede Schleife über sehr kleine N :-D
Jon Smock
27
Ich arbeite mit jemandem zusammen, der sagen würde: "O (MFG), bitte"
Jason Orendorff,
589
// Replaces with spaces the braces in cases where braces in places cause stasis 
   $str = str_replace(array("\{","\}")," ",$str);
Lance Kidwell
quelle
34
+1 - Genie pur. Dies sollte auf einem T-Shirt oder so gehen :-)
Rook
71
Dr. Seuss schreibt Code? +1!
Blorgbeard ist am
11
Benötigt zwei weitere Silben am Ende ...
Michael Myers
88
Ich habe gerade die Kommentare geöffnet, um zu sagen, dass es noch zwei Silben braucht, aber anscheinend habe ich mich um drei Monate geschlagen.
Michael Myers
15
Ich bin nicht einverstanden mit der Notwendigkeit zusätzlicher Silben, der Zähler ist perfekt wie er ist. Fünf Gruppen mit jeweils drei Silben.
KevDog
542

Es spricht Bände über unseren Beruf, dass wir alle, wenn wir nach dem "besten Kommentar" gefragt werden, mit den schlechtesten Kommentaren antworten, die wir finden können ...

Rlerallut
quelle
67
Ich stimme Ihrem Kommentar voll und ganz zu, dass Kommentare selten benötigt werden.
Harpo
16
Kommt auf die Kommentare an. Selbst "selbstdokumentierende" Sprachen können von Kommentaren wie Python profitieren. Ich hasse es, den Code durchgehen zu müssen, um herauszufinden, was passiert, wenn ein einfacher Satz es mir sagen kann.
Kristallgitter
32
Ich bin nicht einverstanden, dass Kommentare unnötig sind. Es gibt Zeiten, in denen ein einfacher "Framing" -Kommentar Sinn für eine ganze Reihe von Codes machen kann. Wenn Sie beispielsweise einen ausgeklügelten Algorithmus verwenden, um der zeitlichen Komplexität eines Brute-Force-Algorithmus zu entgehen, kann eine Referenz unerlässlich sein.
Mark Brittingham
83
Der Code sagt was ... die Kommentare sagen warum!
Richard Ev
3
Ich könnte "Richard E" nicht mehr zustimmen. Kommentare sollen Ihrer Zukunft * (Kollegen, Rezensenten, sich selbst) sagen, warum Sie sich entschieden haben, Dinge zu tun, die böse sind, anstatt andere. Ich bin nicht dafür, Kommentare überall zu verunreinigen, aber manchmal sollten sie obligatorisch sein.
Danita
525
long john; // silver
Sean
quelle
6
Reiner Mais. Deshalb mag ich es.
MrBoJangles
6
Auch total durchgeknallt. Ich finde meinen Code jetzt zu langweilig.
Wonderchook
12
Könnte ich sein, aber das macht mich jedes Mal fertig double d.
Kevin
1
Verdammt, ich habe an en.wikipedia.org/wiki/Long_John_Silvers Äther gedacht , ich habe Hunger.
Tek
508
Catch (Exception e) {
 //who cares?
} 
Randyaa
quelle
11
Dies hatte mich wie ein mentaler lachen
Tablet
68
Ich habe dasselbe mit // bewegen gesehen, hier gibt es nichts zu sehen.
Ferruccio
6
Ich habe so heftig darüber gelacht.
Franck
9
Ich muss zugeben, dass ich das schon mehr als einmal gemacht habe, weil es manchmal einfach keine Rolle spielt.
NotMe
17
Wow, ich schreibe diesen Kommentar die ganze Zeit. Ich habe es nie als lustig angesehen, ich dachte, es wäre eine ernsthafte Aussage.
Jay
496
/**
 * Always returns true.
 */
public boolean isAvailable() {
    return false;
}

Verlassen Sie sich niemals auf einen Kommentar ...

Martinus
quelle
85
Ich erzähle es immer meinen Mitarbeitern. "Kommentare laufen nicht !!"
OscarRyz
15
Ich glaube, Sie meinten "Verlassen Sie sich niemals auf den Code". Ich bin sicher, dass die Spezifikation, das Design und die Anforderungen einen Rückkehrcode oder true erfordern :)
gbjbaanb
sieht aus wie etwas, das Sie auf der Techie-Ausgabe von failblog.org
BobC
5
Solche Dinge passieren tatsächlich, die Leute machen sich nicht die Mühe, die Dokumentation mit Änderungen auf dem neuesten Stand zu halten, selbst wenn sie direkt über der Funktion liegt.
Henk
25
... #define false true?
new123456
457
/*
 * You may think you know what the following code does.
 * But you dont. Trust me.
 * Fiddle with it, and youll spend many a sleepless
 * night cursing the moment you thought youd be clever
 * enough to "optimize" the code below.
 * Now close this file and go play with something else.
 */ 
PoppaVein
quelle
32
Erinnert mich an einen Kollegen, der schwor, er könne einen Algorithmus zum Nachweis mechanischer Theoreme optimieren, den ich vor Jahren in einem KI-Projekt geschrieben habe. Er hat die Leistung verbessert, aber dann hat der Code nicht funktioniert ... was er schwor, war meine Schuld.
Mark Brittingham
Hmm, habe ich das nicht irgendwo gesehen?
bzlm
6
@Mark Er sagte nur, er würde die Zeit optimieren, er sagte nichts über die Funktionalität = P
DevinB
98
Wenn es nicht funktionieren muss, kann ich jeden Code auf eine Laufzeit von Null optimieren.
Michael Borgwardt
9
Dafür ist die Quellcodeverwaltung gedacht. Verschwenden Sie ein paar Stunden damit, es zu optimieren. Wenn es dann nicht funktioniert, rollen Sie einfach zurück.
Kibbee
429
try {

} finally { // should never happen 

}
gedevan
quelle
15
++. andere in meiner Firma schreiben das die ganze Zeit!
CVertex
17
Ich habe diesen Kommentar in der Vergangenheit gesehen (und sogar selbst geschrieben), für Dinge, die niemals neu passieren sollten (aber nur für den Fall, hier ist Code, um den Fehler zu behandeln). Der lustigste Teil ist, dass ti in einem endgültigen Block platziert ist, was bedeutet, dass es immer passieren sollte ...
Troy Howard
32
Ja, das war der Witz. =)
Erik Forbes
15
Wenn Sie einen System.exit () -Aufruf im try-Block haben, dann JA, das sollte niemals passieren!
Romain Linsolas
6
Grund # 984, Debug.Assert () zu verwenden. ;)
Scott Hanselman
411

Von: https://github.com/zepouet/Xee-xCode-4.5/blob/master/XeePhotoshopLoader.m#L108

// At this point, I'd like to take a moment to speak to you about the Adobe PSD
// format. PSD is not a good format. PSD is not even a bad format. Calling it
// such would be an insult to other bad formats, such as PCX or JPEG. No, PSD
// is an abysmal format. Having worked on this code for several weeks now, my
// hate for PSD has grown to a raging fire that burns with the fierce passion
// of a million suns.
//
// If there are two different ways of doing something, PSD will do both, in
// different places. It will then make up three more ways no sane human would
// think of, and do those too. PSD makes inconsistency an art form. Why, for
// instance, did it suddenly decide that *these* particular chunks should be
// aligned to four bytes, and that this alignement should *not* be included in
// the size? Other chunks in other places are either unaligned, or aligned with
// the alignment included in the size. Here, though, it is not included. Either
// one of these three behaviours would be fine. A sane format would pick one.
// PSD, of course, uses all three, and more.
//
// Trying to get data out of a PSD file is like trying to find something in the
// attic of your eccentric old uncle who died in a freak freshwater shark
// attack on his 58th birthday. That last detail may not be important for the
// purposes of the simile, but at this point I am spending a lot of time
// imagining amusing fates for the people responsible for this Rube Goldberg of
// a file format.
//
// Earlier, I tried to get a hold of the latest specs for the PSD file format.
// To do this, I had to apply to them for permission to apply to them to have
// them consider sending me this sacred tome. This would have involved faxing
// them a copy of some document or other, probably signed in blood. I can only
// imagine that they make this process so difficult because they are intensely
// ashamed of having created this abomination. I was naturally not gullible
// enough to go through with this procedure, but if I had done so, I would have
// printed out every single page of the spec, and set them all on fire. Were it
// within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.
halcy
quelle
1
Die Zeile direkt danach und ihr Kommentar stehen ganz oben auf der Liste. Geistige Gesundheit? Welche geistige Gesundheit? Das Format hat alles gegessen ...
Kim Reece
66
s / PSD / Internet Explorer / g. s / Dateiformat / Webbrowser / g. Jetzt passt es zu meinen Gedanken.
TJ L
10
Ich bedaure diesen Programmierer dafür, dass er so einen Schmerz durchmachen muss !!! Aber ein großartiger Kommentar. Hat sein Herz ausgegossen.
Microkernel
4
Diese Zeile: // PSD ist nicht mein Lieblingsdateiformat. macht dies zu einem Klassiker.
Joedevon
387
const int TEN=10; // As if the value of 10 will fluctuate... 
Mike
quelle
136
Auf dem heutigen Markt hat 10 jetzt einen Wert von nur 9.
Steve Fallows
13
Vielleicht werden wir eines Tages mehr Finger entwickeln ...
Loren Pechtel
59
Was ist mit sehr großen Werten von 10?
Mikeage
184
const int TEN = 11; // Meins geht bis elf
Dub
18
Fortran von C aufrufen - Fortran ruft nur als Referenz auf, sodass Sie Variablen für alle Konstanten benötigen.
Martin Beckett
364
    #Christmas tree initializer  
    toConnect = []  
    toRead =   [  ]  
    toWrite = [    ]   
    primes = [      ]  
    responses = {}  
    remaining = {}  
Leo
quelle
25
Das ist ein Gewinn. Ein großer Gewinn ...
Cyclone
16
OK, ich werde dies das nächste Mal verwenden, wenn ich vier leere Arrays und zwei Hashes benötige!
Josh
Urgh. Ein lautes "FAIL!" an den Autor, weil er nicht weiß, ob er eine formatfreie Sprache verwendet oder nicht.
TheBlastOne
Ich bezweifle, dass er nichts über die formatfreie Sprache wusste. Das ist ein schöner Witz :-)
Román
362

Etwa in der Mitte einer 30-seitigen xslt

<!-- Here be dragons  -->
Goran
quelle
8
Ich versuche immer noch herauszufinden, wie man ein XSLT auf sinnvolle Weise kommentiert.
rjzii
78
Wir brauchen wirklich mehr Drachen in unserem Code.
Jon Smock
1
Anfangs dachte ich an en.wikipedia.org/wiki/21st_Century_Compilers
Chakrit
6
@annakata du denkst das ist schlecht, neulich hat jemand um Hilfe beim Umgang mit einer 31GB XML Datei gebeten. Ich schrie vor Angst auf.
Dana the Sane
1
Hat mich jemand angerufen?
Troggy
353

in einer völlig unkommentierten 2000-Linien-Methode

{ 
  { 
    while (.. ){ 
      if (..){
          }
      for (.. ){ 
          }
         .... (just putting in the control flow here, imagine another few hundred ifs)
      if(..)   {
            if(..)     {
                   if(..)   {
                ...
                (another few hundred brackets)
                       }
                  }
         } //endif

(Ich habe eines Tages tatsächlich alle Klammern herausgegriffen, um zu sehen, wie schlimm es war, und ohne Formatierung Folgendes erhalten:

{{{{}}{}{}{}{}}{{}{{}{}{}{}{}{}{{}{}}{}{}{{}{}{}{}{}{}{}{}{}{}{}{{}}}{{}{{}}{{{}}}{{}{}{}{}{}{}{}{{}}{}{{{}}{}{{}{}}{{{}}{}{}{}{}}{{}}}{}{{}{}{}{{}{{}}{}}{{}}}{{}}{{}}{{}}{}{{}}{{}}{{}}{{}{}{}}{}{}{{{}}{{}}}{}{}{}{}}{{{}{{}{}{}{{}{}{}{}{}{}}{}}{{}}{{}{}}}{{}}{{}}}{{}}{{}}{}{}{}{}{{}}{{}{}{}{}}}}{}{}}{{}{{{}{}{}{}}}}{{}{{{}}}}{{}{{{}{{}}{}{{}}{}{{}{}}{{}}{}{{}}}{{}}}}{{}{}{}{}{}{{{}    {{{{}}{}{}{}{}}{{}{{}{}{}{}{}{}{{}{}}{}{}{{}{}{}{}{}{}{}{}{}{}{}{{}}}{{}{{}}{{{}}}{{}{}{}{}{}{}{}{{}}{}{{{}}{}{{}{}}{{{}}{}{}{}{}}{{}}}{}{{}{}{}{{}{{}}{}}{{}}}{{}}{{}}{{}}{}{{}}{{}}{{}}{{}{}{}}{}{}{{{}}{{}}}{}{}{}{}}{{{}{{}{}{}{{}{}{}{}{}{}}{}}{{}}{{}{}}}{{}}{{}}}{{}}{{}}{}{}{}{}{{}}{{}{}{}{}}}}{}{}}{{}{{{}{}{}{}}}}{{}{{{}}}}{{}{{{}{{}}{}{{}}{}{{}{}}{{}}{}{{}}}{{}}}}{{}{}{}{}{}{{{}{}{{}}{}}}{}}{{}}{{}{}}{{}{{}{{}}}}{{{}{{{}}}}}{{{{{}}}}}{}{}{}{{{{}}}{}{}}{{}{{}}}}{}{{}}{}}}{}}{{}}{{}{}}{{}{{}{{}}}}{{{}{{{}}}}}{{{{{}}}}}{}{}{}{{{{}}}{}{}}{{}{{}}}}

Das Endif tauchte um die Linie 800 auf.

Steve B.
quelle
180
Tour-de-France-Code
Andreas Petersson
7
das ist thedailyworsethanfailure.com würdig!
Deadbug
67
Sieht aus wie Lisp!
Endian
8
Dieser Kommentar ist wahrscheinlich dazu da, einen Compiler-Fehler zu beheben. : |
Rob Howard
49
Zyklomatische Komplexitätsstufe von OH SHIIIIIIIII
353
long long ago; /* in a galaxy far far away */ 
Juliano
quelle
1
funktioniert das eigentlich in welcher Sprache?
Mauris
16
@ Mauris: Es war ursprünglich eine C- und C ++ - Erweiterung für 64-Bit-Ganzzahlen, die von vielen Anbietern unterstützt wurde. Dann C99 und C ++ 0x standardisierte Unterstützung dafür: en.wikipedia.org/wiki/Long_long
Juliano
Lässt mich über die Fern- und Nahzeiger nachdenken, die wir im 16-Bit-Land verwendet haben. :)
Macke
1
Es funktioniert immer noch einwandfrei. Wir haben es vor ungefähr 25 Jahren zum ersten Mal in unseren Compiler bei Convex aufgenommen, weil DMR vorgeschlagen hat, dass dies der Name für unsere 64-Bit-Ints sein sollte.
Tchrist
352
//This code sucks, you know it and I know it.  
//Move on and call me an idiot later.
KevDog
quelle
26
Ehrlich im Kommentar!
Mitchel Sellers
46
Ich liebe die Ehrlichkeit.
Jeff Schumacher
2
Der erste Schritt zur Verbesserung besteht darin, den Mangel anzuerkennen.
Icelava
Akzeptiere deine Fehler, bevor andere sie übertreiben :)
Naveen
324
// If this comment is removed the program will blow up 
John Chuckran
quelle
201
Vor langer Zeit habe ich versehentlich einen Segfault in Java3D behoben, indem ich einen Kommentar hinzugefügt habe. Es war 100% reproduzierbar; Wenn ich den Kommentar entfernt habe, ist er abgestürzt. Solange der Kommentar da war, hat es gut funktioniert. Ich nehme an, es war ein bizarres Timing-Problem, aber ich habe nie genau herausgefunden, was passiert ist.
DNS
54
Magie / Mehr Magie
DevinB
16
Das ist wie ein Virus. Es enthält Inhalte, die sich selbst schützen sollen. Es ist wie mit der Junk-DNA, die sich gut kopieren lässt.
Charlie Flowers
23
Sie sollten den von den
beiden
13
Ich habe einmal einen halben Tag \ gebraucht, um herauszufinden, dass das Beenden eines C-Kommentars mit (um zu markieren, in welche Richtung wir in einem 2D-Array gehen) den Compiler veranlasst, die nächste Zeile zu überspringen.
Tgr