Jaki jest najlepszy komentarz w kodzie źródłowym, jaki kiedykolwiek spotkałeś? [Zamknięte]


360

Jaki jest najlepszy komentarz w kodzie źródłowym, jaki kiedykolwiek spotkałeś?

Odpowiedzi:


1462

Jestem szczególnie winny tego, umieszczając w większości moich projektów konstruktywne komentarze, poezję kodu i małe żarty (chociaż zwykle mam dość rozsądku, aby usunąć coś bezpośrednio obraźliwego przed wydaniem kodu). Oto jeden, który szczególnie lubię, umieszczony daleko, daleko w kiepsko zaprojektowanym „Boskim obiekcie”:

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

PRZEPRASZAM!!!! Po prostu nie mogłem się powstrzymać .....!

I jeszcze jeden, który muszę przyznać, że tak naprawdę nie wypuściłem go na wolność, chociaż mam wielką ochotę to zrobić na jednej z moich mniej intuicyjnych zajęć:

// 
// 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
// Drogi Programatorze // Twój kod działa teraz wolniej, kiedy naprawiłem wszystkie zgłoszone przez Ciebie błędy. // Ale twoje optymalizacje z pewnością pomogły.
DevinB,

2
+.5 za Rickrolling w komentarzach, +.5 za total_hours. Niesamowite
Wayne Werner

3
Po raz pierwszy naprawdę byłem RickRolled - i to było zabawne. Kiedy widzę linki do YouTube, zawsze oczekuję, że będę RickRolled (angielski w wielbłądach !!), ale nigdy nie spodziewałem się, że będę RickRolled w komentarzach do kodu.
Vincent McNabb,

4
total_hours_wasted_here = -32768, co powinienem zrobić? myślę, że coś jest zepsute.
Behrooz

8
Przestań „aktualizować” licznik. Nie warto wpadając na to pytanie na stronie głównej po raz kolejny .
Michael Myers

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

5
Czytam wszystkie komentarze od góry do dołu, zastanawiając się, co ludzie mieli na myśli, mówiąc: „pękli, czytając ten” lub „pękli, czytając ten”. Dobrze. Właśnie pękłem, czytając ten ...
Daren Thomas

37
Dosłownie zrobił LOL z powodu sprytu i dziecinności tego.
David Koelle

2
klasa MonkeyPoo rozszerza wyjątek {}; ... wrzuć nową MonkeyPoo (); // ponieważ rzucanie jest o wiele przyjemniejsze niż wyjątek
Adam Rosenfield

2
Chcę zacząć używać zamiast od teraz na XD
Ammar

23
Kiedy budzę się z naprawdę głębokiego snu, moje IQ spada do około 25, a mój umysł udaje się w bardzo dziwne miejsca. Pewnego razu, po długim okresie pisania java, obudziłem się w środku nocy, czując się dość źle, i pobiegłem do łazienki. Gdy zwymiotowałem do toalety, jedyne, co mogłem pomyśleć, to „zastanawiam się, który wyjątek teraz rzucam ...”
Frank Farmer

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

175
To zdanie Karla Weierstrassa, matematyka, który dał nam wspaniałą definicję ciągłości epsilon i delta.
Edwin Jarvis,

3
Weierstrass Niezróżnicowany?
Peter Wone

4
@Augusto, czy masz źródło przypisania tej frazy Weierstrass? Chciałbym wiedzieć, o co mu chodzi.
Kevin


1030

To wydaje się powstrzymywać kretynów od zepsucia mojego kodu ...

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

7
Sprawia, że ​​życzę SO obsługiwanych ulubionych odpowiedzi indywidualnych
AviD

3
@AviD Możesz utworzyć zakładkę stackoverflow.com/questions/184618/...
alex

@alex, no cóż, teraz ... W każdym razie miałem na myśli to samo, co możesz oznaczyć jako ulubione ...
AviD

@AviD Tak, wiem, sugeruję tylko obejście.
alex

