Какой лучший комментарий в исходном коде вы когда-либо встречали? [закрыто]


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 для Рикроллинга в комментариях, +.5 для total_hours. Круто
— Уэйн Вернер

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

4
total_hours_wasted_here = -32768, что мне делать? Я думаю, что-то сломано.
— Behrooz

8
Пожалуйста, прекратите «обновлять» счетчик. Не стоит снова ставить этот вопрос на первую полосу .
— Майкл Майерс

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

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

37
Буквально сделал LOL в сочетании ум и детски этого.
— Дэвид Коэль

2
класс MonkeyPoo extends Exception {}; ... бросить новый 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
Вейерштрасс Недифференцируемый?
— Питер Воне

4
@ Августо, у тебя есть источник для приписывания этой фразы Вейерштрассу? Я хотел бы знать, что он имел в виду.
— Кевин

1048
stop(); // Hammertime!

8
Мне это нравится. Да-да-да-да-да-да-да-да, все кончено (Дэвид Спейд, SNL, Обновление выходного дня)
— MrBoJangles

83
стоп(); // сотрудничай, слушай!
— Эрик Форбс


2
стоп(); // что это за звук?
— Ювал

2
стоп(); //! Во имя любви. Прежде чем разбить мое сердце.

1030

Это, кажется, мешает дебилам испортить мой код ...

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

7
Заставляет меня желать, чтобы SO поддерживал избранное на отдельных ответах
— AviD

3
@AviD Вы можете добавить в закладки stackoverflow.com/questions/184618/…
— alex

@alex, ну да, сейчас ... Во всяком случае, я имел в виду то же, что вы можете пометить вопрос как любимый ...
— AviD

@AviD Да, я знаю, просто предлагая обходной путь.
— Алекс

3
Я думаю, что они все равно испортят ваш код: он говорит, что все исправит сам, так почему бы не сломать его ради пинка?
— Матеин Улхак,

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
Это где-нибудь в исходном коде Duke Nukem Forever? ;)
— Adhip Gupta

1
Я не понимаю, что смешного?
— hasen

11
Он посвящает приведенный ниже код своей жене, хотя он знает, что это так плохо, что он либо уволит его, либо заставит его компанию выйти из бизнеса. :)
— Роберт П

390
Почему собака будет выпущена для публики?
— Носредна

1
@Nosredna, спасибо за такой забавный комментарий! @ hasen j, код был написан настолько плохо, что «программист», скорее всего, потеряет свою работу, и поэтому его жене придется содержать семью.
— 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;
        }
    }
}

Обновление: автор оригинального кода раскрыл себя, поэтому я должен отдать должное, где он должен. Дэн Маккинли покинул компанию, с которой я был, вскоре после того, как я начал, и он больше говорит о коде, объясняя некоторые предпосылки и еще несколько «WTF», которые написал «Ричард».


27
Это изобилует матом, но я буквально смеялся над своим кубом все время, читая его.
— Что будет

241
Цензура отстой. верни оригинал!
— кодер1

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
Нет ничего более постоянного, чем временное !!!
— Микроядро

727
// drunk, fix later

Жаль, что я шутил. И зная разработчика, который написал код, я думаю, что он имел в виду буквально.


258
Это смешно, кто пишет комментарии, когда они пьяны.
— Jiminy

66
@Jiminy: Серьезно! Когда я напиваю код, я просыпаюсь с великолепным кодом, который, к сожалению, не понимаю.
— ДжошДжордан

22
Оу ... Если вы не понимаете, он должен быть великолепен!
— Андерс Ханссон

14
ха - ха !!! Я сделал это просто для удовольствия: нашел мой локальный репозиторий Subversion для «пьяного» и нашел один комментарий коммита, который я бы не запомнил: «Снова работает, как-то. Ну ... я пьян!»
— ivan_ivanovich_ivanoff

14
ха-ха, ".. как-то BAC между 0,129% и 0,138% дает сверхчеловеческие возможности программирования ..." xkcd.com/323
— Alpha Codemonkey

719
// Magic. Do not touch.

20
Магия = хрупкая, возможно?
— MrBoJangles

44
Напоминает мне об этом: catb.org/esr/jargon/html/magic-story.html
— Саймон Ховард

