Qual è il miglior commento nel codice sorgente che tu abbia mai incontrato? [chiuso]


360

Qual è il miglior commento nel codice sorgente che tu abbia mai incontrato?

Risposte:


1462

Sono particolarmente colpevole di questo, incorporando commenti non costruttivi, poesie di codice e piccole battute nella maggior parte dei miei progetti (anche se di solito ho abbastanza senso per rimuovere qualsiasi cosa direttamente offensiva prima di rilasciare il codice). Eccone uno a cui sono particolarmente affezionato, collocato molto, molto più in basso un "oggetto di Dio" mal progettato:

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

MI DISPIACE!!!! Non potevo fare a meno di me stesso .....!

E un altro, che ammetto di non aver mai rilasciato in libertà, anche se sono molto tentato di farlo in una delle mie lezioni meno intuitive:

// 
// 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
// Caro programmatore // // Il tuo codice ora funziona più lentamente ora che ho corretto tutti i bug che // hai introdotto. // Ma le tue ottimizzazioni sicuramente ti hanno aiutato.
DevinB,

2
+.5 per Rickrolling nei commenti, +.5 per total_hours. Fantastico
Wayne Werner il

3
La prima volta che sono stato veramente RickRolled - ed è stato divertente. Quando vedo i collegamenti a YouTube mi aspetto sempre di essere RickRolled (inglese in cammello !!), ma non mi sarei mai aspettato di essere RickRolled nei commenti in codice.
Vincent McNabb,

4
total_hours_wasted_here = -32768, cosa devo fare? penso che qualcosa sia rotto.
Behrooz,

8
Si prega di interrompere "l'aggiornamento" del contatore. Non vale la pena sbattere questa domanda sulla prima pagina ancora una volta .
Michael Myers

1055
Exception up = new Exception("Something is really wrong.");
throw up;  //ha ha

5
Ho letto tutti i commenti dall'alto verso il basso, chiedendomi cosa intendesse la gente, quando dicono "crackato, leggendo questo" o "scoppiato, leggendo quello". Bene. Ho appena rotto la lettura di questo ...
Daren Thomas,

37
LOL ha letteralmente fatto la combinazione di intelligenza e infantilità di questo.
David Koelle,

2
la classe MonkeyPoo estende l'eccezione {}; ... lancia il nuovo MonkeyPoo (); // perché è molto più divertente da lanciare di un'eccezione
Adam Rosenfield l'

2
Voglio iniziare a usare invece di ex da ora in poi XD
Ammar,

23
Quando mi sveglio da un sonno veramente profondo, il mio QI scende a circa 25 e la mia mente va in posti estremamente strani. Una volta, dopo un lungo periodo di scrittura di java, mi svegliai nel bel mezzo della notte sentendomi abbastanza male e mi precipitai in bagno. Mentre vomitavo in bagno, l'unica cosa che potevo pensare era "Mi chiedo quale eccezione sto gettando proprio ora ..."
Frank Farmer,

1052
//When I wrote this, only God and I understood what I was doing
//Now, God only knows

175
Questa è una frase di Karl Weierstrass, il matematico che ci ha fornito la meravigliosa definizione di continuità epsilon e delta.
Edwin Jarvis,

3
Weierstrass the Indifferentiable?
Peter Wone,

4
@Augusto, hai una fonte per l'attribuzione di quella frase a Weierstrass? Mi piacerebbe sapere a cosa si riferiva.
Kevin,


1030

Questo sembra fermare i deficienti dal pasticciare il mio codice ...

// Autogenerated, do not edit. All changes will be undone.

7
Mi fa desiderare che i SO supportino i preferiti sulle risposte individuali
AviD,

3
@AviD È possibile contrassegnare stackoverflow.com/questions/184618/...
alex

@alex, beh, ora ... Comunque, intendevo lo stesso che puoi contrassegnare una domanda come preferita ...
AviD

@AviD Sì, lo so, sto solo suggerendo una soluzione alternativa.
alex,