3
Myślę, że i tak zrujnują twój kod: mówi, że się naprawi, więc dlaczego nie złamać go dla kopnięć?
Mateen Ulhaq,

946
// sometimes I believe compiler ignores all my comments

26
Mam nadzieję, że kompilator ignoruje komentarze tej osoby.
programista Windows

86
// Ponieważ nigdy nie otrzymałem odpowiedzi od kompilatora, wierzę, że to prawda.
Liwen,

40
Myślę, że to powinno być ironiczne ...
Neil Barnwell

52
śmiech , to jest przyszłość, kompilatorzy czytają komentarze, aby upewnić się, że się nie zrozumieli ;-D
sharkin

4
// # reply_from_compiler lubisz clippy, prawda?
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
Czy jest to gdzieś w kodzie źródłowym Duke Nukem Forever? ;)
Adhip Gupta

1
Nie rozumiem, co jest takie zabawne?
hasen

11
Poświęca poniższy kod swojej żonie, mimo że wie, że jest tak źle, że albo go zwolni, albo sprawi, że jego firma przestanie działać. :)
Robert P

390
Dlaczego pies zostanie wydany publicznie?
Nosredna

1
@Nosredna, dziękuję za tak zabawny komentarz! @hasen j, kod został napisany tak źle, że „programista” najprawdopodobniej straci pracę, a zatem jego żona będzie musiała wesprzeć rodzinę.
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;
        }
    }
}

Aktualizacja: Pierwotny autor kodu sam się wydał, więc muszę przyznać, gdzie jest należny. Dan McKinley opuścił firmę, w której pracowałem krótko po rozpoczęciu działalności, a on mówi więcej o kodzie, wyjaśniając pewne tło i kilka innych „WTF” napisanych przez „Richarda”.


27
Jest to pełne sprośności, ale dosłownie śmiałem się z mojej kostki przez cały czas czytając ją.
willasaywhat

241
cenzura jest do bani. przywróć oryginał!
coder1

58
Wycofana. Wszyscy jesteśmy tutaj dorośli. Gdyby oryginalny kod został „zdezynfekowany”, nigdy nie zapamiętałbyś go na tyle, aby opublikować go tutaj.
JosephStyons,

56
Będzie jeszcze śmieszniej, jeśli klient zobaczy nazwę klasy w śladzie stosu.
finnw 10.10.08

5
PROSZĘ NIE ODWRACAĆ DO WERSJI NSFW - autor wyraźnie zaakceptował wersję SFW w wersji 3 i 6.
Adam Davis,

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

79
Ach, dobre trwałe tymczasowe rozwiązania :)
Michael Stum

17
Nie ma nic tak trwałego jak tymczasowe !!!
Microkernel

727
// drunk, fix later

Chciałbym żartować. I znając programistę, który napisał kod, myślę, że miał na myśli dosłownie.


258
To niedorzeczne, kto pisze komentarze, gdy są pijani.
Jiminy,

66
@Jiminy: Poważnie! Kiedy piję kod, budzę się ze wspaniałym kodem, którego niestety nie rozumiem.
JoshJordan

22
Ohh ... Jeśli tego nie rozumiesz, musi być wspaniale!
Anders Hansson

14
ha ha!!! Zrobiłem to dla zabawy: przeszukałem moje lokalne repozytorium subversion dla słowa „pijany” i znalazłem jeden komentarz do zatwierdzenia, którego nie pamiętam: „Jakoś znowu działa. Cóż ... jestem pijany!”
ivan_ivanovich_ivanoff

14
ha ha, „.. jakoś BAC między 0,129% a 0,138% nadaje nadludzkim zdolnościom programistycznym ...” xkcd.com/323
Alpha Codemonkey

719
// Magic. Do not touch.

20
Może magia = krucha?
MrBoJangles,


5
Tyle razy musiałem to pisać - głównie po to, by przypomnieć sobie, że „jeśli dotkniesz następującego kodu, nie wiedząc naprawdę, co robisz, zdarzają się złe rzeczy!”
Shalom Craimer

6
@ Simon Howard, nie dotknąłbym go tylko, gdyby powiedział „More Magic”
DevinB

