Qual é o melhor comentário no código fonte que você já encontrou? [fechadas]

360

Qual é o melhor comentário no código fonte que você já encontrou?

Robert Harvey
fonte

Respostas:

1462

Sou particularmente culpado disso, incorporando comentários não construtivos, poesia de código e pequenas piadas na maioria dos meus projetos (embora eu normalmente tenha senso suficiente para remover qualquer coisa diretamente ofensiva antes de liberar o código). Aqui está um que eu particularmente gosto, colocado muito, muito abaixo de um 'Objeto de Deus' mal projetado:

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

EU SINTO MUITO!!!! Eu simplesmente não pude evitar .....!

E outra, que eu admito que ainda não me libertei, apesar de estar muito tentada a fazê-lo em uma das minhas aulas 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
// 
Jens Roland
fonte
2
// Prezado programador // // Seu código agora está mais lento agora que eu corrigi todos os bugs // introduzidos. // Mas suas otimizações certamente ajudaram.
589 DevinB
2
+.5 para Rickrolling nos comentários, +.5 para total_horas. Incrível
Wayne Werner
3
A primeira vez que estive verdadeiramente RickRolled - e foi engraçado. Quando vejo links para o YouTube, sempre espero ser RickRolled (inglês de camelo) !!, mas nunca esperei ser RickRolled em comentários de código.
Vincent McNabb
4
total_hours_wasted_here = -32768, o que devo fazer? Eu acho que algo está quebrado.
Behrooz
8
Por favor, pare de "atualizar" o contador. Não vale a pena colocar esta questão na primeira página mais uma vez .
Michael Myers
1055
Exception up = new Exception("Something is really wrong.");
throw up;  //ha ha
ス ー パ ー フ ミ コ ン
fonte
5
Eu li todos os comentários de cima para baixo, me perguntando o que as pessoas queriam dizer quando dizem "rachado, lendo este" ou "rachado, lendo esse". Bem. Eu só rachado até ler este ...
Daren Thomas
37
Literalmente fez LOL na esperteza e infantilidade combinadas deste.
22630 David Koelle
2
classe MonkeyPoo estende a exceção {}; ... lança novo MonkeyPoo (); // porque é muito mais divertido lançar do que uma exceção #
Adam Rosenfield
2
Estou ganna começar a usar-se em vez de ex partir de agora XD
Ammar
23
Quando acordo de um sono verdadeiramente profundo, meu QI cai para cerca de 25, e minha mente passa por lugares extremamente estranhos. Uma vez, depois de um longo período escrevendo java, acordei no meio da noite me sentindo muito doente e corri para o banheiro. Quando vomitei no banheiro, a única coisa que pude pensar foi: "Gostaria de saber qual exceção estou lançando agora ..." #
Frank Farmer
1052
//When I wrote this, only God and I understood what I was doing
//Now, God only knows
johnc
fonte
175
Essa é uma frase de Karl Weierstrass, o matemático que nos deu a maravilhosa definição de continuidade epsilon e delta.
Edwin Jarvis
3
Weierstrass o indiferenciável?
27512 Peter Wone
4
@ August, você tem uma fonte para a atribuição dessa frase ao Weierstrass? Eu gostaria de saber a que ele estava se referindo.
1313 Kevin
1048
stop(); // Hammertime!
Tuoski
fonte
8
Eu gosto disso. Da da DA, da DA, da DA, Acabou (David Spade, SNL, Atualização de fim de semana)
MrBoJangles
83
Pare(); // colabore, ouça!
Erik Forbes
24
xkcd.com/210
puetzk 23/04/09
2
Pare(); // Que som é esse?
Yuval
2
Pare(); //! Em nome do amor. Antes de você partir meu coração.
1030

Isso parece impedir que idiotas mexam no meu código ...