5
Мне приходилось так много раз писать - в основном, чтобы напомнить себе: «Если вы коснетесь следующего кода, не зная, что делаете, произойдут плохие вещи!»
— Шалом Креймер

6
@ Симон Ховард, я бы не трогал его, если бы он сказал «Больше магии»
— DevinB

4
Я до сих пор помню, как преподавал CS в старшей школе, где на наши глупые вопросы отвечали «Волшебство!» и самая зловещая улыбка.
— nevets1219

701

#define TRUE FALSE //Happy debugging suckers


95
#define NULL (:: rand ()% 2) // было бы неплохо
— Виктор Сехр


66
@ Барт: Вы не можете иметь половину парена в своем коде, но вы могли бы сделать #define if(x) if(!(x))(или, что более зловеще #define if while),
— Крис Латс

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

6
#define struct unionочень полезно в системах с ограниченным объемом памяти.
— 2010 г.

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
Пффф, это всего лишь 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 - Чистый гений. Это должно пойти на футболку или что-то :-)
— Ладья

71
Доктор Сьюз пишет код? +1!
— Blorgbeard выходит

11
Нужны еще два слога в конце ...
— Майкл Майерс

88
Просто открыл комментарии, чтобы сказать, что ему нужно еще два слога, но, видимо, я избил себя на три месяца.
— Майкл Майерс

15
Я не согласен с необходимостью дополнительных слогов, метр идеально подходит как есть. Пять групп по три слога в каждой.
— KevDog

542

Это говорит о нашей профессии, и когда нас спрашивают о «лучшем комментарии», мы все отвечаем худшими комментариями, которые мы можем найти ...


67
Я полностью согласен с вашим комментарием, что комментарии нужны редко.
— Гарпо

16
Зависит от комментариев. Даже «самодокументированные» языки могут получить пользу от комментариев, таких как Python. Я ненавижу пробираться через код, чтобы понять, что происходит, когда простое предложение может сказать мне.
— кристаллическая

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

83
Код говорит, что ... комментарии говорят, почему!
— Ричард Эв

3
Я не мог согласиться с «Ричардом Э». Комментарии предназначены для того, чтобы рассказать о вашем будущем * (коллеги, рецензенты, вы сами), почему вы решили делать что-то злое вместо другого. Я не для того, чтобы засорять комментарии повсюду, но иногда они должны быть обязательными.
— Данита

525
long john; // silver

6
Чистая кукуруза. Вот почему мне это нравится.
— MrBoJangles

6
Полностью разбитый, а также. Я думаю, что мой код сейчас слишком скучный.
— Wonderchook


12
Может быть я, но это каждый раз меня расстраивает double d.
— Кевин

1
Черт, я думал о путях эфира en.wikipedia.org/wiki/Long_John_Silver , я голоден.
— Tek

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

11
Этот заставил меня смеяться как ментальный
— Таблетка

68
Я видел то же самое с // движением вперед, здесь нечего видеть.
— Ферруччо,

6
Я так сильно смеялся над этим.
— Франк

9
Должен признать, что я делал это не раз, потому что иногда это просто не имеет значения.
— NotMe

17
Вау, я все время пишу этот комментарий. Я никогда не думал об этом как о смешном, я думал, что это серьезное утверждение.
— Джей

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

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


85
Я всегда говорю своим коллегам. "Комментарии не работают !!"
— OscarRyz

15
Я полагаю, вы имели в виду, «никогда не полагайтесь на код». Я уверен, что для спецификации, дизайна и требований требуется код возврата или true :)
— 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
Напоминает мне парня, который поклялся, что может оптимизировать механический алгоритм доказательства теорем, который я написал несколько лет назад в проекте ИИ. Он улучшил производительность, но затем код не работал ... что он поклялся, что я виноват.
— Марк Бриттингем

Хм, разве я не видел это где-нибудь?
— Bzlm

6
@ Марк Он только сказал, что оптимизирует время, он ничего не сказал о функциональности = P
— DevinB

98
Если это не должно работать, я могу оптимизировать любой код до нулевого времени выполнения.
— Майкл Боргвардт