4
Nadal pamiętam, jak uczyłem CS w szkole średniej, gdzie na nasze głupie pytania odpowiadała „Magia!” i najbardziej złowieszczy uśmiech.
nevets1219

701

#define TRUE FALSE //Happy debugging suckers


95
# zdefiniować NULL (:: rand ()% 2) // też byłoby całkiem fajnie
Viktor Sehr


66
@ Bart: Nie możesz mieć pół parens w swoim kodzie, ale możesz zrobić #define if(x) if(!(x))(lub, bardziej złowieszczo #define if while)
Chris Lutz

8
Jak podano, to faktycznie działałoby: znaki komentarza do końca linii upewniają się, że prawdopodobne linie, w których używane jest to makro, nie zostaną skompilowane. Na przykład: a = TRUE;przetłumaczy, na a = FALSE // Happy debugging suckers;co doprowadzi do błędu kompilacji, ponieważ terminowanie ;jest teraz w komentarzach. Jeśli użyjesz komentarza do bloku /* Eat this */, zadziała.
rix0rrr

6
#define struct unionjest bardzo pomocny w systemach z ograniczoną pamięcią.
msw


636
return 1; # returns 1

32
Klasyczny! Ale jeszcze bardziej podoba mi się ten: „i ++; // zwiększyć i o 1”
steffenj 12.10.08

71
Kto wie, czy on #DEFINIUJE 1 jako coś innego ...
icelava

13
Chciałbym, aby takie komentarze były mi nieznane.
Drew Dormann

6
Dużo to widziałem. Znam wielu programistów, którzy usuwają swoje funkcje z komentarzami, a następnie wypełniają kod poniżej / obok każdego komentarza. Ułatwia pisanie dużych funkcji biznesowych, ale czasem pojawiają się dość szczegółowe komentarze.
Sygnał dźwiękowy

88
# zwraca jedno co? Uszczegółów.
Ozan

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

a następnie cztery zagnieżdżone pętle for


33
pfft, to najprawdopodobniej tylko N ^ 4, nie tak blisko jak 4 ^ N lub N!
tloach

14
Kiedyś trafiłem na sytuację, w której pętle były zagnieżdżone na 8 głębokościach. Czas działania mierzono w godzinach.
Loren Pechtel,

8
Miałem algorytm O (n) z 500 ms siecią RTT w jego wewnętrznej pętli. n> 100 tys. Auć.
geofftnz

6
Istnieje cecha zbawcza: wiedzą oni, co to jest duża terminologia O. Mam nadzieję, że każda pętla przebiega przez bardzo małe N :-D
Jon Smock

27
Pracuję z kimś, kto powiedziałby „O (MFG), proszę”
Jason Orendorff,

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

34
+1 - czysty geniusz. Powinien to być podkoszulek lub coś w tym stylu :-)
Rook

71
Dr Seuss pisze kod? +1!
Blorgbeard jest nieobecny

11
Potrzebuje jeszcze dwóch sylab na końcu ...
Michael Myers

88
Właśnie otworzyłem komentarze, by powiedzieć, że potrzebuje jeszcze dwóch sylab, ale najwyraźniej pobiłem się o trzy miesiące.
Michael Myers

15
Nie zgadzam się z potrzebą dodatkowych sylab, licznik jest idealny, jak jest. Pięć grup po trzy sylaby każda.
KevDog,

542

Mówi wiele o naszym zawodzie, że na pytanie o „najlepszy komentarz” wszyscy odpowiadamy najgorszymi komentarzami, jakie możemy znaleźć ...


67
Całkowicie zgadzam się z twoim komentarzem, że komentarze są rzadko potrzebne.
harpo

16
Zależy od komentarzy. Nawet języki „samodokumentujące” mogą korzystać z komentarzy, takich jak Python. Nienawidzę konieczności przeszukiwania kodu, aby dowiedzieć się, co się dzieje, kiedy może mi powiedzieć proste zdanie.
crystalattice