3
Penso che rovineranno comunque il tuo codice: dice che si risolverà da solo, quindi perché non romperlo per i calci?
Mateen Ulhaq,

946
// sometimes I believe compiler ignores all my comments

26
Spero che il compilatore ignori i commenti di questa persona.
Programmatore di Windows

86
// Dato che non ho mai ricevuto risposta dal compilatore, credo che sia vero.
Liwen,

40
Penso che dovrebbe essere ironico ...
Neil Barnwell,

52
risate , ecco il futuro, compilatori che leggono commenti solo per assicurarsi di non aver frainteso ;-D
Sharkin,

4
// # reply_from_compiler ti piace clippy, vero?
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
È da qualche parte sul codice sorgente di Duke Nukem Forever? ;)
Adhip Gupta,

1
Non capisco, cosa c'è di così divertente?
hasen

11
Dedica il codice qui sotto a sua moglie, anche se sa che è così grave che lo farà licenziare o farà fallire la sua compagnia. :)
Robert P,

390
Perché il cane sarà rilasciato al pubblico?
Nosredna,

1
@Nosredna, grazie per un commento così divertente! @hasen j, il codice è stato scritto così male che il "programmatore" molto probabilmente perderà il lavoro, e quindi sua moglie dovrà sostenere la famiglia.
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;
        }
    }
}

Aggiornamento: l'autore originale del codice è uscito da solo, quindi devo dare credito dove è dovuto. Dan McKinley lasciò la compagnia con cui ero poco dopo la mia partenza, e parla più del codice, spiegando alcuni retroscena e qualche altro "WTF" che "Richard" ha scritto.


27
È pieno di oscenità, ma ho letteralmente riso nel mio cubo per tutto il tempo leggendolo.
Willasaywhat

241
la censura fa schifo. riporta l'originale!
coder1

58
Tornato alla situazione precedente. Siamo tutti adulti qui. Se il codice originale fosse stato "sanificato", non lo avresti mai ricordato abbastanza per pubblicarlo qui.
JosephStyons,

56
Sarà ancora più divertente se un cliente vede il nome della classe in una traccia dello stack.
Finnw,

5
PER FAVORE NON ROLLBACK ALLA VERSIONE NSFW - l'autore ha esplicitamente accettato la versione SFW alla revisione 3 e 6.
Adam Davis,

825
// somedev1 -  6/7/02 Adding temporary tracking of Login screen
// somedev2 -  5/22/07 Temporary my ass

79
Ah, le buone soluzioni temporanee permanenti :)
Michael Stum

17
Non c'è nulla di così permanente come temporaneo !!!
Microkernel

727
// drunk, fix later

Vorrei scherzare. E conoscendo lo sviluppatore che ha scritto il codice, penso che lo intendesse letteralmente.


258
È ridicolo, chi scrive commenti quando sono ubriachi.
Jiminy,

66
@Jiminy: Scherzi a parte! Quando codice ubriaco, mi sveglio con un codice magnifico che, sfortunatamente, non capisco.
JoshJordan,

22
Ohh ... Se non lo capisci, deve essere magnifico!
Anders Hansson,

14
haha !!! L'ho fatto solo per divertimento: ho preso il mio repo di sovversione locale per "ubriaco" e ho trovato un commento di commit che non ricorderei: "Funziona di nuovo, in qualche modo. Beh ... sono ubriaco!"
ivan_ivanovich_ivanoff,

14
ah ah, "..come un BAC tra lo 0,129% e lo 0,138% conferisce un'abilità di programmazione sovrumana ..." xkcd.com/323
Alpha Codemonkey

719
// Magic. Do not touch.

20
Magia = fragile, forse?
MrBoJangles,


5
Ho dovuto scriverlo così tante volte, soprattutto per ricordarmi che "Se tocchi il seguente codice senza sapere veramente cosa stai facendo, accadranno cose brutte!"
Shalom Craimer,

6
@Simon Howard, non lo toccherei se dicesse "Più magia"
DevinB,

