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?

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

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

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

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


1030

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

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

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

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.

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.


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

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.


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.

20
Magia = frágil, talvez?
MrBoJangles 11/11/08


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


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.

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

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


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

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


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


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

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


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

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 

}

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.

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

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

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

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


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)


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

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.

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 

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.