32
Nie zgadzam się z: komentarze są niepotrzebne. Czasami prosty komentarz „w ramce” może mieć sens z całą masą kodu. Na przykład, jeśli używasz zaawansowanego algorytmu, aby uniknąć złożoności czasowej algorytmu brutalnej siły, odniesienie może być niezbędne.
Mark Brittingham,

83
Kod mówi, co ... komentarze mówią dlaczego!
Richard Ev,

3
Nie mogłem się bardziej zgodzić z „Richardem E”. Komentarze mają na celu poinformowanie twojej przyszłości * (współpracowników, recenzentów, ciebie), dlaczego zdecydowałeś się robić rzeczy tak niegodziwe, a nie inne. Nie jestem za rozśmieszaniem komentarzy w każdym miejscu, ale czasem powinny być obowiązkowe.
Danita


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

11
Ten sprawił, że się roześmiałem jak umysłowo
Tablet

68
Widziałem to samo z // poruszaniem się, nic do zobaczenia tutaj.
Ferruccio,

6
Tak bardzo się z tego śmiałem.
Franck

9
Muszę przyznać, że robiłem to więcej niż jeden raz, ponieważ czasami to po prostu nie ma znaczenia.
NotMe,

17
Wow, cały czas piszę ten komentarz. Nigdy nie uważałem tego za zabawne, myślałem, że to poważne stwierdzenie.
Jay

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

Nigdy nie polegaj na komentarzach ...


85
Zawsze mówię moim współpracownikom. „Komentarze nie działają !!”
OscarRyz

15
Myślę, że miałeś na myśli „nigdy nie polegaj na kodzie”. Jestem pewien, że specyfikacja, projekt i wymagania wymagały kodu zwrotnego lub true :)
gbjbaanb

wygląda jak coś, co można zobaczyć w techie edycji failblog.org
BobC

5
Takie rzeczy faktycznie się zdarzają, ludzie nie zawracają sobie głowy aktualizowaniem dokumentacji, nawet jeśli jest tuż nad funkcją.
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
Przypomina mi faceta, który przysięgał, że może zoptymalizować algorytm dowodzenia twierdzeń mechanicznych, który napisałem lata temu w projekcie AI. Poprawił wydajność, ale kod nie działał ... co przysięgał, że to moja wina.
Mark Brittingham,

Hmm, nie widziałem tego gdzieś?
bzlm

6
@ Mark Powiedział tylko, że zoptymalizuje czas, nie powiedział nic o funkcjonalności = P
DevinB

98
Jeśli to nie musi działać, mogę zoptymalizować dowolny kod do czasu działania równego zero.
Michael Borgwardt,

9
Po to jest kontrola źródła. Zmarnuj kilka godzin, próbując je zoptymalizować, a następnie, jeśli to nie zadziała, po prostu wycofaj się.
Kibbee

429
try {

} finally { // should never happen 

}

15
++. inni w mojej firmie piszą to cały czas!
CVertex,

17
widziałem ten komentarz (a nawet sam go napisałem), ponieważ rzeczy, które relalyt nigdy nie powinien się wydarzyć (ale na wszelki wypadek, oto kod do obsługi błędu). Najśmieszniejsze jest to, że ti jest umieszczony w końcu bloku, co oznacza, że zawsze powinno się to zdarzyć ...
Troy Howard

32
Tak, to był żart. =)
Erik Forbes,

15
Jeśli masz wywołanie System.exit () w bloku try, to TAK, w końcu nigdy nie powinno się zdarzyć!
Romain Linsolas

6
Powód # 984, aby użyć Debug.Assert (). ;)
Scott Hanselman

411

Od: 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
Tuż po tym wiersz i jego komentarz naprawdę są na topie. Zdrowie psychiczne? Jakie zdrowie psychiczne? Format zjadł wszystko ...
Kim Reece

66
s / PSD / Internet Explorer / g. s / format pliku / przeglądarka internetowa / g. Teraz pasuje do moich myśli.
TJ L