4
Ricordo ancora che mi hanno insegnato CS al liceo, dove le nostre stupide domande hanno ricevuto risposta "Magia!" e il sorriso più sinistro.
nevets1219,

701

#define TRUE FALSE //Happy debugging suckers


95
#define NULL (:: rand ()% 2) // sarebbe anche molto carino
Viktor Sehr,

33
#define if (if (!
Bart van Heukelom,

66
@Bart: Non puoi avere metà parentesi nel tuo codice, ma potresti farlo #define if(x) if(!(x))(o, più in modo sinistro, #define if while)
Chris Lutz,

8
Come detto, in realtà funzionerebbe comunque: i caratteri di commento fino alla fine della riga assicurano che le righe probabili in cui viene utilizzata questa macro non verranno compilate. Ad esempio: a = TRUE;si tradurrà in a = FALSE // Happy debugging suckers;quale porterà a un errore di compilazione perché la terminazione ;è ora nei commenti. Se usi il commento di blocco /* Eat this */funzionerà.
rix0rrr,

6
#define struct unionè molto utile nei sistemi con memoria limitata.
msw,


636
return 1; # returns 1

32
Classico! Ma mi piace ancora di più: "i ++; // aumenta i di 1"
steffenj,

71
Chissà se ha #DEFINE 1 come qualcos'altro ...
icelava il

13
Vorrei che commenti del genere non mi fossero familiari.
Ha disegnato Dormann il

6
L'ho visto molto. Conosco molti programmatori che cancellano le loro funzioni con commenti, quindi compilano il codice qui sotto / accanto a ciascun commento. Rende molto facile scrivere grandi funzioni aziendali, ma a volte si finisce con alcuni commenti piuttosto dettagliati.
Bip beep

88
# restituisce uno cosa? Sii più preciso.
Ozan,

591
/* This is O(scary), but seems quick enough in practice. */ 

seguito da quattro cicli for nidificati


33
pfft, è solo N ^ 4 molto probabilmente, non è così male come 4 ^ N o N!
contattare il

14
Una volta ho colpito una situazione con anelli nidificati in profondità 8. Il tempo di esecuzione è stato misurato in ore.
Loren Pechtel,

8
Avevo un algoritmo O (n) con una rete RTT da 500 ms nel suo loop interno. n> 100k. Ahia.
geofftnz,

6
C'è una qualità redentrice: sanno almeno quanto è grande la terminologia O. Speriamo che ogni ciclo passi su N molto piccolo :-D
Jon Smock

27
Lavoro con qualcuno che direbbe "O (MFG), per favore"
Jason Orendorff,

589
// Replaces with spaces the braces in cases where braces in places cause stasis 
   $str = str_replace(array("\{","\}")," ",$str);

34
+1 - Puro genio. Dovrebbe andare su una maglietta o qualcosa del genere :-)
Torre

71
Il dottor Seuss scrive il codice? +1!
Blorgbeard esce il

11
Ha bisogno di altre due sillabe alla fine ...
Michael Myers

88
Ho appena aperto i commenti per dire che ha bisogno di altre due sillabe, ma a quanto pare mi sono battuto di tre mesi.
Michael Myers

15
Non sono d'accordo con la necessità di sillabe aggiuntive, il metro è perfetto così com'è. Cinque gruppi di tre sillabe ciascuno.
KevDog

542

Parla di volumi sulla nostra professione che quando viene chiesto il "miglior commento", rispondiamo tutti con i peggiori commenti che possiamo trovare ...


67
Sono completamente d'accordo con il tuo commento sul fatto che i commenti sono raramente necessari.
Harpo,

16
Dipende dai commenti. Anche i linguaggi "auto-documentanti" possono trarre vantaggio dai commenti, come Python. Odio dover scorrere il codice per capire cosa sta succedendo, quando una semplice frase può dirmi.
crystalattice,

