¿Cuál es el mejor comentario en el código fuente que has encontrado? [cerrado]


360

¿Cuál es el mejor comentario en el código fuente que has encontrado?

Respuestas:


1462

Soy particularmente culpable de esto, incrustando comentarios no constructivos, poesía en código y pequeñas bromas en la mayoría de mis proyectos (aunque generalmente tengo el sentido suficiente para eliminar cualquier cosa directamente ofensiva antes de lanzar el código). Aquí hay uno que me gusta especialmente, ubicado muy, muy abajo en un 'Objeto de Dios' mal diseñado:

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

¡¡¡¡LO SIENTO!!!! Simplemente no pude evitarlo .....!

Y otro, que admitiré que no he liberado en la naturaleza, a pesar de que estoy muy tentado de hacerlo en una de mis clases menos intuitivas:

// 
// 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
// Estimado Programador // // Tu código ahora se ejecuta más lento ahora que arreglé todos los errores que // introdujiste. // Pero tus optimizaciones seguramente ayudaron.
DevinB

2
+.5 para Rickrolling en los comentarios, +.5 para total_hours. Impresionante
Wayne Werner

3
La primera vez que he sido realmente RickRolled, y fue divertido. Cuando veo enlaces a YouTube siempre espero ser RickRolled (¡camello en inglés!), Pero nunca nunca esperé que fuera RickRolled en los comentarios de código.
Vincent McNabb

44
total_hours_wasted_here = -32768, ¿qué debo hacer? Creo que algo está roto.
Behrooz

8
Deje de "actualizar" el contador. No vale la pena volver a colocar esta pregunta en la primera plana .
Michael Myers

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

55
Leí todos los comentarios de arriba a abajo, preguntándome qué querían decir las personas, cuando dicen "reírse, leer este" o "reírse, leer ese". Bien. Acabo de reír leyendo este ...
Daren Thomas

37
Literalmente hice LOL por la inteligencia y el infantilismo combinados de este.
David Koelle el

2
clase MonkeyPoo extiende Exception {}; ... lanzar un nuevo MonkeyPoo (); // porque es mucho más divertido tirar que una excepción
Adam Rosenfield

2
Voy a empezar a usar en lugar de ex a partir de ahora en XD
Ammar

23
Cuando me despierto de un sueño realmente profundo, mi coeficiente intelectual se reduce a aproximadamente 25, y mi mente va a lugares extremadamente extraños. Una vez, después de una larga temporada escribiendo java, me desperté en medio de la noche sintiéndome bastante enfermo y corrí al baño. Cuando vomité en el inodoro, lo único que pude pensar fue "Me pregunto qué excepción estoy lanzando en este momento ..."
Frank Farmer

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

175
Esa es una frase de Karl Weierstrass, el matemático que nos dio la maravillosa definición de continuidad épsilon y delta.
Edwin Jarvis

3
Weierstrass el Indiferenciable?
Peter Wone el

44
@Augusto, ¿tiene una fuente para atribuir esa frase a Weierstrass? Me gustaría saber a qué se refería.
Kevin

1048
stop(); // Hammertime!

8
Me gusta. Da da da DA, da DA, da DA, se acabó (David Spade, SNL, Actualización de fin de semana)
MrBoJangles

83
detener(); // colabora, escucha!
Erik Forbes


2
detener(); // ¿qué es ese sonido?
Yuval

2
detener(); //! En el nombre del amor. Antes de que me rompas el corazón.

1030

Esto parece evitar que los imbéciles alteren mi código ...

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

77
Me hace desear que SO sea favorito en respuestas individuales
AviD


@alex, bueno duh, ahora ... De todos modos, quise decir lo mismo que tú puedes marcar una pregunta como favorita ...
AviD

@AviD Sí, lo sé, solo sugiero una solución alternativa.
alex

3
Creo que de todos modos estropearán tu código: dice que se arreglará solo, así que ¿por qué no romperlo por diversión?
Mateen Ulhaq

946
// sometimes I believe compiler ignores all my comments

26
Espero que el compilador ignore los comentarios de esta persona.
programador de Windows

86
// Como nunca recibí respuesta del compilador, creo que esto es cierto.
Liwen

40
Creo que se supone que es irónico ...
Neil Barnwell

52
la risa , que es el futuro, los compiladores de leer los comentarios sólo para asegurarse de que no han entendido mal; -D
sharkin

44
// # reply_from_compiler te gusta clippy, ¿no?
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
¿Está esto en algún lugar del código fuente de Duke Nukem Forever? ;)
Adhip Gupta

1
No lo entiendo, ¿qué es tan gracioso?
hasen

11
Está dedicando el siguiente código a su esposa, aunque sabe que es tan malo que lo despedirán o harán que su empresa cierre. :)
Robert P