10
Żal mi tego programisty za to, że musiałem przejść przez taki ból !!! Ale niesamowity komentarz. Wylał mu serce.
Microkernel

4
Ta linia: // PSD nie jest moim ulubionym formatem plików. czyni to klasycznym.
dołączył

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

136
Na dzisiejszym rynku 10 ma teraz wartość tylko 9.
Steve Fallows

13
Może kiedyś wyewoluujemy więcej palców ...
Loren Pechtel,

59
co z bardzo dużymi wartościami 10?
Mikeage

184
const int TEN = 11; // Mój idzie do jedenastej
dub.

18
Wywoływanie Fortran z C - Fortran robi tylko wywołanie przez referencję, więc potrzebujesz zmiennych dla wszystkich stałych.
Martin Beckett,

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

25
To jest zwycięstwo. Ogromna wygrana ...
Cyklon

16
OK, zamierzam użyć tego następnym razem, gdy potrzebuję czterech pustych tablic i dwóch skrótów!
Josh

Urgh. Głośny „AWARIA!” do autora za to, że nie wie, czy używa języka bez formatu, czy nie.
TheBlastOne

Wątpię, żeby nie wiedział o języku bez formatu. To niezły żart :-)
Román

362

Około połowy 30-stronicowego xslt

<!-- Here be dragons  -->

8
Wciąż próbuję wymyślić, jak skomentować XSLT w sposób, który ma sens.
rjzii,

78
Naprawdę potrzebujemy więcej smoków w naszym kodzie.
Jon Smock


6
@annakata, uważasz, że to źle, pewnego dnia ktoś poprosił o pomoc w radzeniu sobie z plikiem xml 31GB. Płakałem w udręce.
Dana the Sane

1
Czy ktoś do mnie zadzwonił?
Troggy,

353

w całkowicie nieskomentowanej metodzie 2000

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

(Pewnego dnia wyłożyłem wszystkie nawiasy, żeby zobaczyć, jak źle było, i bez formatowania dostałem to:

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

Endif pojawił się około linii 800)


180
kod tour-de-france
Andreas Petersson

7
to jest godne thedailyworsethanfailure.com!
deadbug

67
Wygląda jak Lisp!
endian

8
Ten komentarz prawdopodobnie istnieje, aby naprawić błąd kompilatora. : |
Rob Howard,

49
Poziom złożoności cyklicznej OH SHIIIIIIIII

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

1
czy to faktycznie działa? w jakim języku?
Mauris

16
@Mauris: Pierwotnie było to rozszerzenie C i C ++ dla 64-bitowych liczb całkowitych, które obsługiwało wielu dostawców. Następnie znormalizowane wsparcie dla C99 i C ++ 0x: en.wikipedia.org/wiki/Long_long
Juliano

Sprawia, że ​​myślę o wskaźnikach dalekich do bliskich, których używaliśmy w 16-bitowym lądzie. :)
Macke

1
Nadal działa idealnie dobrze. Po raz pierwszy umieściliśmy go w naszym kompilatorze w Convex około 25 lat temu, ponieważ DMR zasugerował, że taka powinna być nazwa naszych 64-bitowych int.
tchrist


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

201
Dawno temu przypadkowo naprawiłem awarię w Jav3D, dodając komentarz. Było w 100% powtarzalne; jeśli usunę komentarz, zawiesi się. Tak długo, jak komentarz był obecny, działał dobrze. Zakładam, że był to dziwny problem z timingiem, ale nigdy nie do końca zrozumiałem, co się dzieje.
DNS

54
Magic / More Magic
DevinB

16
To jest trochę jak wirus. Zawiera treści, które mają się chronić. To jest jak śmieciowe DNA, które dobrze się kopiuje.
Charlie Flowers

23
powinieneś porównać kod bajtowy wygenerowany przez 2 wersje
JoelFan

13
Pół dnia zajęło mi zorientowanie się, że zakończenie komentarza C \ (używanym do zaznaczenia kierunku, w którym zmierzamy w tablicy 2D) powoduje, że kompilator przeskakuje do następnego wiersza.
Tgr
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.