32
Non sono d'accordo: i commenti non sono necessari. Ci sono momenti in cui un semplice commento "inquadrato" può dare un senso a tutta una serie di codice. Ad esempio, se si utilizza un algoritmo sofisticato per sfuggire alla complessità temporale di un algoritmo a forza bruta, un riferimento può essere essenziale.
Mark Brittingham,

83
Il codice dice cosa ... i commenti dicono perché!
Richard Ev,

3
Non potrei essere più d'accordo con "Richard E". I commenti hanno lo scopo di dire al tuo futuro * (colleghi, revisori, te stesso) perché hai scelto di fare le cose in modo malvagio invece che in un altro. Non sono per sporcare i commenti dappertutto, ma a volte dovrebbero essere obbligatori.
Danita,


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

11
Questo mi ha fatto ridere come un matto
Tablet

68
Ho visto la stessa cosa con // spostarsi, niente da vedere qui.
Ferruccio,

6
Ho riso così tanto per questo.
Franck,

9
Devo ammettere che l'ho fatto in più di un'occasione perché a volte non importa.
NotMe

17
Caspita, scrivo sempre quel commento. Non l'ho mai considerato divertente, ho pensato che fosse un'affermazione seria.
Jay,

496
/**
 * Always returns true.
 */
public boolean isAvailable() {
    return false;
}

Non fare mai affidamento su un commento ...


85
Lo dico sempre ai miei collaboratori. "I commenti non vengono eseguiti !!"
OscarRyz,

15
Credo che volevi dire "non fare mai affidamento sul codice". Sono sicuro che le specifiche, il design e i requisiti richiedevano un codice di ritorno o true :)
gbjbaanb

sembra qualcosa che vedresti nell'edizione techie di failblog.org
BobC,

5
In realtà accadono cose del genere, le persone non si preoccupano di aggiornare la documentazione con le modifiche anche se si trova proprio sopra la funzione.
Henk,

25
... #define false true?
nuovo123456

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
Mi ricorda un collega che giurò di poter ottimizzare un algoritmo di dimostrazione di teoremi meccanici che ho scritto anni fa in un progetto di intelligenza artificiale. Ha migliorato le prestazioni ma poi il codice non ha funzionato ... il che ha giurato che era colpa mia.
Mark Brittingham,

Hmm, non l'ho visto da qualche parte?
bzlm,

6
@Mark Ha solo detto che avrebbe ottimizzato il tempo, non ha detto nulla sulla funzionalità = P
DevinB

98
Se non deve funzionare, posso ottimizzare qualsiasi codice a un tempo di esecuzione pari a zero.
Michael Borgwardt,

9
Ecco a cosa serve il controllo del codice sorgente. Sprecare qualche ora cercando di ottimizzarlo, quindi se non funziona, basta tornare indietro.
Kibbee,

429
try {

} finally { // should never happen 

}

15
++. altri nella mia compagnia lo scrivono sempre!
CVertex,

17
ho visto quel commento (e persino l'ho scritto io stesso) in passato, per cose che la relalyt non dovrebbe mai accadere (ma nel caso, ecco il codice per gestire l'errore). La parte più divertente è che ti si trova in un blocco finalmente, il che significa che dovrebbe sempre accadere ...
Troy Howard,

32
Sì, quello era lo scherzo. =)
Erik Forbes il

15
Se hai una chiamata System.exit () nel blocco try, quindi SÌ, finalmente non dovrebbe mai accadere!
Romain Linsolas,

6
Motivo n. 984 per utilizzare Debug.Assert (). ;)
Scott Hanselman,

411

Da: 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
La linea subito dopo e il suo commento sono davvero in cima alla torta. Sanity? Quale sanità mentale? Il formato ha mangiato tutto ...
Kim Reece,

66
s / PSD / Internet Explorer / g. s / formato file / browser web / g. Ora corrisponde ai miei pensieri.
TJ L

10
Peccato che quel programmatore abbia dovuto affrontare un tale dolore !!! Ma fantastico commento. Ha riversato il suo cuore.
Microkernel

