Який найкращий коментар у вихідному коді, з яким ви коли-небудь стикалися? [зачинено]


360

Який найкращий коментар у вихідному коді, з яким ви коли-небудь стикалися?

Відповіді:


1462

Я особливо винен у цьому, вкладаючи в більшість моїх проектів неконструктивні коментарі, поетичні коди та маленькі жарти (хоча зазвичай у мене вистачає сенсу видалити що-небудь безпосередньо образливе, перш ніж випускати код). Ось один, якому я особливо захоплююсь, розміщений далеко, далеко вниз погано розробленим «об’єктом Бога»:

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

Я ЖОРУ !!!! Я просто не міг собі допомогти .....

І ще один, який, зізнаюся, насправді не випустив у дику природу, хоча я дуже спокусився це зробити в одному з моїх менш інтуїтивних занять:

// 
// 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
// Шановний програміст // // Ваш код працює повільніше, коли я виправив усі ваші помилки // // Але ваші оптимізації точно допомогли.
DevinB

2
+.5 для Rickrolling у коментарях, +.5 для total_hours. Awesome
Wayne Werner

3
Перший раз, коли я був справді RickRolled - і це було смішно. Коли я бачу посилання на YouTube, я завжди сподіваюся, що він буде RickRolled (верблюд обкладений англійською !!), але я ніколи ніколи не сподівався бути RickRolled у коментарях до коду.
Вінсент Макнабб

4
total_hours_wasted_here = -32768, що мені робити? я думаю, що щось зламано.
Бехроз

8
Будь ласка, припиніть "оновлювати" лічильник. Не варто стикатися з цим питанням на головній сторінці ще раз .
Майкл Майерс

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

5
Я читав усі коментарі зверху вниз, цікавлячись, що люди мають на увазі, коли вони говорять про «треснувший, читаючи цей» або «тріснутий, читаючи цей». Добре. Я просто зламався, читаючи цей ...
Дарен Томас,

37
Буквально зробив LOL в поєднанні розумності та дитячості цього.
Девід Коелл

2
клас MonkeyPoo розширює виняток {}; ... кинути новий MonkeyPoo (); // тому, що кинути так набагато веселіше, ніж виняток
Адам Розенфілд,

2
Я починаю використовувати замість колишнього XD
Ammar,

23
Коли я прокидаюся від по-справжньому глибокого сну, IQ падає приблизно до 25, а мій розум іде вкрай дивні місця. Одного разу, після тривалого розмови про написання Java, я прокинувся посеред ночі, відчуваючи себе цілком хворим, і попрямував до ванної. Коли я блював у туалет, єдине, про що я міг подумати, - "мені цікаво, який виняток я зараз кидаю ..."
Френк Фермер

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

175
Це фраза Карла Вейєрстрасса, математика, який дав нам чудове визначення епсилону та дельти безперервності.
Едвін Джарвіс

3
Weierstrass Недиференційований?
Пітер Вун

4
@Augusto, чи є у вас джерело для віднесення цієї фрази до Weierstrass? Я хотів би знати, на що він мав на увазі.
Кевін

1048
stop(); // Hammertime!

8
Мені це подобається. Da da da DA, da DA, da DA, закінчилося (David Spade, SNL, оновлення у вихідні дні)
MrBoJangles

83
Стоп(); // співпрацювати, слухати!
Ерік Форбс


2
Стоп(); // що це за звук?
Ювал

2
Стоп(); //! В ім’я любові. Перед тим, як розбити моє серце.

1030

Це, здається, не зупиняє дебілів зіпсувати мій код ...

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


3
@AviD Ви можете помітити stackoverflow.com/questions/184618 / ...
AleX

@alex, ну так, зараз ... У будь-якому випадку, я мав на увазі те саме, що ви можете позначити питання як улюблене ...
AviD

@AviD Так, я знаю, просто пропоную рішення.
alex