// Autogenerated, do not edit. All changes will be undone.
cinza
fonte
7
Faz-me desejar favoritos SO suportados sobre as respostas individuais
Avid
3
@AviD Você pode adicionar um stackoverflow.com/questions/184618/… aos
alex
@alex, bem duh, agora ... Enfim, eu queria dizer mesmo que você pode marcar uma pergunta como favorita ...
Avid
@AviD Sim, eu sei, apenas sugerindo uma solução alternativa.
alex
3
Eu acho que eles vão estragar seu código de qualquer maneira: ele diz que vai se consertar, então por que não quebrá-lo?
Mateen Ulhaq
946
// sometimes I believe compiler ignores all my comments
Sergey Kornilov
fonte
26
Espero que o compilador ignore os comentários dessa pessoa.
Programador Windows
86
// Como nunca recebi respostas do compilador, acredito que isso seja verdade.
Liwen
40
Eu acho que é suposto ser irônico ...
Neil Barnwell
52
riso , que é o futuro, compiladores leitura comentários apenas para se certificar de que eles têm ;-D não incompreendido
sharkin
4
// # reply_from_compiler você gosta de clippy, não gosta?
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
fonte
169
Está em algum lugar no código fonte do Duke Nukem Forever? ;)
Adhip Gupta 10/10/08
11
Eu não entendi, o que é tão engraçado?
hasen
11
Ele está dedicando o código abaixo a sua esposa, mesmo sabendo que é tão ruim que o levará à demissão ou fará com que sua empresa feche seus negócios. :)
Robert P
390
Por que o cachorro será lançado ao público?
Nosredna
11
@Nosredna, obrigado por um comentário tão engraçado! @hasen j, o código foi escrito tão mal que o "programador" provavelmente perderá o emprego e, portanto, sua esposa terá que sustentar a família.
28909 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;
        }
    }
}

Atualização: o autor original do código se apresentou, portanto, devo dar crédito onde é devido. Dan McKinley deixou a empresa com a qual eu estava logo depois de começar, e ele fala mais sobre o código, explicando alguns antecedentes e mais alguns "WTF's" que 'Richard' escreveu.

Tom Ritter
fonte
27
Isso está cheio de obscenidades, mas eu literalmente ri no meu cubo o tempo todo ao lê-lo.
willasaywhat
241
a censura é péssima. traga de volta o original!
Codificador1
58
Revertida. Somos todos adultos aqui. Se o código original tivesse sido "higienizado", você nunca se lembraria o suficiente para publicá-lo aqui.
9788 JosephStyons
56
Será ainda mais engraçado se um cliente vir o nome da classe em um rastreamento de pilha.
finnw
5
Por favor, não ROLLBACK TO NSFW VERSÃO - o autor aceite explicitamente a versão SFW na revisão 3 e 6.
Adam Davis
825
// somedev1 -  6/7/02 Adding temporary tracking of Login screen
// somedev2 -  5/22/07 Temporary my ass
Rohit
fonte
79
Ah, as boas soluções permanentes temporários :)
Michael Stum
17
Não há nada tão permanente quanto temporário !!!
Microkernel
727
// drunk, fix later

Queria estar brincando. E conhecendo o desenvolvedor que escreveu o código, acho que ele quis dizer isso literalmente.

Daniel Papasian
fonte
258
Isso é ridículo, que escreve comentários quando está bêbado.
Jiminy
66
@Jiminy: Sério! Quando codifico bêbado, acordo com um código magnífico que, infelizmente, não entendo.
31909 JoshJordan
22
Ohh ... Se você não entende, tem que ser magnífico!
Anders Hansson
14
haha !!! Eu fiz isso apenas por diversão: recebi meu repositório local de subversão por 'bêbado' e encontrei um comentário que não me lembraria: "Funciona novamente, de alguma forma. Bem ... estou bêbado!"
Ivan_ivanovich_ivanoff 15/04/09
14
ha ha "..somehow uma TAS entre 0,129% e 0,138% confere-humana capacidade de programação ..." xkcd.com/323
Alpha Codemonkey
719
// Magic. Do not touch.
Jason Sundram
fonte
20
Magia = frágil, talvez?
MrBoJangles 11/11/08
44
Lembra-me disso: catb.org/esr/jargon/html/magic-story.html
Simon Howard
5
Eu tive que escrever isso tantas vezes - principalmente para me lembrar que "Se você tocar no código a seguir sem realmente saber o que está fazendo, coisas ruins acontecerão!"
Shalom Craimer 20/01/09
6
@Simon Howard, eu só não iria tocá-lo se ele disse "Mais Magic"
DevinB
4
Ainda me lembro de ter aprendido CS no ensino médio, onde nossas perguntas estúpidas foram respondidas com "Magia!" e o sorriso mais sinistro.
precisa saber é o seguinte
701

#define TRUE FALSE //Happy debugging suckers