4
Questa riga: // PSD non è il mio formato di file preferito. rende questo un classico.
joedevon,

387
const int TEN=10; // As if the value of 10 will fluctuate... 

136
Nel mercato odierno 10 ora ha un valore di soli 9.
Steve Fallows

13
Forse un giorno faremo evolvere più dita ...
Loren Pechtel,

59
che dire di valori molto grandi di 10?
Mikeage,

184
const int TEN = 11; // Il mio va alle undici
dub

18
Chiamare Fortran da C - Fortran esegue solo chiamate per riferimento, quindi sono necessarie variabili per tutte le costanti.
Martin Beckett,

364
    #Christmas tree initializer  
    toConnect = []  
    toRead =   [  ]  
    toWrite = [    ]   
    primes = [      ]  
    responses = {}  
    remaining = {}  

25
Questa è una vittoria. Una grande vittoria ...
Ciclone

16
OK, lo userò la prossima volta che ho bisogno di quattro array vuoti e due hash!
Josh,

Urgh. Un forte "FAIL!" all'autore per non sapere se sta usando un linguaggio senza formato o meno.
TheBlastOne,

Dubito che non conoscesse il linguaggio senza formato. È una bella battuta :-)
Román,

362

Circa al centro di una xslt di 30 pagine

<!-- Here be dragons  -->

8
Sto ancora cercando di capire come commentare una XSLT in modo sensato.
rjzii,

78
Abbiamo davvero bisogno di più draghi nel nostro codice.
Jon Smock,


6
@annakata pensi che sia male, l'altro giorno qualcuno stava chiedendo aiuto per gestire un file XML da 31 GB. Ho gridato in angoscia.
Dana the Sane,

1
Qualcuno ha chiamato per me?
Troggy,

353

in un metodo di 2000 linee completamente non commentato

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

(Un giorno ho effettivamente eliminato tutte le parentesi solo per vedere quanto fosse brutto e, senza formattazione, ho ottenuto questo:

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

L'endif si presentò attorno alla linea 800)


180
codice tour-de-france
Andreas Petersson,

7
questo è degno di tutto questo!
deadbug

67
Sembra Lisp!
Endian,

8
Quel commento è probabilmente lì per correggere un bug del compilatore. : |
Rob Howard,

49
Livello di complessità ciclomatica di OH

353
long long ago; /* in a galaxy far far away */ 

1
funziona davvero? in quale lingua?
Mauris,

16
@Mauris: originariamente era un'estensione C e C ++ per numeri interi a 64 bit, supportata da molti fornitori. Quindi supporto standardizzato C99 e C ++ 0x: en.wikipedia.org/wiki/Long_long
Juliano

Mi fa pensare ai puntatori lontani e vicini che abbiamo usato nella terra a 16 bit. :)
Macke,

1
Funziona ancora perfettamente bene. L'abbiamo messo per la prima volta nel nostro compilatore su Convex circa 25 anni fa perché DMR ha suggerito che quello dovrebbe essere il nome dei nostri ints a 64 bit.
tchrist,


324
// If this comment is removed the program will blow up 

201
Molto tempo fa, ho accidentalmente corretto un segfault in Java3D aggiungendo un commento. Era riproducibile al 100%; se ho rimosso il commento, si è bloccato. Finché il commento era lì, ha funzionato bene. Presumo che fosse un bizzarro problema di tempistica, ma non ho mai capito esattamente cosa stesse succedendo.
DNS

54
Magia / Altro Magia
DevinB

16
È un po 'come un virus. Contiene contenuti pensati per proteggersi. È come il DNA spazzatura che è bravo a farsi copiare.
Charlie Flowers,

23
dovresti confrontare il bytecode generato dalle 2 versioni
JoelFan,

13
Mi ci è voluta mezza giornata una volta per capire che terminare un commento C \ (usato per contrassegnare la direzione in cui stiamo andando in un array 2D) fa sì che il compilatore salti la riga successiva.
Tgr
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.