390
¿Por qué el perro será lanzado al público?
Nosredna

1
@Nosredna, ¡gracias por un comentario tan divertido! @hasen j, el código fue escrito tan mal que el "programador" probablemente perderá su trabajo y, por lo tanto, su esposa tendrá que mantener a la familia.
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;
        }
    }
}

Actualización: el autor original del código se ha revelado a sí mismo, por lo que debo dar crédito donde se debe. Dan McKinley dejó la compañía con la que estaba poco después de comenzar, y habla más sobre el código, explicando algunos antecedentes y algunos "WTF" más que escribió 'Richard'.


27
Eso está plagado de obscenidades, pero literalmente me reí en mi cubo todo el tiempo que lo leía.
willasaywhat

241
la censura apesta. traer de vuelta el original!
codificador1

58
Retrotraído. Todos somos adultos aquí. Si el código original hubiera sido "desinfectado", nunca lo habría recordado lo suficiente como para publicarlo aquí.
JosephStyons

56
Será aún más divertido si un cliente ve el nombre de la clase en un seguimiento de la pila.
Finnw

55
NO VAYA A LA VERSIÓN NSFW: el autor aceptó explícitamente la versión SFW en las revisiones 3 y 6.
Adam Davis

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

79
Ah, las buenas soluciones temporales permanentes :)
Michael Stum

17
¡No hay nada tan permanente como temporal!
Microkernel

727
// drunk, fix later

Ojalá estuviera bromeando. Y conociendo al desarrollador que escribió el código, creo que lo dijo en serio.


258
Eso es ridículo, quien escribe comentarios cuando están borrachos.
Jiminy

66
@Jiminy: ¡En serio! Cuando codifico borracho, me despierto con un código magnífico que, desafortunadamente, no entiendo.
JoshJordan

22
Ohh ... ¡Si no lo entiendes, tiene que ser magnífico!
Anders Hansson el

14
¡¡¡jaja!!! Hice esto solo por diversión: agarré mi repositorio de subversión local para 'borracho', y encontré un comentario de confirmación que no recordaría: "Funciona de nuevo, de alguna manera. Bueno ... ¡estoy borracho!"
ivan_ivanovich_ivanoff

14
ja ja, "... de alguna manera un BAC entre 0.129% y 0.138% confiere capacidad de programación sobrehumana ..." xkcd.com/323
Alpha Codemonkey

719
// Magic. Do not touch.

20
Magia = frágil, tal vez?
MrBoJangles


55
He tenido que escribir eso muchas veces, principalmente para recordarme a mí mismo que "¡Si tocas el siguiente código sin saber realmente lo que estás haciendo, sucederán cosas malas!"
Shalom Craimer

66
@Simon Howard, solo no lo tocaría si dijera "Más magia"
DevinB

44
Todavía recuerdo que me enseñaron CS en la escuela secundaria, donde nuestras estúpidas preguntas fueron respondidas con "¡Magia!" y la sonrisa más siniestra.
nevets1219

701

#define TRUE FALSE //Happy debugging suckers


95
#define NULL (:: rand ()% 2) // también sería bastante agradable
Viktor Sehr

33
#define if (if (!
Bart van Heukelom

66
@Bart: No puede tener la mitad de parentesco en su código, pero podría hacerlo #define if(x) if(!(x))(o, más siniestramente #define if while)
Chris Lutz

8
Sin embargo, dado que esto realmente funcionaría: los caracteres de comentario hasta el final de la línea se aseguran de que las líneas probables donde se usa esta macro no se compilarán. Por ejemplo: a = TRUE;se traducirá a a = FALSE // Happy debugging suckers;lo que conducirá a un error de compilación porque la terminación ;ahora está en los comentarios. Si usa el comentario de bloque /* Eat this */, funcionará.
rix0rrr

66
#define struct uniones muy útil en sistemas con memoria limitada.
msw

640
// I'm sorry.

179
(El código que siguió me hizo llorar).
Greg D

20
hombre, quiero ver el código que siguió ...
Erik Forbes

33
// Estás perdonado. Ve en paz hijo mío.
Mark Allen

52
Este debería ser un comentario estándar en las plantillas predeterminadas generadas por MSFT
Alexandre Brisebois

1
realmente, ¿cuál es el código que sigue a esto?
chakrit

636
return 1; # returns 1

32
¡Clásico! Pero me gusta éste aún mejor: "i ++; // aumentar i en 1"
steffenj

71
Quién sabe si #DEFINE 1 como algo más ...
icelava

13
Deseo que comentarios como ese no me sean familiares.
Drew Dormann

66
He visto esto mucho. Conozco a muchos codificadores que escriben sus funciones con comentarios y luego completan el código a continuación / al lado de cada comentario. Hace que sea muy fácil escribir funciones comerciales grandes, pero a veces terminas con algunos comentarios bastante detallados.
Beep beep