9
Вот для чего нужен контроль версий. Потратьте несколько часов, пытаясь его оптимизировать, а затем, если это не сработает, просто откатитесь назад.
— Кибби,

429
try {

} finally { // should never happen 

}

15
++. другие в моей компании пишут это все время!
— CVertex

17
Я видел этот комментарий (и даже написал его сам) в прошлом, для вещей, которые relalyt никогда не должны происходить (но на всякий случай, вот код для обработки ошибки). Самое смешное в том, что они помещены в окончательный блок, что означает, что это всегда должно происходить ...
— Трой Ховард

32
Да, это была шутка. =)
— Эрик Форбс

15
Если у вас есть вызов System.exit () в блоке try, тогда ДА, наконец-то никогда не должно произойти!
— Ромен Линсолас

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
Мне жаль этого программиста за то, что ему пришлось пережить такую ​​боль !!! Но потрясающий комментарий. Излил свое сердце.
— Микроядро

4
Эта строка: // PSD не мой любимый формат файла. делает это классикой.
— Joedevon

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

136
На сегодняшнем рынке 10 теперь имеет значение только 9.
— Стив Фэллоуз

13
Может быть, когда-нибудь у нас появятся новые пальцы ...
— Лорен Печтел

59
как насчет очень больших значений 10?
— Mikeage

184
const int TEN = 11; // Шахта уходит в одиннадцать
— даб

18
Вызов Fortran из C - Fortran выполняет только вызов по ссылке, поэтому вам нужны переменные для всех констант.
— Мартин Беккет

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

25
Это победа. Огромная победа ...
— Циклон

16
Хорошо, я собираюсь использовать это в следующий раз, когда мне нужно четыре пустых массива и два хэша!
— Джош

Urgh. Громкое "FAIL!" автору за то, что он не знает, использует ли он язык без формата или нет.
— TheBlastOne

Я сомневаюсь, что он не знал о языке без форматирования. Это хорошая шутка :-)
— Román

362

Примерно в середине страницы 30 xslt

<!-- Here be dragons  -->

8
Я все еще пытаюсь понять, как комментировать XSLT так, чтобы это имело смысл.
— rjzii

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

1
Первоначально я думал о en.wikipedia.org/wiki/21st_Century_Compilers
— chakrit

6
@annakata, ты думаешь, что это плохо, на днях кто-то просил помощи в работе с XML-файлом объемом 31 ГБ. Я закричал от боли.
— Дана Нормальный

1
Кто-то звонил мне?
— Troggy

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

(На самом деле я однажды снял все скобки, чтобы посмотреть, насколько это плохо, и без форматирования получил следующее:

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

Endif появился около линии 800)


180
код тура по Франции
— Андреас Петерссон

7
это достойно того, чтобы каждый день!
— Deadbug

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

Заставляет меня думать о дальних и ближних указателях, которые мы использовали в 16-битной земле. :)
— Macke

1
Это все еще прекрасно работает. Сначала мы поместили его в наш компилятор в Convex около 25 лет назад, потому что DMR предположил, что это должно быть названием для наших 64-битных целых.
— tchrist

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

26
Честно в комментарии!
— Митчел Селлерс

46
Я люблю честность.
— Джефф Шумахер

2
Первым шагом к улучшению является признание недостатка.
— Icelava

примите ваши ошибки, прежде чем другие преувеличивают их :)
— naveen

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

201
Давным-давно я случайно исправил ошибку в Java3D, добавив комментарий. Это было воспроизводимо на 100%; если я удалил комментарий, он потерпел крах. Пока комментарий был там, он работал нормально. Я предполагаю, что это была какая-то странная проблема времени, но я так и не понял, что именно происходит.
— DNS

54
Волшебство / Больше Волшебства
— DevinB

16
Это как вирус. Содержит контент, предназначенный для защиты самого себя. Это похоже на мусорную ДНК, которая хорошо копирует себя.
— Чарли Флауэрс

23
Вы должны сравнить байт-код, сгенерированный двумя версиями
— JoelFan

13
Мне потребовалось полдня, чтобы понять, что завершение комментария C \ (используется для обозначения того, в каком направлении мы движемся в 2D-массиве) заставляет компилятор пропустить следующую строку.
— Tgr
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.