3
Я думаю, що вони все одно зіпсують ваш код: він говорить, що він виправить себе, то чому б не порушити його на ноги?
Mateen Ulhaq

946
// sometimes I believe compiler ignores all my comments

26
Я сподіваюся, що упорядник ігнорує коментарі цієї людини.
Програміст Windows

86
// Оскільки я ніколи не чув від компілятора, я вважаю, що це правда.
Лівен

40
Я думаю, що це має бути іронічно ...
Ніл Барнвелл

52
сміх , таке майбутнє, укладачі, читаючи коментарі, щоб переконатися, що вони не зрозуміли неправильно ;-D
sharkin

4
// # reply_from_compiler вам подобається clippy, чи не так?
Карл

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
Це десь у вихідному коді герцога Нукема назавжди? ;)
Adhip Gupta

1
Я не розумію, що так смішно?
hasen

11
Він присвячує код нижче своїй дружині, хоча він знає, що це так погано, що це може звільнити його або змусити його компанію припинити свою діяльність. :)
Роберт П

390
Чому собаку випустять на публіку?
Nosredna

1
@Nosredna, дякую за такий кумедний коментар! @hasen j, код написаний настільки погано, що "програміст", швидше за все, втратить роботу, а тому дружині доведеться підтримувати сім'ю.
Джамол

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

Оновлення: Оригінальний автор коду зробив сам право, тому я повинен дати кредит там, де належить. Ден Мак-Кінлі покинув компанію, з якою я був, незабаром після того, як я почав працювати, і він більше розповідає про код, пояснюючи деякі передумови та ще кілька "WTF", які написав "Річард".


27
Це пронизано непристойностями, але я буквально сміявся в кубі весь час, читаючи його.
Вілла, що

241
цензура відстій. поверніть оригінал!
coder1

58
Відкотився назад. Всі ми тут дорослі. Якби оригінальний код був "дезінфікований", ви б ніколи не запам'ятали його достатньо, щоб розмістити його тут.
JosephStyons

56
Буде ще смішніше, якщо клієнт побачить назву класу в сліді стека.
finnw

5
МОЛЯТЬСЯ НЕ ПОВЕРНУТИСЯ НА ВЕРСІЮ NSFW - автор явно прийняв версію SFW у редакції 3 та 6.
Адам Девіс,

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

79
Ах, хороші постійні тимчасові рішення :)
Майкл Стум

17
Немає нічого такого постійного, як тимчасового !!!
Microkernel

727
// drunk, fix later

Бажаю, я жартував. І знаючи розробника, який написав код, я думаю, що він мав на увазі це буквально.


258
Це смішно, хто пише коментарі, коли вони п'яні.
Джиміні

66
@ Jiminy: Серйозно! Коли я кодую п'яним, я прокидаюся з чудовим кодом, який я, на жаль, не розумію.
JoshJordan

22
Оу ... Якщо ви не розумієте, він повинен бути чудовий!
Андерс Хансон

14
ха-ха !!! Я зробив це просто заради розваги: ​​схопив місцевий репо-підривник на "п'яний", і знайшов один коментар, який я не пам’ятаю: "Знов працює, якось. Ну ... я п'яний!"
ivan_ivanovich_ivanoff

14
ха-ха, "як-небудь BAC між 0,129% і 0,138% надає можливість надлюдського програмування ..." xkcd.com/323
Альфа Кодемонкей

719
// Magic. Do not touch.

20
Магія = тендітна, можливо?
MrBoJangles


5
Мені довелося це писати стільки разів - переважно, щоб нагадати собі, що "Якщо ти торкнешся наступного коду, не знаючи, що ти робиш, погані речі трапляться!"
Шалом Креймер

6
@Simon Howard, я б не торкнувся цього, якби він сказав "Більше магії"
DevinB

4
Я все ще пам’ятаю, як викладали CS у середній школі, де на наші дурні питання відповідали «Чарівність!» і найбільш зловісна посмішка.
nevets1219