88
# devuelve uno qué? Sé más específico.
Ozan

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

seguido de cuatro bucles for anidados


33
pfft, eso es solo N ^ 4 muy probablemente, ¡ni tan malo como 4 ^ N o N!
tloach

14
Una vez llegué a una situación con bucles anidados 8 de profundidad. El tiempo de ejecución se midió en horas.
Loren Pechtel

8
Tenía un algoritmo O (n) con un RTT de red de 500 ms en su bucle interno. n> 100k. Ay.
geofftnz

66
Hay una cualidad redentora: saben al menos qué gran terminología O es. Con suerte cada bucle se ejecuta a través de muy pequeño N: -D
Jon Smock

27
Trabajo con alguien que diría, "O (MFG), por favor"
Jason Orendorff

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

34
+1 - Genio puro. Esto debería ir en una camiseta o algo así :-)
Rook

71
El Dr. Seuss escribe el código? +1!
Blorgbeard sale el

11
Necesita dos sílabas más al final ...
Michael Myers

88
Acabo de abrir los comentarios para decir que necesita dos sílabas más, pero aparentemente me gané tres meses.
Michael Myers

15
No estoy de acuerdo con la necesidad de sílabas adicionales, el medidor es perfecto como está. Cinco grupos de tres sílabas cada uno.
KevDog

542

Dice mucho sobre nuestra profesión que cuando se nos pregunta sobre el "mejor comentario", todos respondemos con los peores comentarios que podemos encontrar ...


67
Estoy completamente de acuerdo con su comentario de que rara vez se necesitan comentarios.
harpo

16
Depende de los comentarios. Incluso los lenguajes de "autodocumentación" pueden beneficiarse de los comentarios, como Python. Odio tener que revisar el código para descubrir qué está sucediendo, cuando una simple oración me puede decir.
crystallattice

32
No estoy de acuerdo con respecto a que los comentarios sean innecesarios. Hay momentos en que un simple comentario de "encuadre" puede dar sentido a una gran cantidad de código. Por ejemplo, si está utilizando un algoritmo sofisticado para escapar de la complejidad temporal de un algoritmo de fuerza bruta, una referencia puede ser esencial.
Mark Brittingham

83
El código dice qué ... ¡los comentarios dicen por qué!
Richard Ev

3
No podría estar más de acuerdo con "Richard E". Los comentarios están destinados a decirle a su futuro * (compañeros de trabajo, revisores, usted mismo) por qué eligió hacer las cosas de manera perversa en lugar de otra. No estoy para tirar comentarios por todas partes, pero a veces deberían ser obligatorios.
Danita


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

11
Este me hizo reír como un mental
Tablet

68
Vi lo mismo con // avanzar, nada que ver aquí.
Ferruccio

66
Me reí mucho de este.
Franck

99
Tengo que admitir que he hecho esto en más de una ocasión porque a veces simplemente no importa.
NotMe

17
Wow, escribo ese comentario todo el tiempo. Nunca lo consideré divertido, pensé que era una declaración seria.
Jay

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

Nunca confíes en un comentario ...


85
Siempre les digo a mis compañeros de trabajo. "¡Los comentarios no funcionan!"
OscarRyz

15
Creo que quisiste decir, "nunca confíes en el código". Estoy seguro de que la especificación, el diseño y los requisitos requerían un código de retorno o verdadero :)
gbjbaanb

parece algo que verías en la edición techie de failblog.org
BobC

55
Cosas como esta realmente suceden, las personas no se molestan en mantener la documentación actualizada con los cambios, incluso si está justo encima de la función.
Henk

25
... #define false true?
nuevo123456

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
Me recuerda a un compañero que juró que podría optimizar un algoritmo de prueba de teorema mecánico que escribí hace años en un proyecto de IA. Él mejoró el rendimiento, pero luego el código no funcionó ... lo cual juró que fue mi culpa.
Mark Brittingham

Hmm, ¿no he visto este en alguna parte?
bzlm 01 de

66
@ Mark Solo dijo que optimizaría el tiempo, no dijo nada sobre la funcionalidad = P
DevinB

98
Si no tiene que funcionar, puedo optimizar cualquier código a un tiempo de ejecución de cero.
Michael Borgwardt

99
Para eso es el control de fuente. Pierda unas horas tratando de optimizarlo, y luego, si no funciona, simplemente retroceda.
Kibbee el

429
try {

} finally { // should never happen 

}

15
++. ¡otros en mi compañía escriben esto todo el tiempo!
CVertex

