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?

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
// 

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

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

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!

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


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.

7
Ich wünsche mir SO unterstützte Favoriten für einzelne Antworten
AviD


@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

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.

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.


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

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.


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.

20
Magie = zerbrechlich vielleicht?
MrBoJangles


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


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.

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

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


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);

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 ...


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


508
Catch (Exception e) {
 //who cares?
} 

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 ...


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.
 */ 

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 

}

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.

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... 

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 = {}  

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  -->

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


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.


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 */ 

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.

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 

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.