701

#define TRUE FALSE //Happy debugging suckers


95
#define NULL (:: rand ()% 2) // було б дуже приємно також
Viktor Sehr

33
#define if (якщо (!
Барт ван Хекелом

66
@Bart: У вас не може бути половини паронів у вашому коді, але ви могли б зробити це #define if(x) if(!(x))(або, що більш зловісно, #define if while)
Кріс Лутц,

8
З огляду на це, насправді це справді спрацює: символи коментування до кінця рядка переконайтеся, що ймовірні рядки, де цей макрос використовується, не збираються. Наприклад: a = TRUE;переводить, a = FALSE // Happy debugging suckers;що призведе до помилки компіляції, оскільки закінчення ;тепер у коментарях. Якщо ви використовуєте коментар блоку, /* Eat this */він буде працювати.
rix0rrr

6
#define struct unionдуже допомагає в системах з обмеженою пам'яттю.
msw

640
// I'm sorry.

179
(Наступний код змусив мене заплакати.)
Грег Д

20
чоловіче, я хочу побачити код, який слідував за цим ...
Ерік Форбс

33
// Вам прощено. Іди з миром сину мій.
Марк Аллен

52
Це має бути стандартним коментарем у шаблонах за замовчуванням, згенерованих MSFT
Alexandre Brisebois

1
насправді, який код, який слід за цим ???
чакрит

636
return 1; # returns 1

32
Класичний! Але мені це подобається ще краще: "i ++; // збільшити i на 1"
steffenj

71
Хто знає, чи він #DEFINE 1 як щось інше ...
icelava

13
Я хочу, щоб такі коментарі були мені незнайомі.
Дрю Дорманн

6
Я бачив це багато. Я знаю багато кодерів, які замовчують свої функції коментарями, а потім заповнюють код нижче / біля кожного коментаря. Писати великі ділові функції дуже просто, але часом ви отримуєте досить детальні коментарі.
Звуковий сигнал

88
# повертає один що? Будьте більш конкретні.
Озан

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

Слідом за чотирма вкладеними петлями


33
pfft, це лише N ^ 4, швидше за все, не там, де близько так погано, як 4 ^ N або N!
tloach

14
Я одного разу потрапив у ситуацію з петлями, вкладеними 8 глибинами. Час виконання вимірювались годинами.
Лорен Печтел

8
У мене був алгоритм O (n) з мережевою RTT в 500 мс у його внутрішньому циклі. n> 100k. Ой.
geofftnz

6
Є викупна якість: вони знають, що таке велика терміналогія O принаймні. Сподіваємось, кожен цикл працює над дуже маленьким N :-D
Джон Смок

27
Я працюю з кимось, хто сказав би: "О (MFG), будь ласка"
Джейсон Орендорф

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

34
+1 - Чистий геній. Це має бути на футболці чи що-небудь :-)
Rook

71
Доктор Сеусс пише код? +1!
Blorgbeard вийшов

11
Потрібні ще два склади наприкінці ...
Майкл Майєрс

88
Щойно відкрив коментарі, щоб сказати, що їй потрібні ще два склади, але, мабуть, я бив себе на три місяці.
Майкл Майєрс

15
Я не згоден з необхідністю додаткових складів, лічильник ідеальний, як є. П’ять груп по три склади кожен.
KevDog

542

Це багато говорить про нашу професію, що на запитання про "найкращий коментар" ми всі відповідаємо на найгірші коментарі, які ми можемо знайти ...


67
Я повністю згоден з вашим коментарем, що коментарі рідко потрібні.
гарпо

16
Залежить від коментарів. Навіть мови "самодокументації" можуть скористатися коментарями, наприклад, Python. Я ненавиджу те, щоб проговорити код, щоб зрозуміти, що відбувається, коли просте речення може мені сказати.
crystalattice