Sulik
fonte
95
NULL #define (:: rand ()% 2) // seria bastante nice além
Viktor Sehr
33
#define if (if (!
Bart van Heukelom
66
@Bart: Você não pode ter meia parens em seu código, mas você poderia fazer #define if(x) if(!(x))(ou, mais sinistramente, #define if while)
Chris Lutz
8
No entanto, como isso funcionaria: os caracteres de comentário até o final da linha garantem que as linhas prováveis ​​em que essa macro é usada não sejam compiladas. Por exemplo: a = TRUE;será traduzido para o a = FALSE // Happy debugging suckers;que levará a um erro de compilação porque o termo ;está agora nos comentários. Se você usar o comentário do bloco, /* Eat this */ele funcionará.
Rd0rrr 17/09/10
6
#define struct unioné muito útil em sistemas com restrição de memória.
msw
640
// I'm sorry.
Greg D
fonte
179
(O código que se seguiu me fez chorar.)
Greg D
20
homem, eu quero ver o código que se seguiu ...
Erik Forbes
33
// Você está perdoado. Vá em paz, meu filho.
Mark Allen
52
Este deve ser um comentário padrão nos modelos padrão gerados pela MSFT
Alexandre Brisebois
11
realmente, qual é o código que segue isso ???
chakrit
636
return 1; # returns 1
Lateral
fonte
32
Clássico! Mas eu gosto ainda mais deste: "i ++; // aumenta i em 1"
steffenj 12/10/08
71
Quem sabe se ele #define 1 como outra coisa ...
icelava
13
Eu gostaria que comentários como esse não fossem familiares para mim.
Desenhou Dormann
6
Eu já vi muito isso. Conheço muitos codificadores que escrevem suas funções com comentários e preenchem o código abaixo / ao lado de cada comentário. Facilita a criação de grandes funções comerciais, mas às vezes você acaba com alguns comentários bastante detalhados.
Beep beep
88
# retorna um o que? Seja mais específico.
Ozan
591
/* This is O(scary), but seems quick enough in practice. */ 

seguido de quatro for-loops aninhados

Draemon
fonte
33
pfft, isso é apenas N ^ 4 provavelmente, não é tão ruim quanto 4 ^ N ou N!
Jun
14
Certa vez, cheguei a uma situação com loops aninhados a 8 de profundidade. O tempo de execução foi medido em horas.
Loren Pechtel 19/10/08
8
Eu tinha um algoritmo O (n) com uma rede RTT de 500ms em seu loop interno. n> 100k. Ai.
22139 geofftnz
6
Existe uma qualidade redentora: eles sabem o que é grande a terminologia O. Esperamos que cada malha é que funciona sobre muito pequena N: -D
Jon blusa
27
Eu trabalho com alguém que diria: "O (MFG), por favor"
Jason Orendorff 19/11/2009
589
// Replaces with spaces the braces in cases where braces in places cause stasis 
   $str = str_replace(array("\{","\}")," ",$str);
Lance Kidwell
fonte
34
+1 - Gênio puro. Isto deve ir em uma t-shirt ou algo :-)
Rook
71
Dr. Seuss escreve código? +1!
Blorgbeard saiu em 22/04/09
11
Precisa de mais duas sílabas no final ...
Michael Myers
88
Acabei de abrir os comentários para dizer que precisa de mais duas sílabas, mas aparentemente eu me venci por três meses.
Michael Myers
15
Não concordo com a necessidade de sílabas adicionais, o medidor é perfeito como está. Cinco grupos de três sílabas cada.
KevDog
542

Ele fala muito sobre a nossa profissão que, quando perguntados sobre o "melhor comentário", todos respondemos com os piores comentários que podemos encontrar ...

