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


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.