17
He visto ese comentario (e incluso lo escribí yo mismo) en el pasado, para cosas que realmente nunca deberían suceder (pero por si acaso, aquí hay un código para manejar el error). La parte más divertida es que finalmente se coloca en un bloque, lo que significa que siempre debería suceder ...
Troy Howard

32
Sí, esa fue la broma. =)
Erik Forbes

15
Si tiene una llamada System.exit () en el bloque de prueba, entonces SÍ, ¡finalmente nunca debería suceder!
Romain Linsolas

66
Motivo # 984 para usar Debug.Assert (). ;)
Scott Hanselman

411

De: 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 línea justo después de eso y su comentario realmente encabezan el pastel. ¿Cordura? Que cordura El formato comió todo ...
Kim Reece

66
s / PSD / Internet Explorer / g. s / formato de archivo / navegador web / g. Ahora coincide con mis pensamientos.
TJ L

10
¡Me da lástima que ese programador haya tenido que pasar por tanto dolor! Pero impresionante comentario. Ha derramado su corazón.
Microkernel

44
Esta línea: // PSD no es mi formato de archivo favorito. hace de esto un clásico.
joedevon

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

136
En el mercado actual 10 ahora tiene un valor de solo 9.
Steve Fallows

13
Tal vez algún día evolucionaremos más dedos ...
Loren Pechtel

59
¿Qué pasa con valores muy grandes de 10?
Mikeage

184
const int TEN = 11; // El mío va a las once
doblaje

18
Llamar a Fortran desde C: Fortran solo hace llamadas por referencia, por lo que necesita variables para todas las constantes.
Martin Beckett el

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

25
Eso es una victoria. Una gran victoria ...
Ciclón el

16
OK. Voy a usar esto la próxima vez que necesite cuatro matrices vacías y dos hashes.
Josh

Urgh Un fuerte "¡FALLO!" al autor por no saber si está usando un lenguaje sin formato o no.
TheBlastOne

Dudo que no supiera sobre el lenguaje sin formato. Esa es una buena broma :-)
Román

362

Sobre la mitad de un 30 páginas xslt

<!-- Here be dragons  -->

8
Todavía estoy tratando de descubrir cómo comentar un XSLT de una manera que tenga sentido.
rjzii

78
Realmente necesitamos más dragones en nuestro código.
Jon Smock el


66
@annakata crees que es malo, el otro día alguien estaba pidiendo ayuda para lidiar con un archivo xml de 31GB. Lloré de angustia.
Dana the Sane

1
¿Alguien me llamó?
Troggy

353

en un método de línea 2000 completamente sin comentar

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

(De hecho, eliminé todos los corchetes un día solo para ver lo malo que era y, sin formato, obtuve esto:

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

El endif apareció alrededor de la línea 800)


180
código tour-de-france
Andreas Petersson

77
¡Esto es digno de thedailyworsethanfailure.com!
Deadbug

67
¡Parece Lisp!
endian

8
Ese comentario probablemente esté ahí para corregir un error del compilador. : |
Rob Howard

49
Nivel de complejidad ciclomática de OH SHIIIIIIIII

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

1
¿esto realmente funciona? en que idioma
mauris

16
@Mauris: Originalmente era una extensión C y C ++ para enteros de 64 bits, que muchos proveedores admitían. Luego, C99 y C ++ 0x soporte estandarizado para ello: en.wikipedia.org/wiki/Long_long
Juliano

Me hace pensar en los punteros lejanos vs. cercanos que utilizamos en tierras de 16 bits. :)
Macke

1
Todavía funciona perfectamente bien. Lo pusimos por primera vez en nuestro compilador en Convex hace unos 25 años porque DMR sugirió que ese debería ser el nombre de nuestras entradas de 64 bits.
tchrist

352
//This code sucks, you know it and I know it.  
//Move on and call me an idiot later.

26
Sinceramente en el comentario!
Mitchel Sellers

46
Amo la honestidad.
Jeff Schumacher el

2
El primer paso para mejorar es reconocer la deficiencia.
icelava

acepta tus errores antes de que otros los exageren :)
naveen

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

201
Hace mucho tiempo, accidentalmente solucioné un defecto en Java3D agregando un comentario. Era 100% reproducible; Si eliminé el comentario, se bloqueó. Mientras el comentario estuviera allí, funcionó bien. Supongo que fue un extraño problema de tiempo, pero nunca supe exactamente qué estaba sucediendo.
DNS

54
Magic / More Magic
DevinB

16
Esto es como un virus. Contiene contenido destinado a protegerse. Es como el ADN basura que es bueno para copiarse.
Charlie Flowers

23
usted debe comparar el código de bytes generada por las versiones 2
JoelFan

13
Una vez me llevó medio día descubrir que terminar un comentario en C \ (usado para marcar en qué dirección vamos en una matriz 2D) hace que el compilador omita la siguiente línea.
Tgr
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.