rlerallut
fonte
67
Concordo plenamente com o seu comentário de que raramente são necessários comentários.
harpo 17/10/08
16
Depende dos comentários. Até linguagens de "auto-documentação" podem se beneficiar de comentários, como o Python. Eu odeio ter que ler o código para descobrir o que está acontecendo, quando uma frase simples pode me dizer.
18488 Crystalattice
32
Discordo dos comentários desnecessários. Há momentos em que um simples comentário de "enquadramento" pode dar sentido a toda uma série de códigos. Por exemplo, se você estiver usando um algoritmo sofisticado para escapar da complexidade de tempo de um algoritmo de força bruta, uma referência pode ser essencial.
Mark Brittingham
83
O código diz o que ... os comentários dizem o porquê!
Richard Ev
3
Eu não poderia concordar mais com "Richard E". Os comentários têm como objetivo informar seu futuro * (colegas de trabalho, revisores, você mesmo) por que você escolheu fazer as coisas de maneira maliciosa em vez de outra. Não sou a favor de deixar comentários espalhados por todo o lugar, mas às vezes eles devem ser obrigatórios.
319 Danita
525
long john; // silver
Sean
fonte
6
Milho puro. É por isso que eu gosto.
MrBoJangles 11/11/08
6
Totalmente rachado também. Eu acho que meu código agora é muito chato.
Wonderchook 8/08
12
Pode ser eu, mas isso me racha toda vez double d.
24410 Kevin
11
Porra, eu estava pensando no caminho Ether do en.wikipedia.org/wiki/Long_John_Silver , estou com fome.
Tek
508
Catch (Exception e) {
 //who cares?
} 
Randyaa
fonte
11
Este me fez rir como um mental
Tablet
68
Eu vi a mesma coisa com // seguir em frente, nada para ver aqui.
Ferruccio
6
Eu ri tanto com isso.
Franck
9
Tenho que admitir que eu fiz isso em mais de uma ocasião, porque às vezes isso simplesmente não importa.
NotMe
17
Uau, eu escrevo esse comentário o tempo todo. Eu nunca achei isso engraçado, achei uma afirmação séria.
Jay
496
/**
 * Always returns true.
 */
public boolean isAvailable() {
    return false;
}

Nunca confie em um comentário ...

martinus
fonte
85
Eu sempre digo aos meus colegas de trabalho. "Comentários não são executados !!"
21410 OscarRyz
15
Acredito que você quis dizer "nunca confie no código". Tenho certeza de que as especificações, o design e os requisitos exigiram um código de retorno ou verdadeiro :) #
30119 gbjbaanb
se parece com algo que você veria na edição techie de failblog.org
bobc
5
Coisas como essa realmente acontecem, as pessoas não se preocupam em manter a documentação atualizada com as alterações, mesmo que esteja logo acima da função.
23909 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
fonte
32
Lembra-me de um sujeito que jurou que poderia otimizar um algoritmo mecânico de prova de teoremas que escrevi anos atrás em um projeto de IA. Ele melhorou o desempenho, mas o código não funcionou ... o que ele jurou ser minha culpa.
Mark Brittingham
Hmm, eu não vi esse aqui em algum lugar?
bzlm
6
@ Marcos Ele só disse que iria otimizar o tempo, ele não disse nada sobre a funcionalidade = P
DevinB
98
Se não tiver que funcionar, posso otimizar qualquer código para um tempo de execução zero.
227 Michael Borgwardt
9
É para isso que serve o controle de origem. Gaste algumas horas tentando otimizá-lo e, se não der certo, basta reverter.
Kibbee
429
try {

} finally { // should never happen 

}
gedevan
fonte
15
++. outros na minha empresa escrevem isso o tempo todo!
CVertex
17
Eu já vi esse comentário (e até mesmo o escrevi) no passado, para coisas que nunca deveriam acontecer (mas por precaução, aqui está o código para lidar com o erro). A parte mais engraçada é que ti é colocado em um bloco, finalmente, o que significa que deve sempre acontecer ...
Troy Howard
32
Sim, essa foi a piada. =)
Erik Forbes
15
Se você tiver uma chamada System.exit () no bloco try, então YES, o finalmente nunca deve acontecer!
Romain Linsolas 6/02/09
6
Razão # 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.
halcy
fonte
11
A linha logo depois disso e seu comentário realmente superam as expectativas. Sanidade? Que sanidade? O formato comi tudo ...
Kim Reece
66
s / PSD / Internet Explorer / g. s / formato de arquivo / navegador da web / g. Agora isso corresponde aos meus pensamentos.
TJ L
10
Tenho pena desse programador por ter passado por tanta dor !!! Mas pedaço impressionante de comentário. Despejou seu coração.
Microkernel
4
Esta linha: // PSD não é o meu formato de arquivo favorito. torna isso um clássico.
joedevon
387
const int TEN=10; // As if the value of 10 will fluctuate... 
Mike
fonte
136
No mercado de hoje 10 tem agora um valor de apenas 9.
Steve Fallows
13
Talvez um dia vamos evoluir mais dedos ...
Loren Pechtel
59
que tal valores muito grandes de 10?
237 Mikeage
184
const int RTE = 11; // O meu vai para as onze
dub
18
Chamar o Fortran a partir de C - O Fortran apenas chama por referência, portanto você precisa de variáveis ​​para todas as constantes.
22320 Martin Beckett
364
    #Christmas tree initializer  
    toConnect = []  
    toRead =   [  ]  
    toWrite = [    ]   
    primes = [      ]  
    responses = {}  
    remaining = {}  