32
Я не погоджуюсь з тим, що коментарі непотрібні. Бувають випадки, коли простий коментар "обрамлення" може мати сенс цілого коду. Наприклад, якщо ви використовуєте складний алгоритм, щоб уникнути складності часу алгоритму грубої сили, посилання може бути суттєвим.
Марк Бріттінгем

83
Код говорить що ... коментарі говорять чому!
Річард Єв

3
Я не міг більше погодитися з "Річардом Е". Коментарі призначені для того, щоб розповісти вашому майбутньому * (колегам, рецензентам, ви самі), чому ви вирішили робити речі злим способом замість іншого. Я не за всілякі коментарі, але іноді вони повинні бути обов'язковими.
Даніта

525
long john; // silver

6
Чиста кукурудза. Ось чому мені це подобається.
MrBoJangles

6
Повністю зламали також. Я думаю, що мій код зараз занадто нудний.
wonderchook


12
Ви можете бути мені, але це розриває мене щоразу double d.
Кевін

1
Блін, я думав про ефірний шлях ефіру en.wikipedia.org/wiki/Long_John_Silver , я голодний.
Тек

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

11
Цей мене змусив сміятися як менталіст
Планшет

68
Я бачив те саме, що // рухався, тут нічого не бачити.
Ферруччо

6
Я так сильно сміявся з цього.
Франк

9
Треба визнати, що я робив це не раз, тому що іноді це просто не має значення.
NotMe

17
Ого, я пишу цей коментар весь час. Я ніколи не вважав це смішним, я вважав це серйозною заявою.
Джей

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

Ніколи не покладайтеся на коментар ...


85
Я завжди кажу своїм колегам. "Коментарі не запускаються !!"
ОскарРиз

15
Я вважаю, ви мали на увазі "ніколи не покладайтеся на код". Я впевнений, що специфікація, дизайн та вимоги вимагають повернення коду чи справжнього :)
gbjbaanb

схоже на те, що ви побачили в технічному виданні failblog.org
BobC

5
Такі речі насправді трапляються, люди не переймаються оновленням документації щодо змін, навіть якщо вона знаходиться безпосередньо над функцією.
Хенк

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
Нагадує мені про колегу, який поклявся, що він може оптимізувати алгоритм, що підтверджує механічну теорему, про який я писав роки тому в проекті AI. Він покращив продуктивність, але тоді код не спрацював ... що я поклявся, що я винен.
Марк Бріттінгем

Хм, хіба я цього десь не бачив?
bzlm

6
@ Марк Він сказав лише, що оптимізує час, він нічого не сказав про функціональність = P
DevinB

98
Якщо він не повинен працювати, я можу оптимізувати будь-який код до нульового часу виконання.
Майкл Боргвардт

9
Ось для чого призначений контроль джерела. Витратьте кілька годин, намагаючись оптимізувати її, а потім, якщо це не виходить, просто відкатуйтеся.
Kibbee

429
try {

} finally { // should never happen 

}

15
++. інші в моїй компанії пишуть це постійно!
CVertex

17
Я бачив цей коментар (і навіть сам його писав) у минулому, тому що речі, які відносяться, ніколи не повинні відбуватися (але про всяк випадок, ось код для усунення помилки). Найсмішніша частина полягає в тому, що ти поміщений в остаточний блок, а це означає, що це завжди має відбуватися ...
Трой Говард

32
Так, це був жарт. =)
Ерік Форбс

15
Якщо у випробувальному блоці є виклик System.exit (), ТАК ТАК, нарешті, цього ніколи не повинно статися!
Ромен Лінсолас

6
Причина № 984 використовувати Debug.Assert (). ;)
Скотт Гензельман

411

Від: 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
Рядок одразу після цього та його коментар справді перевершує торт. Здоров'я? Яка розумність? Формат з’їв це все ...
Кім Різ