Leo
fonte
25
Isso é uma vitória. Uma grande vitória ...
Ciclone
16
OK, vou usar isso na próxima vez que precisar de quatro matrizes vazias e dois hashes!
21420 Josh
Urgh. Um alto "FAIL!" ao autor por não saber se ele está usando um idioma sem formato ou não.
TheBlastOne
Duvido que ele não soubesse da linguagem sem formato. Isso é uma piada bacana :-)
Román
362

Sobre o meio de um xslt de 30 páginas

<!-- Here be dragons  -->
Goran
fonte
8
Ainda estou tentando descobrir como comentar um XSLT de uma maneira que faça sentido.
Rjzii 9/10/08
78
Nós realmente precisamos de mais dragões em nosso código.
21411 Jon Smock
11
Inicialmente pensei em en.wikipedia.org/wiki/21st_Century_Compilers
chakrit
6
@annakata você acha que isso é ruim, outro dia alguém estava pedindo ajuda para lidar com um arquivo xml de 31GB. Eu chorei de angústia.
Dana the Sane
11
Alguém me chamou?
Troggy 6/10/09
353

em um método de linha 2000 completamente não comentado

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

(Na verdade, peguei todos os colchetes um dia só para ver o quão ruim era e, sem formatação, consegui o seguinte:

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

O endif apareceu na linha 800)

Steve B.
fonte
180
código do tour-de-france
Andreas Petersson
7
este é o diário mais valioso!
9788 deadbug
67
Parece Lisp!
Endian
8
Esse comentário provavelmente está lá para corrigir um bug do compilador. : |
Rob Howard
49
Nível de complexidade Cyclomatic de OH SHIIIIIIIII
353
long long ago; /* in a galaxy far far away */ 
Juliano
fonte
11
isso realmente funciona? em qual idioma
mauris 07/09/09
16
@Mauris: originalmente era uma extensão C e C ++ para números inteiros de 64 bits, suportados por muitos fornecedores. Em seguida, suporte padronizado para C99 e C ++ 0x: pt.wikipedia.org/wiki/Long_long
Juliano
Faz-me pensar nos indicadores distantes vs. próximos que usamos em terrenos de 16 bits. :)
Macke
11
Ainda funciona perfeitamente bem. Primeiro o colocamos em nosso compilador na Convex há cerca de 25 anos, porque o DMR sugeriu que esse deveria ser o nome de nossas entradas de 64 bits.
tchrist
352
//This code sucks, you know it and I know it.  
//Move on and call me an idiot later.
KevDog
fonte
26
Honestamente nos comentários!
Mitchel Sellers
46
Eu amo a honestidade.
Jeff Schumacher
2
O primeiro passo para a melhoria é reconhecer a deficiência.
icelava
aceitar seus erros antes de outros exagerá-los :)
Naveen
324
// If this comment is removed the program will blow up 
John Chuckran
fonte
201
Há muito tempo, corrigi acidentalmente um segfault no Java3D adicionando um comentário. Era 100% reproduzível; se eu removi o comentário, ele travou. Enquanto o comentário estivesse lá, funcionou bem. Suponho que tenha sido algum problema de tempo bizarro, mas nunca descobri exatamente o que estava acontecendo.
DNS
54
Magia / Mais magia #
DevinB
16
Isso é como um vírus. Ele contém conteúdo destinado a se proteger. É como o DNA lixo que é bom em se copiar.
Charlie Flowers
23
você deve comparar o bytecode gerado pelos 2 versões
JoelFan
13
Levei meio dia para descobrir que terminar um comentário em C \ (usado para marcar em que direção estamos indo em uma matriz 2D) faz com que o compilador pule a próxima linha.
Tgr 31/05/10