66
s / PSD / Internet Explorer / g. s / формат файлу / веб-браузер / g. Тепер це відповідає моїм думкам.
TJ L

10
Мені шкода цього програміста за те, що треба пережити такий біль !!! Але дивовижний коментар. Вилило його серце.
Microkernel

4
Цей рядок: // PSD - це не мій улюблений формат файлу. робить це класикою.
joedevon

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

136
На сучасному ринку 10 зараз має значення лише 9.
Стів Фаллоуз

13
Можливо, коли-небудь ми
розвинемо

59
як щодо дуже великих значень 10?
Пробіг

184
const int TEN = 11; // Моя іде в одинадцять
дуб

18
Виклик Fortran з C - Fortran виконує лише поклик за посиланням, тому вам потрібні змінні для всіх констант.
Мартін Бекетт

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

25
Це виграш. Величезна перемога ...
Циклон

16
Гаразд я буду використовувати це наступного разу, коли мені потрібно чотири порожніх масиви та два хеші!
Джош

Урх. Гучне "НЕПРАВНО!" автору за те, що він не знає, використовує він мову без формату чи ні.
TheBlastOne

Я сумніваюся, що він не знав про мову без формату. Це приємний жарт :-)
Роман

362

Приблизно в середині 30 сторінок xslt

<!-- Here be dragons  -->

8
Я все ще намагаюся розібратися, як коментувати XSLT способом, який має сенс.
rjzii

78
Нам дійсно потрібно більше драконів у нашому коді.
Джон Смок

1
Спочатку я думав про en.wikipedia.org/wiki/21st_Century_Compilers
chakrit

6
@annakata ви думаєте, що це погано, днями хтось попросив допомоги щодо вирішення файлів xml-файлу розміром 31 Гб. - я крикнув у тузі.
Дана Сане

1
Хтось подзвонив мені?
Трогі

353

у повністю некомментованому методі 2000 ліній

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

(Я насправді одного дня вихопив усі дужки, щоб побачити, як це було погано, і, без форматування, отримав це:

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

Ендіф виявився біля лінії 800)


180
код тур-де-франс
Андреас Петерссон

7
це гідно thedailyworsethanfailure.com!
мертвий клоп

67
Схоже, Лісп!
ендіан

8
Цей коментар, ймовірно, існує, щоб виправити помилку компілятора. : |
Роб Говард

49
Рівень цикломатичної складності OH SHIIIIIIIII

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

1
це насправді працює? якою мовою?
mauris

16
@Mauris: Спочатку це було розширення C та C ++ для 64-бітних цілих чисел, яке підтримували багато постачальників. Тоді C99 та C ++ 0x стандартизували його підтримку: en.wikipedia.org/wiki/Long_long
Джуліано,

Змушує мене думати про далекі проти близьких покажчиків, які ми використовували в 16-бітовій землі. :)
Макке

1
Це все ще працює чудово. Ми вперше помістили його в наш компілятор у Convex близько 25 років тому, тому що DMR запропонував, що саме це повинно бути назвою для наших 64 біт-бітів.
tchrist


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

201
Давним-давно я випадково виправив segfault у Java3D, додавши коментар. Це було 100% відтворюваним; якщо я видалив коментар, він вийшов з ладу. Поки коментар був там, він працював чудово. Я припускаю, що це був якийсь химерний момент часу, але я ніколи не з'ясовував, що саме відбувається.
DNS

54
Magic / More Magic
DevinB

16
Це на зразок вірусу. Він містить вміст, призначений захистити себе. Це як ДНК-сміття, яке добре копіюється.
Charlie Flowers

23
вам слід порівняти байт-код, згенерований двома версіями
JoelFan

13
Один раз мені знадобилося півдня, щоб зрозуміти, що закінчення коментаря C \ (використовується для позначення напрямку, в якому ми рухаємось у двовимірному масиві) змушує компілятор пропустити наступний рядок.
Тгр
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.