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

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


person Community    schedule 08.10.2008    source источник


Ответы (395)


Я особенно виноват в этом, встраивая неконструктивные комментарии, поэзию кода и небольшие шутки в большинство своих проектов (хотя обычно у меня достаточно здравого смысла, чтобы удалить что-либо прямо оскорбительное перед выпуском кода). Вот один, который мне особенно нравится, расположенный далеко-далеко от плохо спроектированного «Божественного объекта»:

/**
* 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
// 
person Community    schedule 27.01.2009
comment
// Уважаемый программист // // Ваш код теперь работает медленнее, когда я исправил все ошибки, // которые вы ввели. // Но ваша оптимизация действительно помогла. - person DevinB; 06.03.2009
comment
Хотя правда {total_hours_wasted_here + = 1} - person Tola; 20.04.2009
comment
total_hours_wasted_here спас меня много дней. - person Behrooz; 15.03.2010
comment
+.5 за Rickrolling в комментариях, +.5 за total_hours. Потрясающий - person Wayne Werner; 02.06.2010
comment
Впервые я был по-настоящему RickRolled - и это было забавно. Когда я вижу ссылки на YouTube, я всегда ожидаю, что буду RickRolled (английский в верблюжьей оболочке !!), но никогда не ожидал, что буду RickRolled в комментариях к коду. - person Vincent McNabb; 28.07.2010
comment
total_hours_wasted_here = -32768, что мне делать? я думаю что-то сломалось. - person Behrooz; 13.09.2010
comment
Лучшее, что я встречал, было 2001: 250 x // Это необходимо, иначе Netscape вставит несколько переносов строки, честно !! - person Steve K; 18.09.2010
comment
Пожалуйста, прекратите обновлять счетчик. Не стоит снова наталкивать этот вопрос на первую страницу еще раз. - person Michael Myers; 24.09.2010
comment
не следует ли на самом деле раскомментировать счетчик? - person Victor Jalencas; 27.09.2010
comment
Я хотел бы увидеть код под этим counter :-) Я был бы вынужден попытаться оптимизировать его, а затем - в конце концов - я бы увеличил этот чертов счетчик ... - person Breaking not so bad; 30.09.2010

Кажется, это мешает идиотам испортить мой код ...

// Autogenerated, do not edit. All changes will be undone.
person Community    schedule 11.04.2009
comment
Заставляет меня пожелать ТАК поддерживаемых избранных по отдельным ответам - person AviD; 27.04.2009
comment
@AviD Вы можете добавить закладку на stackoverflow.com/questions/184618/ - person alex; 14.04.2010
comment
@alex, ну да, сейчас ... В общем, я имел в виду то же самое, что и вы можете пометить вопрос как избранный ... - person AviD; 14.04.2010
comment
@AviD Да, я знаю, просто предлагаю обходной путь. - person alex; 14.04.2010
comment
Я думаю, они все равно испортят ваш код: он говорит, что исправится сам, так почему бы не сломать его для пинки? - person Mateen Ulhaq; 01.07.2011

//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», которые написал «Ричард».

person Community    schedule 08.10.2008
comment
Это изобилует непристойностями, но я буквально смеялся в своем кубе все время, пока читал его. - person willasaywhat; 09.10.2008
comment
Я сделал его безопасным для работы. Надеюсь, никто не возражает :) - person Mark Biek; 09.10.2008
comment
Я не уверен, что это было необходимо, но я добавил комментарий, чтобы убедиться, что это изначальная слава понятна. - person Tom Ritter; 09.10.2008
comment
цензура - отстой. вернуть оригинал! - person coder1; 09.10.2008
comment
@ Дана, я согласен, в оригинале было больше энергии. Если бы его отменили, он стал бы оскорбительным до смерти :( - person Blorgbeard; 09.10.2008
comment
Откат. Мы все здесь взрослые. Если бы исходный код был очищен, вы бы никогда не запомнили его настолько, чтобы опубликовать здесь. - person JosephStyons; 09.10.2008
comment
Я подчиняюсь воле народа :) Этот код невероятно крутой. - person Mark Biek; 09.10.2008
comment
На самом деле, я рад, что не работаю с парнем, который написал этот код. Забавно, но не так, как я бы хотел, чтобы мои коллеги поступали со мной. - person KevDog; 09.10.2008
comment
// Код дезинфицирован для защиты от глупцов. - почему этот комментарий все еще там? Это было пропущено в реверсии? Или это было в оригинале? Или, если это было в оригинале, был ли этот комментарий на самом деле ответом на вопрос автора ??? - person Windows programmer; 10.10.2008
comment
Будет еще смешнее, если заказчик увидит имя класса в трассировке стека. - person finnw; 10.10.2008
comment
@ Дана: Цензура - это инструмент. Это отстой в неправильном контексте, полезно в правильном. На этом сайте было бы неплохо подвергнуть такие вещи цензуре. Для таких вещей существует открытый рынок, называемый Интернетом. Утверждения о том, что всякая цензура - это плохо, просто глупы и некритичны. - person MrBoJangles; 11.10.2008
comment
И я мог бы добавить, что человек может потерять работу из-за чего-то вроде этого. Этот человек будет спрашивать себя, стоит ли оно того в течение очень долгого времени, ценит ли он свою работу вообще. - person MrBoJangles; 11.10.2008
comment
Чтобы уточнить мое первое заявление о двух комментариях назад, поскольку я знаю, что это заставит некоторых людей подергиваться в коленях, я бы посмотрел на это так: государственная цензура, как правило, плохо, тогда как что-то вроде интернет-фильтра, чтобы ваши дети не видели плохого, хорошего. - person MrBoJangles; 11.10.2008
comment
// Код дезинфицирован для защиты от глупцов. есть потому, что я вынул настоящее имя парня и заменил его на Ричард. - person Tom Ritter; 12.10.2008
comment
Хотя меня не волнует цензура, я считаю целесообразным проявлять осторожность в отношении языка. Я считаю, что на таком сайте, как SO, язык, который я бы опубликовал, должен быть на том же уровне, что и язык, который я бы использовал при разговоре с моим начальником или его начальником. - person Brett McCann; 13.10.2008
comment
Достаточно людей сочли версию "NSFW" действительно оскорбительной, поэтому я решил использовать SFW-it. Я знаю, что это вики, но, надеюсь, это не разожжет войну редактирования. - person Tom Ritter; 13.10.2008
comment
// Код дезинфицирован для защиты от глупцов. там, потому что я вынул настоящее имя парня - О, значит, вы его подвергли цензуре! - person Windows programmer; 14.10.2008
comment
Хорошо сказано, Бретт Макканн, лучше не то, что мне потребовалось 3 комментария. Может ли кто-нибудь продолжить и убрать это? - person MrBoJangles; 25.10.2008
comment
Мне нравятся аспекты самодокументирования этого кода, такие как класс RichardIsAFuckingIdiotControl и метод BindDataBecauseRichardIsDumb () - person jrcs3; 27.01.2009
comment
Это самая лучшая вещь, которую я когда-либо видел на этом сайте. Я безудержно смеялся на работе ... - person alexwood; 07.02.2009
comment
Я надеюсь, что Ричард был вовлечен в шутку, или это было в хорошем настроении ... это забавно, но также очень подло! могу только представить себя младшим разработчиком и иметь такой план кода было бы нехорошо :) - person RYFN; 05.03.2009
comment
Это было бы не только неприятно, но и совершенно неправильно в любой реальной команде, о которой я могу думать. Проверки кода в первую очередь блокируют идиотский код, и они блокируют любые оскорбления и ненормативную лексику в обходном пути, даже если первое невозможно. - person Daniel Daranas; 05.03.2009
comment
Редактирование с целью изменения содержания - это злоупотребление привилегиями, ИМО. Отметьте как оскорбление или просто проигнорируйте это. - person Adam Lassek; 16.04.2009
comment
Kind выводит самодокументированный код на новый уровень. - person kyle; 17.04.2009
comment
Комментарий о банданах и солнцезащитных очках-авиаторах, наверное, моя любимая часть этой статьи. Хотя я думаю, что видел это на Daily WTF. - person Rob; 19.04.2009
comment
@Rob Насколько мне известно, код не был отправлен в Daily WTF. Однако нам нравятся статьи, поэтому первоначальный автор мог быть вдохновлен ими. - person Tom Ritter; 19.04.2009
comment
Откат к исходной версии, принятой автором. Если вы откатите ее до версии NSFW, имейте в виду, что это НЕ то, что сделал автор (см. Его версию 3 и версию 6, если вы не уверены, что он действительно хотел). Если вы считаете, что пожелания первоначального автора не важны, прочтите blog.stackoverflow.com/2009 / 04 / in-defense-of-редактирования - в случае, если исходный постер не желает принимать правки и активно отклоняет их - пожалуйста, не форсируйте проблему. - person Adam Davis; 23.04.2009
comment
ПОЖАЛУЙСТА, НЕ ОТКАТЫВАЙТЕСЬ К ВЕРСИИ NSFW - автор явно принял версию SFW с ревизиями 3 и 6. - person Adam Davis; 23.04.2009
comment
Боже, это много споров. Поскольку исходный плакат позволил мне кое-что прояснить: он был отредактирован SFW редактором в Rev 2. Я не согласился с этим, но оставил это в покое, добавив отказ от ответственности в Rev 3, в котором говорилось, что это было SFW-ed. Он был возвращен к NSFW, а в Rev 6 -I- SFW его вернули, потому что в то время он находился под угрозой быть удаленным из-за того, что он был оскорбительным. Я бы предпочел версию NSFW, потому что я думаю, что это лучшее сохранение укуса ОРИГИНАЛЬНОГО автора (написавшего код). - person Tom Ritter; 23.04.2009
comment
Я оставляю NSFW / SFW на усмотрение модераторов. Это крайний случай случайного проклятия. Разрешены ли случайные проклятия? Если это так, я думаю, это действительно выходит за рамки допустимого. Если это не так, то SFW это. - person Tom Ritter; 23.04.2009
comment
Главный вопрос для меня в этом случае: настолько ли важна оригинальная ругань, что стоит отключить слишком строгие рабочие и школьные фильтры и заблокировать сайт для некоторых пользователей? Если важно сохранить оригинал и, возможно, попасть в некоторые черные списки сайтов (особенно для начальных школ и библиотек), тогда продолжайте, но если общий смысл этого можно сохранить с помощью фальшивых нецензурных слов, то почему бы и нет? - person Adam Davis; 23.04.2009
comment
Кроме того, это Оскорбительно для некоторых людей, независимо от ваших личных взглядов, и со временем будет отмечаться как таковое. Вы можете спорить сколько угодно, но, в конце концов, некоторые люди считают этот язык нежелательным. Возможно, тег NSFW смягчит это - по крайней мере, вначале они должны знать, что могут найти лично нежелательный материал, но это не помешает всем им проголосовать соответствующим образом. - person Adam Davis; 23.04.2009
comment
Я был против цензуры до того, как пост был удален, но я вернулся к версии SFW, чтобы снова предотвратить удаление. - person mmx; 23.04.2009
comment
Боже, народ, поговорите о войнах редактирования. Если вы не хотите, чтобы в ваш браузер загружалась ненормативная лексика и т. Д., Не заходите в Интернет. Это серьезная заявка и содержит настоящий человеческий язык. Кроме того, прекратите смотреть PBS. Что это, 1850 год? - person tsilb; 24.04.2009
comment
Если вы настаиваете на цензуре (что я безоговорочно ненавижу), по крайней мере, подвергните цензуре забавную замену - я голосую за fsck. Я, конечно, имею в виду дисковую утилиту. - person ojrac; 24.04.2009
comment
В нем нет такой грубой силы, как у оригинала. Мне очень нравится «Нед Фландерсистский Фанат», очень вкусный, соседи. Если нам нужно его очистить, пусть Нэд будет нашим проводником. - person jrcs3; 25.04.2009
comment
Журнал ревизий даже забавнее, чем сам пост. - person VVS; 29.04.2009
comment
Этот код больше не компилируется. - person Joseph; 30.04.2009
comment
partialclips.com/pclipslite.php?id=1506 - person Blorgbeard; 02.05.2009

// drunk, fix later

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

person Community    schedule 08.10.2008
comment
Это смешно, кто пишет комментарии в нетрезвом виде. - person Jiminy; 16.03.2009
comment
@Jiminy: Серьезно! Когда я пишу пьяный, я просыпаюсь с великолепным кодом, который, к сожалению, не понимаю. - person JoshJordan; 31.03.2009
comment
Насколько это может быть великолепно, если вы этого не понимаете? - person AaronLS; 03.04.2009
comment
Ох ... Если вы этого не понимаете, он должен быть великолепным! - person Anders Hansson; 06.04.2009
comment
ха-ха !!! Я сделал это просто для удовольствия: в моем локальном репозитории Subversion нашел слово «пьяный» и нашел один комментарий коммита, который я не запомнил: снова работает, как-то. Ну ... я пьян! - person ivan_ivanovich_ivanoff; 15.04.2009
comment
Джимини: Я не только соизволил писать комментарии, когда я пьян, но я даже был известен тем, что писал (ахнул) юнит-тест или два, когда я весел. - person Rob; 19.04.2009
comment
Я не кодирую пьяный, но я наверняка избавился от похмелья. // похмелье, потом уход - person johnc; 20.04.2009
comment
Я написал основной установщик, когда он полностью поджарился. Это сработало отлично. - person Antony Carthy; 02.06.2009
comment
Написание кода в пьяном виде - это нормально. Фиксация недопустима. - person JCasso; 08.12.2009
comment
ха-ха, ... каким-то образом B.A.C. между 0,129% и 0,138% дает сверхчеловеческие способности программирования ... xkcd.com/323 - person Alpha Codemonkey; 10.01.2010
comment
@ mr.moses Также обратите внимание, что он находится на (или около) 0,1337 - person alex; 14.04.2010

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

за которыми следуют четыре вложенных цикла for

person Community    schedule 09.10.2008
comment
пффт, скорее всего, это всего лишь N ^ 4, и даже близко не так плохо, как 4 ^ N или N! - person tloach; 09.10.2008
comment
Однажды я столкнулся с ситуацией, когда петли были вложены в восьмерку. Время работы измерялось часами. - person Loren Pechtel; 19.10.2008
comment
У меня был алгоритм O (n) с сетевым RTT 500 мс во внутреннем цикле. п ›100к. Ой. - person geofftnz; 13.02.2009
comment
Есть одно искупительное качество: они, по крайней мере, знают, что такое большая терминология «О». Надеюсь, каждый цикл проходит по очень маленькому N :-D. - person Jon Smock; 04.04.2009
comment
Да - я почти уверен, что N всегда был очень маленьким. По крайней мере, код в циклах был ясен, так что я мог его разобрать и двигаться дальше. Если бы он был оптимизирован, этого могло бы не быть. - person Draemon; 07.04.2009
comment
@geofftnz: то же самое, за исключением замены RTT до 2 с. п ~ = 26М. О, и это мой текущий проект. Требуется время, чтобы бежать ... - person Michael Petrotta; 10.04.2009
comment
Я работаю с кем-то, кто сказал бы: О (MFG), пожалуйста - person Jason Orendorff; 19.11.2009
comment
Вы ждете, пока не наткнетесь на что-то, что называется EXP²SPACE. Это действительно О (страшно) ... - person Donal Fellows; 22.06.2010
comment
tloach: не обязательно. Если есть рекурсия или повторная попытка какого-либо кода (что может быть выполнено на некоторых языках), это может быть хуже, чем N ^ 4. - person pupeno; 25.07.2011

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

person Community    schedule 08.10.2008
comment
Полностью согласен. Комментарии нужны редко. - person thvo; 10.10.2008
comment
Полностью согласен с вашим комментарием, что комментарии нужны редко. - person harpo; 17.10.2008
comment
Зависит от комментариев. Комментарии могут быть полезны даже в самодокументированных языках, например в Python. Я ненавижу копаться в коде, чтобы понять, что происходит, когда простое предложение может сказать мне об этом. - person crystalattice; 18.10.2008
comment
Я не согласен с тем, что в комментариях нет необходимости. Бывают случаи, когда простой обрамляющий комментарий может объяснить весь массив кода. Например, если вы используете сложный алгоритм, чтобы избежать временной сложности алгоритма грубой силы, ссылка может оказаться необходимой. - person Mark Brittingham; 15.12.2008
comment
Код говорит, что ... в комментариях сказано, почему! - person Richard Ev; 19.12.2008
comment
Например, // Использование сложного алгоритма, потому что мы обнаружили, что методы грубой силы занимают слишком много времени. Таким образом, когда следующий программист приходит позже и не знает, как поддерживать сложный алгоритм, он не совершает ошибки, пытаясь переключиться на метод грубой силы. - person Bryan Anderson; 23.12.2008
comment
ПО МОЕМУ МНЕНИЮ. Хороший рамочный комментарий может быть полезным, но не особо запоминающимся как лучший комментарий. Если комментарий достаточно информативен, чтобы его можно было запомнить, значит, код слишком сложен. Единственные запоминающиеся комментарии - это плохие, забавные или хорошие объяснения плохого кода. - person MarkJ; 03.03.2009
comment
Я не могу больше согласиться с Ричардом Э. Комментарии предназначены для того, чтобы рассказать вашему будущему * (коллегам, рецензентам, вам самому), почему вы решили поступать так нечестиво, а не иначе. Я не за то, чтобы комментировать повсюду, но иногда они должны быть обязательными. - person Danita; 26.03.2009
comment
Код всегда может сказать только что вы делаете, но никогда почему. - person Daren Thomas; 20.04.2009
comment
Возможно, будет справедливо сказать, что большинство комментариев не требуется, но бывают случаи, когда причины следует объяснять с помощью комментариев. - person Rory Becker; 24.04.2009
comment
Я не знаю, что это вообще плохие комментарии. В целом они кажутся отличными комментариями о плохом коде. Разве не важно знать, что оптимизация этой рутины была опробована и потрачены впустую, прежде чем вы начнете? Можете ли вы предложить лучший комментарий? - person Bill K; 12.05.2009
comment
Также следует учитывать практику добавления комментариев перед кодом и построения вокруг вашего намерения. Таким образом, сначала введите код sudo и убедитесь, что вы поняли идеи. Аминь Ричард - person baash05; 03.12.2009
comment
это также может быть потому, что эти комментарии вне контекста выглядят потрясающе. Действительно полезный комментарий был бы хорош в контексте, но может быть бессмысленным вне контекста. - person Ziggy; 31.01.2010
comment
Код становится корявым, если он должен объяснять и как, и почему. - person Thorbjørn Ravn Andersen; 14.05.2010
comment
@Richard Ev Аггри от всего сердца! - person Alexandra; 28.03.2011
comment
@rlerallut, вы только прокомментировали вопрос, но забыли на самом деле ответить на него. (Мета-ответ - это комментарий к вопросу?) - person Thorbjørn Ravn Andersen; 16.04.2011
comment
Вы предполагаете, что время на рефакторинг всегда бесконечно. Часто бывает хорошей идеей добавить некоторую информацию к сложному коду для следующего сопровождающего. - person Evert; 01.06.2011

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

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

person Community    schedule 23.12.2008
comment
Я всегда говорю своим коллегам. Комментарии не запускаются !! - person OscarRyz; 27.03.2009
comment
Я полагаю, вы имели в виду, никогда не полагайтесь на код. Я уверен, что спецификация, дизайн и требования требовали кода возврата или истины :) - person gbjbaanb; 29.03.2009
comment
похоже на то, что вы видели в техническом выпуске failblog.org - person BobC; 03.04.2009
comment
Хм ... мне кажется, жук ... - person Adrian Grigore; 20.04.2009
comment
Такие вещи действительно случаются, люди не утруждают себя обновлением документации с изменениями, даже если она находится прямо над функцией. - person Henk; 23.04.2009
comment
Этот комментарий Java запускается: // \ u000A System.out.println (Run!); - person Luzifer42; 18.09.2009
comment
Вот почему так важны модульные тесты - ОНИ запускаются. - person Thorbjørn Ravn Andersen; 09.12.2010

От: 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.
person Community    schedule 20.04.2009
comment
Строка сразу после этого и комментарий к ней действительно занимают первое место. Здравомыслие? Какое здравомыслие? Формат съел все ... - person Kim Reece; 21.04.2009
comment
s / PSD / Internet Explorer / g. s / формат файла / веб-браузер / g. Теперь это соответствует моим мыслям. - person TJ L; 23.04.2009
comment
Мне жаль этого программиста за то, что он пережил такую ​​боль !!! Но замечательный комментарий. Излил свое сердце. - person Microkernel; 03.06.2010
comment
Эта строка: // PSD - не мой любимый формат файла. делает это классикой. - person joedevon; 23.09.2010

Примерно в середине 30-страничного xslt

<!-- Here be dragons  -->
person Community    schedule 08.10.2008
comment
Я все еще пытаюсь понять, как правильно комментировать XSLT. - person rjzii; 09.10.2008
comment
ПРИВЕТ! Я оставлял этот комментарий несколько раз, что с ним не так? :) Однажды я даже оставил ссылку на искусство википедии. об этом; en.wikipedia.org/wiki/Here_be_dragons - person noocyte; 13.10.2008
comment
Чувак, у них больше нет искусства, в этом проблема Вики. - person James McMahon; 16.10.2008
comment
Тоже использовал. По крайней мере, это избавляет вас от разочарования в попытках понять то, что невозможно понять. - person schonarth; 21.10.2008
comment
Нам действительно нужно больше драконов в нашем коде. - person Jon Smock; 04.04.2009
comment
Я написал здесь, что есть тигры, имеющие то же значение. - person Joshua; 20.04.2009
comment
Сначала я думал о en.wikipedia.org/wiki/21st_Century_Compilers - person chakrit; 20.04.2009
comment
@annakata, ты думаешь, что это плохо, на днях кто-то просил помочь с файлом xml размером 31 ГБ. Я вскрикнул от боли. - person Dana the Sane; 21.04.2009
comment
Будьте счастливы, что это был XML - по крайней мере, для этого существуют легкие для поиска парсеры, которые хорошо протестированы и работают с линейной скоростью при вводе любого размера (при условии разумно ограниченной глубины вложенности). Какой-то нестандартный формат с возможным устранением ошибок и настраиваемый, возможно, подверженный ошибкам синтаксический анализатор ничем не лучше. - person Eamon Nerbonne; 24.08.2009
comment
Мне просто нужно было написать это на вершине класса. Грустный. - person si618; 30.09.2009
comment
Меня кто-то звал? - person Troggy; 07.10.2009
comment
LOL, я действительно написал этот точный комментарий в XSLT несколько лет назад (и это было очень долго), но быстро! - person Mark Schultheiss; 14.01.2010
comment
Этот комментарий действительно относится к исходному тексту компилятора ... - person James McLeod; 10.04.2010
comment
@ Дана вменяемая, взгляни на коммерческую версию Saxon. Он может выполнять потоковую обработку огромных входных файлов. - person Thorbjørn Ravn Andersen; 14.05.2010

в полностью раскомментированном методе строк 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)

person Community    schedule 08.10.2008
comment
код тур-де-франс - person Andreas Petersson; 09.10.2008
comment
Я очень сильно смеялся над этим. - person Dave; 09.10.2008
comment
doh 'нет каскадного оператора выбора? - person Stephan; 09.10.2008
comment
это достойный сайт thedailyworsethanfailure.com! - person deadbug; 09.10.2008
comment
Похоже на Лисп! - person endian; 09.10.2008
comment
Я думаю, что один endif был действительно важен;) - person Milan Babuškov; 09.10.2008
comment
Э, нет, это то, из чего состоят кошмары: Орда фигурных скобок преследует вас со скалы ‹shudder› - person Jacob; 13.10.2008
comment
Этот комментарий, вероятно, нужен для исправления ошибки компилятора. : | - person Rob Howard; 03.11.2008
comment
Какой узор! Я чувствую, что мне следует попытаться сфокусировать взгляд за экраном, чтобы на меня прыгнула парусная лодка или что-то еще. - person gnovice; 13.01.2009
comment
Уровень цикломатической сложности OH SHIIIIIIIII - person ; 05.03.2009
comment
Это довольно эпично. Не мог перестать взламывать - person dance2die; 05.03.2009
comment
Ха-ха, это круто. Это почти похоже на Монти Питона. - person Tetha; 16.03.2009
comment
Какова цикломатическая сложность этой функции? - person graham.reeds; 24.04.2009
comment
Мне очень понравился // endif в конце: D - person thSoft; 19.07.2009
comment
com'on, это лучше, чем ничего :) - person Ammar; 06.09.2009
comment
это аккуратно; кто-то должен сделать это из пластика и сделать обтягивающий - person Chris McKee; 13.02.2010
comment
Вот это да. Вот почему ядру требуется 8 пробелов на вкладку. Такого кода никогда не должно быть. - person EricR; 17.08.2010
comment
Mh. Нет gotos. Это недостаток этого примера. - person TheBlastOne; 01.09.2010
comment
Недавно я видел тестовые примеры с такой сложностью, и мне напомнили об этом комментарии. Когда-нибудь это будет смешно и для меня. - person Michael Foukarakis; 05.03.2011
comment
Для тех, кто играет дома, найдите файлы с наибольшим количеством скобок ... найдите. -тип f -name * .java | пока читал f; сделать echo -n $ f; кот $ f | tr -dc '{}'; эхо; сделано | awk '{длина печати ($ 2), $ 1}' | sort -n - person Rog; 22.07.2011
comment
Так должен выглядеть входной билет в ад. - person Rostislav Matl; 28.07.2011

Одним из самых классических является замечание Пьера де Ферма по поводу его известной «Последней теоремы»: «Поле этой страницы слишком мало, чтобы записать доказательство».

Доказательство было найдено более 350 лет назад ...

(Согласно wikipedia, это исходный текст :)

Cubum autem в duos cubos, aut quadratoquadratum in duos quadratoquadratos, et generaliter nullam in infinitum ultra quadratum potestatem в duos eiusdem nominis fas est Dividere cuius rei демонстрацияем мирабилем разумных детей. Hanc marginis exiguitas non caperet.

... и переведены на английский язык:

(Невозможно разделить куб на два куба, или четвертую степень на две четвертых, или вообще любую степень выше второй, на две одинаковые степени. Я обнаружил поистине чудесное доказательство этого, которое слишком узкий, чтобы вместить.)

person Community    schedule 09.10.2008
comment
И маржа, а не побочная. - person Dour High Arch; 09.10.2008
comment
Это не было ни доказательством, ни доказательством, и не было ни побочным, ни второстепенным. Роальт, не могли бы вы опубликовать классический комментарий Пьера де Ферма по-французски? - person Windows programmer; 10.10.2008
comment
j'ai découvert une preuve réellement remarquable que cette marge trop étroite ne me permet pas de détailler - person Barth; 10.10.2008
comment
Он был французом, но ведь все писали на латыни, не так ли? - person Peter Coulton; 10.10.2008
comment
Интересно (по крайней мере, для меня), что доказательство, найденное 350 лет спустя, основывалось на математических методах, которые были недоступны во времена Ферма, и было значительно длиннее, чем могло бы поместиться в запасе Ферма. Значит, либо он ошибся, либо есть простое доказательство, которое остается загадкой. - person Martin; 13.10.2008
comment
Может, Ферма не ошибся. Если бы он нашел простое доказательство, оно поместилось бы на его полях. - person Windows programmer; 14.10.2008
comment
может у него было чувство юмора? :) - person Sandor Davidhazi; 19.10.2008
comment
@Sandor: Я думал то же самое. Возможно, Ферма просто пошутил по этому поводу, а математики не поняли намек. - person Spoike; 23.11.2008
comment
Джон Скит нашел бы место ... - person annakata; 01.12.2008
comment
Он солгал, когда сказал, что у него есть доказательство, которое не подошло бы, а если бы и лгало, оно было ошибочным. Это было интуитивное доказательство, кажется правильным, но вы не можете сказать почему. Сказать, что у него есть доказательства, было своего рода шуткой среди его сверстников. - person Karl; 02.12.2008
comment
Что ж, я прочитал (кстати, отличную) книгу Саймона Сингха о нем: этот парень много писал и много чего говорил, не предъявив доказательств. Как и другие попытки, он, вероятно, подумал, что нашел доказательство, но оно также, вероятно, было неверным. - person Roalt; 02.12.2008
comment
@annakata - и Джон Скит убьет вас за то, что вы наберете имя своего злого близнеца. - person Erik Forbes; 10.12.2008
comment
и если у него и было доказательство, то оно определенно не было таким, как было найдено 350 лет спустя, поскольку для этого требовалось использование значительного количества циклов компьютерной обработки ... - person Charles Bretana; 19.12.2008
comment
Может, он опередил свое время, делая забавные комментарии в коде, III, если вы понимаете, о чем я, эй ... - person mslot; 27.03.2009
comment
Может, он просто написал это, зная, что однажды его процитируют на StackOverflow ... - person BenAlabaster; 16.04.2009
comment
Разве этот парень не великий прапрапрапрапрапрадед Джона Скита? - person koni; 14.05.2009
comment
Джон Скит не находит места. Он освобождает место. - person StuperUser; 14.12.2010
comment
@ Эрик Форбс: разве это не сделало бы Джона Скита злым? поскольку он убивает любого за упоминание своего хорошего тви ... соединения потеряно - person Kurru; 10.01.2011
comment
Есть эпизод из «Звездного пути», действие которого происходит в 24 веке, но снято в конце 1980-х до того, как было найдено доказательство, где Пикард рассказывает о теории Райкеру, говоря, как люди зашли так далеко, но все еще не смогли решить проблему одинокого француза. Загадка 800-летней давности. Думаю, авторы не ожидали, что в ближайшее время будет разгадана загадка 340-летней давности. - person Cam Jackson; 04.08.2011
comment
Джон Скит - Чак Норрис из StackOverflow. - person Andy; 05.09.2011
comment
@ErikForbes: Злой близнец Джона Скита на самом деле Скон Джит. - person ; 25.10.2011

Из Java 1.2 SwingUtilities:

doRun.run();  // ... "a doo run run".
person Community    schedule 11.10.2008
comment
Думаю, я единственный, у кого есть ссылка - person Triptych; 05.03.2009
comment
Я так смеялся, читая это. Хороший. - person Jeff Yates; 05.03.2009
comment
Я не получил ссылки, но все равно смешно. - person AaronLS; 03.04.2009
comment
Хороший, но не хватает на ходу. Боже, у меня даже в голове эта песня. - person martiert; 03.04.2009
comment
@martiert, здесь то же самое! отличный комментарий! - person Sander Versluys; 06.04.2009
comment
youtube.com/watch?v=dqgtsai2aKY - person Sprintstar; 06.04.2009
comment
У кого-нибудь есть ссылка на этот код? - person Liran Orevi; 22.04.2009
comment
О чувак! Я не мог перестать смеяться ... Это весело! - person Leif; 18.01.2010
comment
Хотя это не совсем Swing ... - person sbi; 17.09.2010

# To understand recursion, see the bottom of this file 

Внизу файла:

# To understand recursion, see the top of this file
person Community    schedule 23.11.2008
comment
Это больше похоже на бесконечный цикл, в этом примере нет необходимости в стеке. - person Bernard Igiri; 03.02.2009
comment
Как насчет # Чтобы понять рекурсию, см. Строку X на строке X? - person Chris Lutz; 13.02.2009
comment
Хорошо. Но чтобы знать, что такое рекурсия, нужно знать, какая рекурсия лучше :) - person Lucas Gabriel Sánchez; 10.03.2009
comment
Когда я проходил курс A Level по вычислениям, у нас была книга, в которой глоссарий содержал две записи: Endless Loop - см. «Loop, Endless» ... Loop, Endless - см. «Endless Loop» - person Piku; 20.04.2009
comment
Было очень весело, но никто не приблизился к пониманию рекурсии. Это было бы больше похоже на рекурсию, если бы внизу файла было сказано / *, чтобы понять рекурсию, сначала прочтите someotherfile, а затем вернитесь сюда. * / и то же самое сказано в каком-то другом файле об этом файле. - person thomasrutter; 22.04.2009
comment
На самом деле забудь об этом, мне нравится @lk. Приведенный выше комментарий намного лучше! - person thomasrutter; 22.04.2009
comment
Чтобы понять рекурсию, см. Этот комментарий. БАМ! - person Randolpho; 24.04.2009
comment
Очевидно, здесь никто не понимает рекурсию :) Как насчет: # Чтобы понять рекурсию, перечитайте эту строку (остановитесь, когда поймете) - person Bobby Jack; 14.07.2009
comment
Версия для программистов классического граффити в ванной. любить это. - person NomeN; 15.07.2009
comment
или вы можете получить футболку: thinkgeek.com/tshirts-apparel/ унисекс / itdepartment / b2ae - person Scott Baker; 25.07.2009
comment
Не для всех форм рекурсии требуется стек. (например, рассмотрите возможность оптимизации хвостового вызова) - person Arafangion; 21.05.2010
comment
Это бесконечный цикл. Вам нужно добавить базовый случай: если вы понимаете рекурсию, прекратите читать. - person dan04; 08.06.2010
comment
Ха! Цитата с острова обезьян - Рекурсия: см. Рекурсия - person Mahol25; 18.08.2010
comment
@ dan04: Вот почему это называется бесконечной рекурсией. Какие люди обычно достаточно умны, чтобы вырваться из них, как только они увидят, что вошли в это ... - person SamB; 09.06.2011
comment
Чтобы понять концепцию бесконечного цикла, следуйте этому комментарию! - person Raghav; 31.07.2011

Это было живым доказательством в производственном коде эффектов микроуправления в нашей команде:

// I am not responsible of this code.
// They made me write it, against my will.

... за которым следует менее чем оптимальный код, задуманный нашим любимым техническим директором, который очень любил навязывать разработчикам как код, так и рекомендации по написанию кода (*).

Конечно, когда руководитель проекта искал причину ошибки и обнаружил, что она находится внутри «неоптимального кода», он был менее чем удивлен ...

(*) Я, конечно, упоминаю Могущественного Короля В.Б. ... Если вы хотите оценить всю мощь Могущественного Короля В.Б. , вы можете прочитать следующее сообщение SO: Какое самое странное стандартное правило кодирования, которому вы были вынуждены следовать? ...

person Community    schedule 19.10.2008
comment
Ваш комментарий в других сообщениях ссылается на это, отправляя меня в бесконечный цикл на всю вечность! - person Outlaw Programmer; 27.01.2009
comment
Чтобы понять рекурсию ..... ›:) - person Erik Forbes; 05.03.2009
comment
Абсолютно замечательно, только представьте, в каком тяжелом положении оказался разработчик - person Prabhu R; 21.07.2009
comment
@Outlaw: Вот почему я всегда открываю новые ссылки в отдельных вкладках. В конце концов я выйду из этого, так как мой браузер выйдет из строя. - person T.E.D.; 17.09.2009
comment
Менее очевидный Coactum feci спас многим душу. - person relet; 16.09.2010
comment
@relet: Coactum feci? Что это означает ? - person paercebal; 16.09.2010
comment
@ Рам: Поверьте, это было некрасиво. Теперь мы можем улыбаться, когда вспоминаем это (и другие дрянные подробности), но в то время ... :-( ... Это было сделано больше для самозащиты, чем для юмора. В этом случае источники, контролируемые версиями, - это блаженство. , потому что, в отличие от других документов, они не могут быть изменены, чтобы изменить прошлое ... Представьте, что для каждой ошибки / эволюции, которая была назначена мне, я должен был отправлять себе электронное письмо с копией описания в качестве доказательства, просто чтобы иметь возможность сравнивать с потенциально измененным описанием в момент регистрации. И я ДЕЙСТВИТЕЛЬНО нашел незаметные исправления ...: - / - person paercebal; 16.09.2010
comment
Они заставили меня написать это LOL. Как они жестоки! - person Raghav; 31.07.2011

Я прошел через цикл программирования, лишенный сна, и начал писать только комментарии, которые были цитатами из Бойцовского клуба.

Спустя годы, продолжая рыться в коде, я нахожу комментарий, который заставляет меня смеяться. Большинство из них - просто случайные мысли. Тем не менее, я сохранил довольно хорошее соотношение комментариев к строкам!

// This shouldn't happen. The only way this can happen is if the
// <code>JFileChooser</code> has returned a <code>File</code> that doesn't exist
// on the system. If this happens we can't recover, and there is more than likely
// a rip in the space time continuum that the user is too distracted by to notice
// anything else.

 /**
   * This method leverages collective synergy to drive "outside of the box"
   * thinking and formulate key objectives into a win-win game plan with a
   * quality-driven approach that focuses on empowering key players to drive-up
   * their core competencies and increase expectations with an all-around
   * initiative to drive down the bottom-line. I really wanted to work the word
   * "mandrolic" in there, but that word always makes me want to punch myself in
   * the face.
   */
private void updateFileCountLabel() {
person Community    schedule 09.10.2008
comment
Ах, теперь мы знаем, кто пишет те руководства по Spring Framework. - person finnw; 10.10.2008
comment
Все началось как шутка о менеджменте компании, в которой я работаю. Я даже не знаю, что означает караул ;-) - person Aidos; 10.10.2008
comment
Второй просто классный. Я всегда смеюсь, когда моя жена использует (не) слово «синергия», и она не понимает, почему это так смешно. - person Graeme Perrow; 21.10.2008
comment
Второй отличный! Что, никакой смены парадигмы? - person gnovice; 13.01.2009
comment
Второй бесценен! F *** менеджмент-говорите! - person pyon; 03.02.2009
comment
Этот комментарий использует коллективную синергию для выхода за рамки стандартного мышления. Люблю это; p - person johnc; 15.04.2009
comment
Чтобы быть справедливым, первое предложение может произойти, если между пользователем, выбирающим файл, этот файл исчезнет, ​​что на самом деле может произойти в сетевой файловой системе. Подобные предположения укусили меня в прошлом ... - person Kirk Wylie; 20.04.2009
comment
Нам необходимо использовать экспоненциальные кривые синергии, чтобы произвести сдвиг парадигмы, чтобы устранить пробел в знаниях с помощью механизма слияния данных. - person ; 20.04.2009
comment
@Kirk: Это случается со мной, если у меня фоновые процессы перемешивают временные файлы, как будто это какие-то частицы вакуумной пены, и я случайно выбираю не тот. Сеть не требуется. Вот почему мне нравятся исключения: FileNotFound (или любое другое исключение) можно обрабатывать в одном месте, независимо от того, какой шаг вызвал его. - person Mike DeSimone; 17.09.2010
comment
Я первый, кто заметил, что ... использует коллективную синергию ... для увеличения прибыли. из The Daily WTF Алекса Пападимулиса? en.thedailywtf.com/Articles/Secret_Enterprise_Security.aspx - person Han Seoul-Oh; 29.11.2010

Много лет назад (около 1994 г.) я работал над приложением Oracle PRO * C для крупной международной компании-разработчика программного обеспечения, о которой вы, наверное, слышали. Приложение, над которым я работал, было огромным приложением Oracle, и у них была утилита, которая в течение ночи приводила в порядок данные и выполняла всевозможные агрегированные вычисления. Каждый раз, когда что-то требовалось выполнить в виде пакетной работы, это вставлялось в эту утилиту, и, как вы понимаете, это становилось абсолютным чудовищем. Он также отличался крошечным количеством комментариев, которые он имел по поводу такой масштабной программы.

Один из немногих комментариев, которые он имел, остается лучшим комментарием, который я когда-либо видел в отношении чистой WTF'ности ... Я пытался найти ошибку в функции, которая состояла из сотен строк, и прямо посередине был < strong> only комментарий в функции:

/* I did this the other way */

По сей день это лучший комментарий, который я когда-либо видел.

person Community    schedule 08.10.2008
comment
Я люблю это. это загадочно, но бесполезно. - person MrBoJangles; 11.10.2008
comment
Действительно ... в основном бесполезно - person Sakkle; 02.02.2009
comment
Это заставляет меня задаться вопросом, были ли разногласия по поводу того, как что-то делать, и парень очень самодовольно заявляет, что решил сделать это по-своему. ржу не могу - person AaronLS; 03.04.2009
comment
Я прочитал это, потому что есть правильный способ сделать это, неправильный способ сделать это и ... - person Ry Jones; 04.04.2009
comment
+1 Отличный комментарий, и для чистого WTF, фраза, которая начнет появляться в моих комментариях ;-) - person Chris O; 28.07.2010

//Dear future me. Please forgive me. 
//I can't even begin to express how sorry I am.  

И я только что нашел вот это сегодня:

//private instance variable for storing age
public static int age;
person Community    schedule 29.03.2009
comment
Я всегда оставляю для себя комментарии в будущем ... - person David A Gibson; 14.04.2009
comment
Будущее - это то, для кого в любом случае должны быть написаны ваши комментарии. - person Commander Keen; 20.04.2009
comment
Что касается второго комментария, то программист не объяснил, что это за тип переменной. Небрежный. - person ; 13.02.2010
comment
Первый комментарий можно было бы сделать бесконечно лучше, добавив: Я оставил вам 18-летнюю бутылку виски в нижнем левом ящике, чтобы восполнить это - person Nathan Ernst; 18.09.2010
comment
@abrereton - очевидно, это дубль, плохой тон помещать такие избыточные данные в комментарий - person Felan; 21.09.2010
comment
Будущее меня ненавидит, и это даже не моя вина. Во всем виноват прошлое Я, черт его побери !! - person Sebastián Grignoli; 28.09.2010

//I am not sure why this works but it fixes the problem. 

Это было до того, как набор кода технически исправил проблему, для которой он был предназначен, но сломал еще 3 вещи ...

person Community    schedule 08.10.2008
comment
Классический случай этого: pragprog.com/the-pragmatic-programmer/extracts/coincidence - person ilitirit; 09.10.2008
comment
Да, это. Фактически, большая часть кода этого парня подходит для этого случая. Мне повезло, что я его поддержу, лол. - person StubbornMule; 09.10.2008
comment
за исключением трех других вещей, я сделал некоторые подобные комментарии - person Viktor Sehr; 31.01.2010
comment
ржу не могу. Я сам это написал ... - person Layke; 21.02.2010
comment
Я делаю это иногда, когда знаю из прошлого опыта, что одна из нескольких комбинаций будет работать, я просто не могу вспомнить, какая из них. Метод проб и ошибок может быть выполнен быстро, когда вы находитесь за компьютером, иногда это намного быстрее, чем повторять математику без причины. - person Ape-inago; 09.04.2010

Наш администратор базы данных обнаружил это в середине хранимой процедуры из 3000 строк, написанной третьей стороной.

/* IF DOLPHINS ARE SO SMART, HOW COME THEY LIVE IN IGLOOS? */
person Community    schedule 20.04.2009
comment
Страница 3, и, наконец, одна заставляет меня смеяться. - person tsilb; 20.11.2009
comment
Это из Южного парка. - person Tgr; 31.05.2010
comment
3000 строк? Это против тонны стилей кодирования / рекомендаций. И это хранимая процедура ?! - person Jürgen A. Erhard; 30.06.2011

по js-коду:

// hack for ie browser (assuming that ie is a browser)
person Community    schedule 28.01.2009
comment
т.е. это не браузер, это чудовищная программа просмотра HTML, которая любит мучить веб-разработчиков! - person hasen; 16.03.2009
comment
IE 8 совсем другие ребята .. - person Andrei Rînea; 24.04.2009
comment
но есть когда-либо firefox / chrome / safari - лучше, чем продукт M $ - person Giancarlo; 24.04.2009
comment
@Andrei Rinea: Клянусь, дорогая, я исправился. Я сейчас совсем другой. Хотя это может быть правдой, я не склонен верить в это. - person Piskvor left the building; 26.11.2009
comment
IE8 хорош до 2016 года, когда у него все еще будет 15% рынка - person ; 25.06.2010
comment
Я жду комментариев IE9 - person Jhonny D. Cano -Leftware-; 17.09.2010
comment
Internet Explorer: простой инструмент Windows XP, который позволяет пользователю перейти на Mozilla.com и загрузить Firefox, веб-браузер. urbandictionary.com/ - person Tiago Fernandez; 20.10.2010
comment
@Tiago Fernandez: Это правда для меня, +1! - person usta; 20.08.2011

/* Emits a 7-Hz tone for 10 seconds.
  True story: 7 Hz is the resonant frequency of a
  chicken's skull cavity. This was determined
  empirically in Australia, where a new factory
  generating 7-Hz tones was located too close to a
  chicken ranch: When the factory started up, all the
  chickens died.
  Your PC may not be able to emit a 7-Hz tone. */

main()
{
    sound(7);
    delay(10000);
    nosound();
}

(функция звука в Справочном руководстве Turbo C версии 2.0)

person Community    schedule 11.10.2008
comment
Вам нужна фабрика для создания тонов с частотой 7 Гц? Как они их упаковывают и каков их рынок? - person johnc; 16.03.2009
comment
Я читал этот комментарий в Turbo C очень давно. Это потрясающе! - person Diego Jancic; 20.04.2009
comment
Комментарий есть. Не уверен в правдивости истории - это могла быть городская легенда, но я думаю, что это могло быть правдоподобно. Я знаю, что резонансные частоты даже обрушивали стадионы и мосты ... - person Knobloch; 20.04.2009
comment
Неважно, правда ли это, все равно это так же забавно. Может, смешнее. Вы можете вообразить это? - person Jonathan Adelson; 23.04.2009
comment
Это просто не может быть правдой. Но забавно, что так много людей считают безосновательное заявление таким нелепым. - person niXar; 21.05.2009
comment
А, я думал, это коричневый шум. - person Matthias; 28.08.2009
comment
Инфразвук. См., В частности, раздел о Призраке в машине Тэнди . - person Paul Ruane; 17.09.2010
comment
@Paul Вау, это действительно интересно! Спасибо! - person Codemonkey; 14.03.2011
comment
Я ходил в университет с другом, который недавно рассказал мне историю о том, как он прочитал именно этот комментарий в исходном файле C, когда учился в старшей школе. Поскольку он рассказал мне эту историю задолго до того (порядка нескольких лет), я прочитал этот ответ, я думаю, что это может быть правдой. Кроме того, если у кого-то есть доступ к файлу с этим комментарием, он получит основные баллы кармы за размещение ссылки на файл с исходным кодом. - person inspectorG4dget; 15.08.2011

... или умри // сука

person Community    schedule 06.03.2009
comment
Я не собирался голосовать, но это меня рассмешило, черт возьми - person johnc; 27.03.2009

Попробуйте ввести свою любимую ненормативную лексику в поиск по коду Google, это быстро проведет унылый час. Некоторые из моих любимых примеров:

/* These magic numbers are fucking stupid. */

/* Dear free software world, do you NOW see we are fucking
   things up?! This is insane! */

/* We will NOT put a fucking timestamp in the header here. Every
   time you put it back, I will come in and take it out again. */

# However, this only works if there are MULTIPLE checkboxes!
# The fucking JS DOM *changes* based on one or multiple boxes!?!?!
# Damn damn damn I hate the JavaScript DOM so damn much!!!!!!

/* TODO: this is obviously not right ... this whole fucking module
   sucks anyway */

/* FIXME: please god, when will the hurting stop? Thus function is so
   fucking broken it's not even funny. */

и мой личный фаворит

 # code below replaces code above - any problems?
 # yeah, it doesn't fucking work.
person Community    schedule 08.10.2008
comment
Достаточно просто ядра linux, в основном мычание о каком-то хреновом оборудовании или о другом - person Mark Baker; 09.10.2008
comment
Ммм, несколько флажков в JavaScript ... Думаю, у меня есть собственный комментарий. - person scunliffe; 22.12.2008
comment
Обработка значения флажка в опубликованном HTML - это самостоятельный WTF. - person Rob Howard; 22.04.2009
comment
Мне нравится, когда люди используют флажки для состояния ИЛИ, а не радиокнопки, которые созданы специально. Выберите страховку A ИЛИ B, ooo установите флажки Cue ненужный javascript и сделайте код жирным. - person Chris McKee; 13.02.2010

При инициализации связанного списка:

last = first; /* Biblical reference */

Лаконично и весело.

person Community    schedule 10.01.2009
comment
Библейский? Больше похоже на Эдипила. - person aridlehoover; 17.09.2010
comment
Библейский. Матфея 20:16 Итак последние будут первыми и первые будут последними. (Не будучи библейским психом и даже не особо религиозным, я погуглил.) - person Brian Clapper; 17.09.2010
comment
Это задание для назначения упаковки / распаковки кортежей Python: last, first = first, last - person Tim Pietzcker; 09.10.2010
comment
@ Брайан, пока они меняются. - person hobbs; 23.08.2011

Кто-то жаловался, что «лучший» комментарий содержит худшие комментарии. ИМХО, они смешнее и так «лучше», но вот честный лучший комментарий, который я когда-либо делал читать:

/*
Major subtleties ahead:  Most hash schemes depend on having a "good" hash
function, in the sense of simulating randomness.  Python doesn't:  its most
important hash functions (for strings and ints) are very regular in common
cases:

>>> map(hash, (0, 1, 2, 3))
[0, 1, 2, 3]
>>> map(hash, ("namea", "nameb", "namec", "named"))
[-1658398457, -1658398460, -1658398459, -1658398462]
>>>

This isn't necessarily bad!  To the contrary, in a table of size 2**i, taking
the low-order i bits as the initial table index is extremely fast, and there
are no collisions at all for dicts indexed by a contiguous range of ints.
The same is approximately true when keys are "consecutive" strings.  So this
gives better-than-random behavior in common cases, and that's very desirable.

OTOH, when collisions occur, the tendency to fill contiguous slices of the
hash table makes a good collision resolution strategy crucial.  Taking only
the last i bits of the hash code is also vulnerable:  for example, consider
[i << 16 for i in range(20000)] as a set of keys.  Since ints are their own
hash codes, and this fits in a dict of size 2**15, the last 15 bits of every
hash code are all 0:  they *all* map to the same table index.

But catering to unusual cases should not slow the usual ones, so we just take
the last i bits anyway.  It's up to collision resolution to do the rest.  If
we *usually* find the key we're looking for on the first try (and, it turns
out, we usually do -- the table load factor is kept under 2/3, so the odds
are solidly in our favor), then it makes best sense to keep the initial index
computation dirt cheap.

The first half of collision resolution is to visit table indices via this
recurrence:

    j = ((5*j) + 1) mod 2**i

For any initial j in range(2**i), repeating that 2**i times generates each
int in range(2**i) exactly once (see any text on random-number generation for
proof).  By itself, this doesn't help much:  like linear probing (setting
j += 1, or j -= 1, on each loop trip), it scans the table entries in a fixed
order.  This would be bad, except that's not the only thing we do, and it's
actually *good* in the common cases where hash keys are consecutive.  In an
example that's really too small to make this entirely clear, for a table of
size 2**3 the order of indices is:

    0 -> 1 -> 6 -> 7 -> 4 -> 5 -> 2 -> 3 -> 0 [and here it's repeating]

If two things come in at index 5, the first place we look after is index 2,
not 6, so if another comes in at index 6 the collision at 5 didn't hurt it.
Linear probing is deadly in this case because there the fixed probe order
is the *same* as the order consecutive keys are likely to arrive.  But it's
extremely unlikely hash codes will follow a 5*j+1 recurrence by accident,
and certain that consecutive hash codes do not.

The other half of the strategy is to get the other bits of the hash code
into play.  This is done by initializing a (unsigned) vrbl "perturb" to the
full hash code, and changing the recurrence to:

    j = (5*j) + 1 + perturb;
    perturb >>= PERTURB_SHIFT;
    use j % 2**i as the next table index;

Now the probe sequence depends (eventually) on every bit in the hash code,
and the pseudo-scrambling property of recurring on 5*j+1 is more valuable,
because it quickly magnifies small differences in the bits that didn't affect
the initial index.  Note that because perturb is unsigned, if the recurrence
is executed often enough perturb eventually becomes and remains 0.  At that
point (very rarely reached) the recurrence is on (just) 5*j+1 again, and
that's certain to find an empty slot eventually (since it generates every int
in range(2**i), and we make sure there's always at least one empty slot).

Selecting a good value for PERTURB_SHIFT is a balancing act.  You want it
small so that the high bits of the hash code continue to affect the probe
sequence across iterations; but you want it large so that in really bad cases
the high-order hash bits have an effect on early iterations.  5 was "the
best" in minimizing total collisions across experiments Tim Peters ran (on
both normal and pathological cases), but 4 and 6 weren't significantly worse.

Historical:  Reimer Behrends contributed the idea of using a polynomial-based
approach, using repeated multiplication by x in GF(2**n) where an irreducible
polynomial for each table size was chosen such that x was a primitive root.
Christian Tismer later extended that to use division by x instead, as an
efficient way to get the high bits of the hash code into play.  This scheme
also gave excellent collision statistics, but was more expensive:  two
if-tests were required inside the loop; computing "the next" index took about
the same number of operations but without as much potential parallelism
(e.g., computing 5*j can go on at the same time as computing 1+perturb in the
above, and then shifting perturb can be done while the table index is being
masked); and the dictobject struct required a member to hold the table's
polynomial.  In Tim's experiments the current scheme ran faster, produced
equally good collision statistics, needed less code & used less memory.

Theoretical Python 2.5 headache:  hash codes are only C "long", but
sizeof(Py_ssize_t) > sizeof(long) may be possible.  In that case, and if a
dict is genuinely huge, then only the slots directly reachable via indexing
by a C long can be the first slot in a probe sequence.  The probe sequence
will still eventually reach every slot in the table, but the collision rate
on initial probes may be much higher than this scheme was designed for.
Getting a hash code as fat as Py_ssize_t is the only real cure.  But in
practice, this probably won't make a lick of difference for many years (at
which point everyone will have terabytes of RAM on 64-bit boxes).
*/
person Community    schedule 18.12.2008
comment
Я слышал о грамотном программировании, но это безумие. Замечательный комментарий! - person sep332; 19.12.2008
comment
Отличный комментарий, но ИМХО тот, который на самом деле принадлежит не источнику, а сопроводительному документу. Вот почему контроль документов так же важен, как и контроль версий. - person Konrad Rudolph; 09.02.2009
comment
Я не думаю, что это документация на уровне пользователя, вам никогда не нужно знать об этом при написании кода. Кажется, хорошо там, где это мне. - person llimllib; 10.02.2009
comment
В исходном коде Python много комментариев, подобных этому. Я думаю, что такая документация очень полезна для людей, которые погружаются в исходный код. - person bigmonachus; 05.03.2009
comment
Комментарий, который точно объясняет, что было сделано и почему. Вот почему Python - мой любимый язык. - person cygil; 16.03.2009
comment
Я согласен. Если у вас есть непонятный код, поместите роман в источник, чтобы сопровождать его, иначе через десять лет кто-нибудь придет и серьезно все встряхнет. - person Don Werve; 10.04.2009
comment
Это сообщение в блоге, а не комментарий. - person rfunduk; 16.04.2009
comment
Комментаторам: если это сообщение в блоге или отдельный документ, его НЕТ, когда кто-то собирается изменить код. Иметь это в коде удобнее всего для будущих сопровождающих. И если код будет изменен, есть большая вероятность, что сопровождающий обновит комментарий; меньше шансов, что документ или сообщение в блоге будут изменены (и если они были изменены, вы потеряете документы для старых версий; комментарии становятся версионными в системе контроля версий с помощью кода). - person user9876; 20.04.2009
comment
Мне нравится этот. По крайней мере, парень задумывается над тем, что делает :-) - person dankoliver; 23.04.2009
comment
Какой нетерпеливый бобер! Если серьезно, это хороший материал. У Python есть собственный менеджер документации, поэтому неудивительно, что он обычно так хорошо работает. - person paniq; 05.05.2009
comment
tl; dr :): P ^^ (смайлик-спам на 15 символов) - person cwap; 14.07.2009
comment
Это документация, а не комментарий. - person Thorbjørn Ravn Andersen; 23.10.2009
comment
Я рекомендую посмотреть презентацию The Mighty Dictionary от PyCon 2010. - person Cristian Ciupitu; 02.08.2010
comment
@Cristian или прочитав раздел словаря Python, который содержится в Beautiful Code - person llimllib; 04.08.2010
comment
Обратите внимание, что существует также документ, в котором дополнительно объясняется реализация dict в другом файле рядом с этим. - person Mike Graham; 21.07.2011

int MyFunction()
{
    // There once was a man named Dave
    int Result = 0;

    // Whose code just wouldn't behave
    MyObject *Ptr = new MyObject();

    // He left to go to a meetin'
    Result = Ptr->DoSomething();

    // And left his memory a leakin'
    return Result;
}

Комментарий C ++

person Community    schedule 05.12.2008
comment
почему бы вместо этого не исправить утечку? - person hasen; 15.12.2008
comment
Приятно, что, как только память остается протекающей, лимерик остается незавершенным. - person Adriano Varoli Piazza; 18.12.2008
comment
Ненавижу встречи. - person Dave Baghdanov; 14.11.2009
comment
@Adriano: Похоже, что-то, заканчивающееся на сейв, было бы хорошей пятой строчкой ... - person Franz; 07.08.2011
comment
Мне нужна 5-я строчка, без разрешения, ааа !!! - person umassthrower; 18.11.2011

Из утечки Windows 2004 г.

__inline BOOL
SearchOneDirectory(
                  IN  LPSTR Directory,
                  IN  LPSTR FileToFind,
                  IN  LPSTR SourceFullName,
                  IN  LPSTR SourceFilePart,
                  OUT PBOOL FoundInTree
                  )
{
    //
    // This was way too slow. Just say we didn't find the file.
    //
    *FoundInTree = FALSE;
    return(TRUE);
}
person Community    schedule 19.04.2009
comment
Хахаха, это было весело (надеюсь, это правда) - person Shervin Asgari; 20.04.2010
comment
@ Шервин: Это правда. Вы можете найти завершить файл другим комментарием (чтобы в результатах не появлялись репосты). - person Dan Abramov; 01.08.2011

Я видел этот комментарий к чьему-то коду:

// This comment is self explanatory.

Я предполагаю, что он хотел сказать «переменная», но из-за ошибки был сделан один забавный комментарий ... Подумайте о круговой логике здесь и о бесполезности ее написания.

person Community    schedule 30.12.2008
comment
Этот комментарий говорит сам за себя ... Почему я должен беспокоиться, чтобы его объяснить - person Raghav; 01.08.2011

Не совсем комментарий, а ярлык goto

ICantBelieveImUsingAGoto:
person Community    schedule 19.12.2008
comment
Остерегайтесь хищников. - person Ikke; 04.12.2009
comment
xkcd.com/292 - person amra; 10.03.2011

Рядом с локальной переменной, которую нужно было объявить только для передачи константы библиотечной функции:

// This only exists because Scott doesn't know how to use const correctly
person Community    schedule 08.10.2008
comment
Бог. Я бы с удовольствием рассыпал подобные комментарии ПО ВСЕЙ нашей кодовой базе, только Скотт - мой начальник. - person moswald; 09.10.2008
comment
Дерьмо, я Скотт! (шутит над другим Скоттом, но он мне все еще нравится) - person smaclell; 24.12.2008
comment
Кто нашел мои старые проекты? - person Scott; 16.06.2009
comment
На самом деле я писал это для себя пару раз. - person Fábio Antunes; 13.10.2009
comment
const int Nancy = 1; const int lyComplainingAboutMyCode = -Nancy; - person Scott; 20.12.2010

В оригинальном Doom был двигатель со статичными стенками, которые не могли двигаться; в результате все двери открывались вертикально; ничто не могло двигаться по горизонтали. Я рассмеялся, когда после того, как исходный код был выпущен, я просматривал код и увидел это в исходном файле для обработки дверей, в начале большого блока закомментированного кода:

// UNUSED
// Separate into p_slidoor.c?

#if 0           // ABANDONED TO THE MISTS OF TIME!!!
//
// EV_SlidingDoor : slide a door horizontally
// (animate midtexture, then set noblocking line)
//
person Community    schedule 08.10.2008
comment
Мне всегда было интересно, почему это так! - person Zachary Yates; 10.10.2008
comment
По сути, 2D-геометрия уровня предварительно скомпилирована в древовидную структуру, которая позволяет эффективно сортировать стены во время рендеринга. Но поскольку он предварительно скомпилирован, вы не можете изменить его во время выполнения. В Hexen, основанном на Doom, был хакер для перемещения стен (дверей и т. Д.), Но он был очень ограничен. - person Simon Howard; 10.10.2008
comment
Это какая-то серьезная обскура. - person MrBoJangles; 11.10.2008
comment
Ну это все объясняет;) - person Nick Bolton; 03.04.2009

Взято из источника Quake III, я наткнулся на это в какой-то случайной публикации на слэшдоте. Полный источник файла можно найти на здесь. Это особенно быстрый метод вычисления обратного квадратного корня. Что насчет лучшего комментария? Конечно, это обычное дело, но, учитывая то, что он прикреплен к линии, которая творит чудеса, именно то, что делает его отличным.

float Q_rsqrt( float number )
{
  long i;
  float x2, y;
  const float threehalfs = 1.5F;

  x2 = number * 0.5F;
  y  = number;
  i  = * ( long * ) &y;  // evil floating point bit level hacking
  i  = 0x5f3759df - ( i >> 1 ); // what the fuck?
  y  = * ( float * ) &i;
  y  = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
  // y  = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed

  #ifndef Q3_VM
  #ifdef __linux__
    assert( !isnan(y) ); // bk010122 - FPE?
  #endif
  #endif
  return y;
}
person Community    schedule 25.11.2008
comment
Я считаю, что это написал сам Кармак. - person prestomation; 06.03.2009
comment
Алгоритм имеет небольшую историю: yond3d.com/content/articles/8. Мне лично нравится думать, что это комментарий от самого г-на Кармака. - person bikesandcode; 08.03.2009
comment
WTF это bk010122 - FPE ??? - person Lucas Gabriel Sánchez; 10.03.2009
comment
FPE = исключение с плавающей точкой; Б.К., вероятно, Бернд Краймайер, сотрудник программного обеспечения id. projects.codersbase.com/repos/ioquake3/ChangeLog - person Jasper Bekkers; 27.03.2009
comment
Я почти уверен, что это моя самая любимая часть загадочного кода. - person ojrac; 06.04.2009
comment

// John! If you'll svn remove this once more,
// I'll shut you, for God's sake!
// That piece of code is not “something strange”!
// That is THE AUTH VALIDATION.

И что ты думаешь? Приведенный ниже код был благополучно удален с помощью svn.

person Community    schedule 06.03.2009

это несколько раз появлялось в моем собственном коде. очевидно, не раз трогал:

// TODO: Fix this.  Fix what?
person Community    schedule 16.03.2009
comment
Это может быть один из моих комментариев! - person Bobby; 29.07.2011

//MailBody builders for two outgoing messages
StringBuilder hanz = new StringBuilder();
StringBuilder franz = new StringBuilder();

Я все еще немного хихикаю, когда читаю это ...

person Community    schedule 03.02.2009
comment
Спасибо тебе за это. Чертовски весело. - person C Bauer; 17.12.2009

уйдя с последней работы, я встроил в исходник немного ascii-арта ...


                                      ,_-=(!7(7/zs_.             
                                   .='  ' .`/,/!(=)Zm.           
                     .._,,._..  ,-`- `,\ ` -` -`\\7//WW.         
                ,v=~/.-,-\- -!|V-s.)iT-|s|\-.'   `///mK%.        
              v!`i!-.e]-g`bT/i(/[=.Z/m)K(YNYi..   /-]i44M.       
            v`/,`|v]-DvLcfZ/eV/iDLN\D/ZK@%8W[Z..   `/d!Z8m       
           //,c\(2(X/NYNY8]ZZ/bZd\()/\7WY%WKKW)   -'|(][%4.      
         ,\\i\c(e)WX@WKKZKDKWMZ8(b5/ZK8]Z7%ffVM,   -.Y!bNMi      
         /-iit5N)KWG%%8%%%%W8%ZWM(8YZvD)XN(@.  [   \]!/GXW[      
        / ))G8\NMN%W%%%%%%%%%%8KK@WZKYK*ZG5KMi,-   vi[NZGM[      
       i\!(44Y8K%8%%%**~YZYZ@%%%%%4KWZ/PKN)ZDZ7   c=//WZK%!      
      ,\v\YtMZW8W%%f`,`.t/bNZZK%%W%%ZXb*K(K5DZ   -c\\/KM48       
      -|c5PbM4DDW%f  v./c\[tMY8W%PMW%D@KW)Gbf   -/(=ZZKM8[       
      2(N8YXWK85@K   -'c|K4/KKK%@  V%@@WD8e~  .//ct)8ZK%8`       
      =)b%]Nd)@KM[  !'\cG!iWYK%%|   !M@KZf    -c\))ZDKW%`        
      YYKWZGNM4/Pb  '-VscP4]b@W%     'Mf`   -L\///KM(%W!         
      !KKW4ZK/W7)Z. '/cttbY)DKW%     -`  .',\v)K(5KW%%f          
      'W)KWKZZg)Z2/,!/L(-DYYb54%  ,,`, -\-/v(((KK5WW%f           
       \M4NDDKZZ(e!/\7vNTtZd)8\Mi!\-,-/i-v((tKNGN%W%%            
       'M8M88(Zd))///((|D\tDY\\KK-`/-i(=)KtNNN@W%%%@%[           
        !8%@KW5KKN4///s(\Pd!ROBY8/=2(/4ZdzKD%K%%%M8@%%           
         '%%%W%dGNtPK(c\/2\[Z(ttNYZ2NZW8W8K%%%%YKM%M%%.          
           *%%W%GW5@/%!e]_tZdY()v)ZXMZW%W%%%*5Y]K%ZK%8[          
            '*%%%%8%8WK\)[/ZmZ/Zi]!/M%%%%@f\ \Y/NNMK%%!          
              'VM%%%%W%WN5Z/Gt5/b)((cV@f`  - |cZbMKW%%|          
                 'V*M%%%WZ/ZG\t5((+)L\'-,,/  -)X(NWW%%           
                      `~`MZ/DZGNZG5(((\,    ,t\\Z)KW%@           
                         'M8K%8GN8\5(5///]i!v\K)85W%%f           
                           YWWKKKKWZ8G54X/GGMeK@WM8%@            
                            !M8%8%48WG@KWYbW%WWW%%%@             
                              VM%WKWK%8K%%8WWWW%%%@`             
                                ~*%%%%%%W%%%%%%%@~               
                                   ~*MM%%%%%%@f`                 
                                       '''''                     

person Community    schedule 13.10.2008
comment
Это крендель? Можно ли им кого-нибудь задушить? - person Mostlyharmless; 27.10.2008
comment
это эшерианский узел ... как и все хорошее искусство ASCII, он лучше всего работает, когда вы устали и ваше зрение немного размыто! - person Mauro; 28.10.2008
comment
Вы не задумывались над тем, чтобы добавить это в вопрос о пасхальном яйце? stackoverflow.com/ вопросы / 140376 /. Очень хорошо. - person smaclell; 24.12.2008
comment
И под «встроенным» вы имеете в виду «введенный». И под «источником» вы действительно имеете в виду «загрузочный сектор». Правильно? - person Jens Roland; 27.01.2009
comment
LMAO Jens, нет ... Я бы хотел называть себя программистом, который мог работать с загрузочными секторами и сборкой - на самом деле все, что я являюсь разработчиком C #, с более чем средним знанием xHMTL и CSS. - person Mauro; 04.02.2009
comment
Хм, это значок Adobe AIR? - person rfunduk; 16.04.2009
comment
Похоже на рисунок Эшера - person lprsd; 22.04.2009
comment
Интересно, что выводит интерпретатор Perl, если я скармливаю ему это? - person mike3996; 04.08.2010
comment
@progo Хотел бы я проголосовать за ваш комментарий больше! : D - person naugtur; 20.09.2010
comment
Это похоже на программу на PERL, которую я написал прошлым летом. - person Moses; 01.10.2010

Не помню, где я это видел:

long time; /* know C */

и (в коде для создания своего рода демона UNIX):

/* Be a real daemon: fork myself and kill my parent */
person Community    schedule 20.04.2009

Вверху файла заголовка:

/* Project : XYZ (Please somebody shoot me!)
 *
 * File : $Id: defs.h,v 1.1 $
 *
 * Purpose : Create havoc rather than peace among many nations
 *
 * History : Back-ported changes that were not in CVS.  Please somebody,
 *  shoot us and put us all out of our misery.
 */

«Проект XYZ» (название изменено) был семилетним испытанием. Этот последний комментарий был написан одной стойкой душой, которая участвовала с самого начала до конца.

person Community    schedule 08.10.2008
comment
Перефразируя Адриана Монка, он молится о сладком освобождении, которое может принести только смерть. - person MrBoJangles; 11.10.2008

В драйверах / net / sunhme.c (ядро Linux):

/* Welcome to Sun Microsystems, can I take your order please? */
if(!hp->happy_flags & HFLAG_FENABLE)
        return happy_meal_bb_write(hp, tregs, reg, value);

/* Would you like fries with that? */
hme_write32(hp, &tregs->frame,
            (FRAME_WRITE | (hp->paddr << 23) |
             ((reg & 0xff) << 18) | (value & 0xffff)));
while(!(hme_read32(hp, &tregs->frame) & 0x10000) && --tries)
        udelay(20);

/* Anything else? */
if(!tries)
        printk(KERN_ERR "happy meal: Aieee, transceiver MIF write bolixed\n");

/* Fifty-two cents is your change, have a nice day. */
person Community    schedule 29.03.2009
comment
Есть hme и bme. Названные Happy Meal Ethernet и Big Mac Ethernet соответственно. Довольно забавно! - person X-Istence; 19.04.2009
comment
Я бы проголосовал за это 10 раз, если бы мог! - person mozami; 30.08.2009
comment
Нашел! git.kernel.org/?p=linux/kernel/git/stable/ - person Cyclone; 09.01.2010

// Catching exceptions is for communists

Со страницы Майка Дункана на SQLite.

person Community    schedule 09.10.2008
comment
Исключения составляют коммунисты. Хороший код не использует исключений. Таким образом, хороший код - это исключительный код. - person ; 26.01.2011

Комментарий, который я добавил к PHP CMS, над которым я работал некоторое время назад.

if (/*you*/ $_GET['action']) { //celebrate
person Community    schedule 16.10.2008

Однажды я увидел в другом обсуждении что-то вроде этого:

// I can't divide with zero, so I have to divide with something very similar
result = number / 0.00000000000001;

Умное решение, не правда ли :)? (Это шутка, если кто-то не уверен)

person Community    schedule 26.03.2009
comment
Не совсем ... это вызовет переполнение или что-то в этом роде, нет? - person mpen; 31.03.2009
comment
Этот код пугает меня на нескольких уровнях. - person Neil Aitken; 03.04.2009
comment
Эй, я раньше специально писал деление на 0. Вы действительно не хотите знать почему. - person Joshua; 20.04.2009
comment
Что ж, этот код может показаться вам забавным, но это не было забавным, когда мои коллеги обнаружили его в монстре ASP.NET с более чем 500 000 строк кода. Очень запутанный код. Знаете, он был написан старшим разработчиком, чтобы избежать досадного деления на ноль ошибок. Сегодня это более 900 000 строк кода, и даже несмотря на то, что мы очистили его большие куски, некоторые из них все еще ждут, как волки. Бесконечное ожидание .. и ТОГДА ... - person dr Hannibal Lecter; 15.05.2009
comment
OMG - похоже старший перезрел;) - person Martin Lazar; 18.05.2009
comment
@Erik: примитивная попытка / отлов в C, где деление на ноль вызвало ловушку библиотеки и вернулось к циклу сообщений. - person Joshua; 27.11.2009
comment
Подождите, у вас начнутся моменты старости. - person JeffO; 05.02.2010
comment
Ха-ха-ха. (На сегодня голосов почти нет.) - person Moshe; 02.01.2011
comment
ха-ха ... это пока что лучше, имо - person iforce2d; 21.09.2011

Классический пример того, почему вы не должны оффшорить разработку программного обеспечения:

public class Contact
{
    //...    

    /// <summary>
    /// Gets or sets the name of the first.
    /// </summary>
    /// <value>The name of the first.</value>
    public string FirstName
    {
        get { return _firstName; }
        set { _firstName = value; }
    }
}
person Community    schedule 09.10.2008
comment
Они используют плагин для документации для VS. Для создания этого комментария потребовалось всего одно нажатие клавиши. - person Rinat Abdullin; 09.10.2008
comment
@Rinat - почти наверняка Мартин комментировал очевидное непонимание кодировщика того, что такое имя. - person Michael Petrotta; 09.10.2008
comment
Это было создано с помощью GhostDoc. Это будет комментарий по умолчанию, созданный надстройкой. - person Craig Wilson; 10.10.2008
comment
Я не думал, что разработчик использовал генератор комментариев. Зачем кому-то нужна такая штука? Конечно, инструмент не может генерировать больше информации, чем можно определить из объявления свойства, так зачем беспокоиться? - person Martin Brown; 10.10.2008
comment
Чтобы ваш босс / клиент, который хочет, чтобы каждый тупой геттер и сеттер был задокументирован, был доволен - person Luka Marinko; 12.10.2008
comment
Понимаете, офшорный работник, устроившийся на вашу работу, не всегда виноват =) - person schonarth; 21.10.2008
comment
Они не взяли мою работу, я взял их. Это долгая история с участием юристов и гораздо более серьезных проблем, чем эта. Меня вызвали навести порядок. Между прочим, это все еще их вина. Их попросили улучшить свои комментарии и выбрали инструмент, который только усугубил ситуацию. - person Martin Brown; 23.10.2008
comment
офшоринг - мы однажды наняли российских разработчиков, чтобы они написали механизм отчетности ... когда подошло время пересмотра контракта, мы поняли, что все комментарии были на русском языке. Жаль, что у меня нет кода, чтобы показать :( - person gbjbaanb; 29.03.2009
comment
@Craig Wilson: Так есть инструмент, который генерирует бесполезные комментарии? Это ужасно. - person JoshJordan; 31.03.2009
comment
Что вы ожидаете из той же страны, где людям платят за ввод капчи по требованию? - person AaronLS; 03.04.2009
comment
Может быть, это действительно полное имя первенца контакта? Кто знает, может быть, это для Китая или Египта, я слышал, что им время от времени нужны такие данные. - person Michael Stum; 24.04.2009
comment
@Michael Stum: из контекста, не показанного в сообщении, было довольно ясно, что это первая часть настоящего имени человека. - person Martin Brown; 24.04.2009
comment
Я не знаю, было ли это сгенерировано каким-либо инструментом, но точно было написано одним из них. - person Assaf Stone; 15.08.2010
comment
качество оффшорной разработки программного обеспечения зависит от денег, которые вы можете за это заплатить. так что, если у вас нет денег, чтобы нанять лучших, таких как Luxoft или Epam - ... это только ваш позор, а не вся индустрия офшорного программного обеспечения. - person javagirl; 27.07.2011

в домашнем задании в колледже для учителя, который был особенно непреклонен, чтобы мы прокомментировали наш код:

//I wonder if she actually reads these.

Когда задание было возвращено, красным карандашом рядом с этим комментарием "Да, я верю"

person Community    schedule 05.03.2009
comment
учитель веселее ученика :) - person medopal; 20.12.2009
comment
Да, некоторые студенты задавали мне тот же вопрос. Я ответил так же, IIRC ... - person Chip Uni; 30.12.2009

Отличный вариант из утекшего исходного кода Windows 2000:

!!!!!!! ЕСЛИ ВЫ МЕНЯЕТЕ ТАБЛИЦЫ НА ПРОБЕЛЫ, ВАС УБИВАЕТСЯ !!!!!!! *
!!!!!!!!!!!!!! ДЕЙСТВИЕ ТАКОЕ НАБИРАЕТ ПРОЦЕСС СТРОИТЕЛЬСТВА !!!!!!!!!!!!!!!! *
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!

http://www.kuro5hin.org/story/2004/2/15/71552/7795

person Community    schedule 01.12.2008
comment
Это странный комментарий, который можно найти в исходном коде Win2k, потому что группа NT всегда придерживалась политики отсутствия вкладок в исходном коде. - person mjfgates; 09.10.2010
comment
@mjfgates: Источники не являются полностью оригинальными. Некоторые файлы могли быть изменены позже. Если бы я мог найти ссылку прямо сейчас. - person Felix Dombek; 23.08.2011

Мне всегда нравилось то, что Пол Дилашиа писал в своих заголовках файлов:

// If this code works, it was written by Paul DiLascia. If not, I don't know
// who wrote it
person Community    schedule 19.04.2009

// human madable inconvenient. Way too sucks.

Я до сих пор не совсем понимаю, что это означает, но я обнаружил, что это очень верно в отношении большого количества кода.

person Community    schedule 10.10.2008
comment
Самые смешные комментарии - это те, которые добавляют двусмысленности. - person MrBoJangles; 11.10.2008
comment
Это круто, я сам этим воспользуюсь. - person johnc; 27.03.2009
comment
Либо это из файла жаргона, и я не помню, либо у вас есть офшорные ресурсы, чей английский слишком отстой. - person tsilb; 26.04.2009
comment
Сейчас я собираюсь использовать это в своем коде. - person Carson Myers; 17.09.2009
comment
@tslib: вы на правильном пути с офшорной частью, но это был кто-то, кто работал в штатах, но не был носителем английского языка. - person Mike Two; 17.09.2009

// error codes
#define ERROR_SUCESS 0
#define ERROR_SUCCESS_IS_MISSPELLED 1

Другие коды ошибок не определены.

person Community    schedule 15.04.2009
comment
Похоже, это примечание для автозаполнения. Когда вы вводите ERROR_SUCCES, он автоматически заполняется до ERROR_SUCCESS_IS_MISSPELLED, что дает вам представление. Хороший помощник в ситуации, когда вы не можете исправить существующее имя (зависимый код, который вы не можете редактировать?). - person stroncium; 18.05.2011
comment
работая в Японии, я получаю это почти молочное - person iforce2d; 21.09.2011

Из модуля монитора батареи во встроенной системе:

// batmon.c drives the rastamobile
person Community    schedule 24.04.2009

Из утекшего исходного кода Windows 2000:

// The magnitude of this hack compares favorably with that of the national debt.

person Community    schedule 20.04.2009

Еще одна классика Дональда Кнута, не менее:

Остерегайтесь ошибок в приведенном выше коде; Я только доказал, что это правильно, а не пробовал.

person Community    schedule 10.10.2008
comment
На самом деле это не комментарий: www-cs-faculty.stanford.edu/~knuth /faq.html - person mjs; 20.04.2009

В планировщике ядра linux 1.0 (sched.c):

Дейкстра, наверное, меня ненавидит.

/*
 *  'schedule()' is the scheduler function. It's a very simple and nice
 * scheduler: it's not perfect, but certainly works for most things.
 * The one thing you might take a look at is the signal-handler code here.
 *
 *   NOTE!!  Task 0 is the 'idle' task, which gets called when no other
 * tasks can run. It can not be killed, and it cannot sleep. The 'state'
 * information in task[0] is never used.
 *
 * The "confuse_gcc" goto is used only to get better assembly code..
 * Dijkstra probably hates me.
 */
asmlinkage void schedule(void)

(...)

person Community    schedule 14.10.2008
comment
Управление памятью - сука :) - person new123456; 29.10.2010

// This procedure is really good for your dorsolateral prefrontal cortex.

Для тех из вас, кто по какой-то особой причине не знает о DPC, это часть вашего мозга, которая загорается, когда вы глубоко заняты изучением чего-то нового.

person Community    schedule 11.10.2008
comment
конечно, это написал медик :) - person Mike; 20.09.2010

//ALL YOUR BASE ARE BELONG TO US

... это заставило моего босса подумать, что кто-то взломал его. Он не знал шутки.

person Community    schedule 08.10.2008
comment
вы показали своему боссу какой-то случайный комментарий в каком-то исходном коде? - person Klathzazt; 18.11.2008
comment
teh r00xorz !!!!!!!!!!! 1 !!!!!!! 11 - person unclerojelio; 02.02.2009

Верх исходных файлов sqlite:

/*

** The author disclaims copyright to this source code.  In place of             
** a legal notice, here is a blessing:                                          
**                                                                              
**    May you do good and not evil.                                             
**    May you find forgiveness for yourself and forgive others.                 
**    May you share freely, never taking more than you give.

*/
person Community    schedule 15.10.2008

Я разместил это «лицензионное заявление» в выпущенном мной шаблоне WordPress. Во всяком случае, я думал, что это было забавно.

/* The License:
You (from this point on referred to as The You) are hereby 
granted by me (from this point on referred to as The Me) 
license to knock yourself silly with this template. 
By using this template The You implicitly accepts this 
license and pledges solemnly to never claim creative 
ownership of any graphics, code, concepts, eggs, bacon, ideas, 
colors, shapes, hypertext-transfer protocols or other conduits 
of the visual splendor thatis this template. 

The Me, in turn, pledges equally solemnly to be far too 
lazy to ever check up on you, so if you do manage to pull 
some chicks The Me won't have a cow. 
However The Me would be sorely disappointed if The You 
were to try and sell or distribute this work without 
acknowledging The Me. Seriously. The Me will come down on 
The You like a large quantitiy of hard and heavy objects 
that in large quantities may be harmful and possibly even 
lethal to The You; So don't even think about it, The Buster.
*/
person Community    schedule 20.04.2009
comment
Хотелось бы, чтобы все лицензии были такими же понятными, как эта. Пытаясь прочитать GPL2 и LGPL2, вы хотите застрелиться. - person balupton; 18.09.2010
comment
Напоминает мне публичную лицензию WTF: sam.zoy.org/wtfpl - person rescdsk; 25.08.2011

Простой, но эффективный комментарий перед небезопасным взломом некоторого кода C ++

// yikes
person Community    schedule 08.10.2008
comment
SCNR: youtube.com/watch?v=7tsYstSet7g - person vobject; 30.08.2010

Около 10 лет назад я работал над обработкой изображений, кадрами сканирующего микроскопа для обнаружения движения клеток. Я работал над очень сложным мероприятием и решил пойти выпить с друзьями. Вернувшись домой, я немного поработал, но не слишком много, потому что был пьян. На следующее утро после того, как я обнаружил 10-строчную полностью испорченную функцию со следующим комментарием (очевидно, написанным другим мной):

/* Ah ah ah! You'll never understand why this one works. */

Самым странным было то, что он даже работал.

person Community    schedule 06.04.2009
comment
Кажется, вы достигли пика Баллмера: imgs.xkcd.com/comics/ballmer_peak.png - person Jeff Barger; 19.04.2009

Я использовал это несколько раз, когда делал какое-то неочевидное упрощение математической формулы, которое мне не хотелось документировать:

//this formula is right, work out the math yourself if you don't believe me
person Community    schedule 08.10.2008
comment
Это нормально, но как насчет добавления тестов, чтобы доказать это? Вчера вечером у меня была именно такая ситуация: я нашел математический код (написанный мной), который, как я не верил, мог работать, но модульные тесты доказали, что это так. - person endian; 09.10.2008
comment
Это хорошо, если вы правы, и очень плохо, если вы случайно ошиблись. Лучше иметь тесты, подтверждающие это. - person TM.; 10.10.2008
comment
Формально говоря, тесты не подтверждают формулу, а только показывают, что она работает в конкретных случаях. Но я бы все равно включил их - несколько полезных случаев придадут больше уверенности, и обнаружат сбои, если кто-то оптимизирует его. - person chesterbr; 30.08.2010

Из одного из наших проектов.
Где-то в конце одного исходного файла.

/*@                                    /\  /\
 * @                                  /  \/  \                        ----- |   | ----      |---\ |    | /--\  --- |   |  ---- /--\ /--\
 *  @                                /        --                        |   |   | |         |   / |    | |      |  |\  |  |    |    |
 *   \---\                          /           \                       |   |---| ----      |--/  |    |  \     |  | \ |  ----  \    \
 *    |   \------------------------/       /-\    \                     |   |   | |         |  \  |    |   -\   |  |  \|  |      -\   -\
 *    |                                    \-/     \                    |   |   | ----      |---/  \--/  \--/  --- |   \  ---- \--/ \--/
 *     \                                             ------O
 *      \                                                 /                 --- |   | ----  /--\        |--\   /--\   /--\
 *       |    |                    |    |                /                   |  |\  | |    |    |       |   | |    | |
 *       |    |                    |    |-----    -------                    |  | \ | ---- |    |       |   | |    | | /-\
 *       |    |\                  /|    |     \  WWWWWW/                     |  |  \| |    |    |       |   | |    | |    |
 *       |    | \                / |    |      \-------                     --- |   \ |     \--/        |--/   \--/   \--/
 *       |    |  \--------------/  |    |
 *      /     |                   /     |
 *      \      \                  \      \
 *       \-----/                   \-----/
 */
person Community    schedule 05.11.2008

//You are not expected to understand this

классический.

person Community    schedule 08.10.2008
comment
// Вы не должны понимать почему. - person mdec; 12.10.2008

В инструкции GIGANTIC 800 line 'switch' где-то посередине:

// Joe is sorry

Через несколько сотен строк ...

// Harry is sorry too
person Community    schedule 23.04.2009

Это настоящий код, который мне когда-то приходилось поддерживать. После попыток понять логику AstaSaysGooGoo и AstaSaysGaaGaa (где было объявлено и использовано гораздо больше astaTempVars) я был готов сдаться. Я наконец поднял глаза и увидел комментарий «@author», и все это начало обретать смысл.

/*

* @author Andrew Asta
*/
public class AstaClass{

    private String astaVar1;    
    private String astaVar2;    
    private String astaVar3;    
    private String astaVar4;    
    private String astaVar5;    
    private String astaVar6;    
    private String astaVar7;    
    private String astaVar8;    
    private String astaVar9;    
    private String astaVar10;   

    public void AstaSaysGetData(){
        //JDBC statement to populate astavars 1 through 10
        //...
        String astaSqlStatment = "Select astaCol1, astaCol2, astaCol3... From AstaTable Where...";
        //..
        //...
    }

    //Perform data manipulation on astavars...
    public void AstaSaysGaaGaa(){
          [removed for sake of brevity]
    }


    //Perform more data manipulation on astavars...
    public void AstaSaysGooGoO(){
        [removed for sake of brevity]
    }

    public void AstaSaysPersist(){      
        //JDBC statement to save astavars to DB 
        String astaSqlStatment = "Update AstaTable set astaCol1 = @astaVar1
                                                  , set astaCol2 = @astaVar2
                                                  , set astaCol3 = astaCol3... 
                                                  Where...";
    }
}

PS Я изменил настоящее имя авторов, чтобы не вмешиваться в какие-либо споры и т. Д.

person Community    schedule 12.10.2008
comment
astaGetsSlappedAtCodeReview () - person johnc; 25.11.2008
comment
Действительно звучит как Пола Бин :) - person guerda; 06.04.2009
comment
публичный класс paulaBean {частная строка paula = Brillant; общедоступная строка getPaula () {вернуть Паулу; }} - person Ikke; 06.04.2009
comment
Чёрт возьми, я 10 минут смеялся. Этот парень Аста - гений. - person asveikau; 11.11.2009

Из исходного кода UNIX-версии веб-браузера Netscape, около 1997 года:

/* HP-UX sucks wet farts from dead pigeons' asses */

К сожалению, такие жемчужины были удалены до того, как Moz стал открытым исходным кодом ...

person Community    schedule 13.10.2008
comment
Поработав с HP-UX, я склоняюсь к мудрости из приведенного выше комментария C. - person Brian Clapper; 06.04.2009
comment
Основываясь на том, что JWZ пишет в другом месте, и на истории версии Unix, я верю этой цитате! - person Thorbjørn Ravn Andersen; 14.05.2010
comment
всем приветствую компанию! :) - person Tilo; 19.11.2011

Этот комментарий был в модуле, содержащем интерфейсы, которые использовались для связи между основным приложением и различными сторонними драйверами.

//**************************************
// Dear code maintainer:
//
// This source contains COM interfaces, not to be confused with interfaces 
// of any other sort, please do not just willy-nilly add additional methods 
// to these interfaces as they are truely immutable, unlike the interfaces 
// that other software vendors like Microsoft maintain.  IF you need to add 
// new functionality, then go thru the trouble of creating a NEW interface 
// and implement this functionality on only the objects you need.  
//
// While the money is good for fixing all of the problems caused by not 
// following the rules, I would rather work on things which actually have
// an impact on the future of the product rather than curse and yell 
// obsenities at the screen because someone didn't bother to understand the
// true meaning of IMMUTABLE.  
//**************************************
person Community    schedule 23.04.2009
comment
@overtone: Обычно объекты считаются неизменяемыми, если их нельзя изменить на месте. Например, строки неизменяемы в Java: если вы хотите изменить какой-либо символ, вы должны скопировать всю строку в процессе. Вы не можете изменить существующую строку. В этом примере неизменяемость просто означает, что интерфейсы фиксированы и ни в коем случае не могут быть изменены. - person Felix Dombek; 24.08.2011

Там был старый код javascript, хотя и неплохо написанный. Затем была строка комментария

// and there is where the dragon lives

с последующим мероприятием 4 человека потратили день, чтобы понять, что он делает. Наконец мы поняли, что он даже не используется и ничего не делает.

person Community    schedule 12.10.2008
comment
Не связывайся с этим, чтобы дракон не рассердился! Вы же не хотите, чтобы дракон рассердился ... - person schonarth; 21.10.2008

-- Comment this later

Это была строка 2 процедуры PL / SQL из 4000+ строк. И единственный комментарий. Спустя 4 года после того, как эта процедура была разработана, потом так и не наступило ...

person Community    schedule 08.10.2008
comment
Четыре года - ничто - код живут веками! - person Thorbjørn Ravn Andersen; 19.10.2010

Однажды я придумал то, что, как я считал, было элегантным решением особенно сложной проблемы, оглядываясь назад, это было немного сложнее, и я довольно часто использовал макропрограммы. Спустя годы я нашел этот комментарий от программиста по обслуживанию.

/*
    Description: The Total Perspective Vortex derives its picture of the
                 whole Universe  on the principle of extrapolated matter
                 analyses.

                 To  explain  -  since every piece of matter in the Universe
                 is in some way affected by every other piece of matter in
                 the  Universe,  it  is  in  theory possible to extrapolate
                 the whole of creation - every sun, every planet, their
                 orbits, their composition and their economic and social
                 history from, say, one small Macro.

                 The man who invented the Total Perspective Vortex did so
                 basically in order to annoy the IT department.

                 Steve Weet - for that was his name - was a dreamer, a
                 thinker, a speculative philosopher or, as some would have
                 it, a slacker.

                 And they would nag him incessantly about the utterly
                 inordinate amount of time he spent staring out into space,
                 or mulling over the mechanics of Chelsea FC, or doing
                 spectrographic analyses of macros.

                 "Have  some  sense  of  proportion!"  they would say,
                 sometimes as often as thirty-eight times in a single day.

                 And so he built the Total Perspective Vortex - just to show
                 them.

                 And into one end he plugged the whole of reality as
                 extrapolated  from one  macro, and into the other
                 end he plugged the IT department: so that when he turned it
                 on they saw in one instant the whole infinity of creation 
                 and theirselves in relation to it.

                 To  Steve Weet's horror, the shock completely annihilated '
                 their brains; but to his satisfaction he realized that he
                 had proved conclusively that if life is going to exist in a
                 Universe of this size, then the one thing it cannot afford
                 to have is a sense of proportion.

*/
person Community    schedule 09.04.2009
comment
О, так именно здесь Дуг Адамс придумал свои книги. - person Windows programmer; 10.04.2009
comment
ржу не могу. Самая ужасная форма психической пытки из когда-либо изобретенных. - person nonpolynomial237; 23.04.2009

catch (Ex as Exception)
{
     // oh crap, we should do something.
}

Нет ничего лучше пустого блока catch, чтобы заставить человека почувствовать, что код надежен ...

person Community    schedule 10.10.2008
comment
Это случается со мной много раз, ха-ха! + - person Jakub Arnold; 28.03.2009
comment
Ничего подобного смешению VB и C # в одном блоке кода;) - person Juliet; 15.10.2009

Чтобы защитить виновных, ценности были изменены

Этот был оставлен подрядчиком, который работал над фрагментом кода, отвечающим за тестирование логинов электронной почты. Мы не поверили, поэтому попробовали, и это был действительный вход в его личный кабинет; мы дважды проверили историю изменений, и у него было две проверки, которые ее редактировали: одна для добавления кода, а вторая - для его комментирования.

Мы добавили изображения, а остальное оставили в покое; другой разработчик решил, что было бы интересно отправлять ему электронные письма от его будущего себя (а-ля The Office), и сказал, что потребовалось почти две полных недели ежедневных писем, прежде чем вход в систему перестал работать.

'    ROFL:ROFL:LOL:ROFL:ROFL
'        ______/|\____
'  L    /          [] \
' LOL===_      ROFL    \_
'  L     \_______________]
'            I      I
'        /---------------/

'TODO: REMOVE MY INFO AND REPLACE WITH USER CREDENTIALS
'Private TEST_LoginName As String = "[email protected]"
'Private TEST_Password As String = "Humsal892"
'Private TEST_Server As String = "imap.secureserver.net"

Мне больше всего нравится не то, что он это сделал, или то, что он случайно оставил это на месте для проверки, а то, что, когда он вернулся, он просто закомментировал это, а не удалил. Мы бы никогда не посмотрели на исходную версию, если бы никогда не знали, что она там есть :-D

person Community    schedule 22.04.2009

Я вижу это много:

// TODO make this work
person Community    schedule 15.10.2008
comment
Эй, это мой комментарий! -Гарольд - person Harold Ekstrom; 29.11.2009
comment
Я также сделал: TODO: То, что я утверждал в комментариях - person Atiaxi; 28.09.2010

Заявление об очевидном?

/** Logger */
private Logger logger = Logger.getLogger();
person Community    schedule 23.04.2009
comment
Выглядит почти как мой код, хотя я тоже стараюсь делать свои логгеры статичными и окончательными. :) - person Bombe; 05.06.2009
comment
Если я этого не сделаю, плагин checkstyle будет КРИЧАТЬ !!! - person yihtserns; 22.09.2010

Несколько лет назад, когда я писал Perl, я добавил эти комментарии вверху и внизу:

# <magic type="voodoo">

...

# </magic>

Следующий парень, который взглянул на это, был не так уж хорош в Perl и потратил некоторое время на поиск документации о том, что делают «магия» и «вуду». С тех пор я пытался добавить больше полезных комментариев ...

person Community    schedule 09.10.2008
comment
Какие еще типы магии поддерживаются? - person Harry Lime; 01.12.2008
comment
Тем более смешно, потому что парень действительно думал, что это было реально. - person Jeff Keslinke; 19.12.2008
comment
Вы написали полезный комментарий ... Он поможет вам узнать, кто эти ужасные программисты в вашей команде: P - person rfunduk; 16.04.2009
comment
@ harry.lime ‹магический тип = салон›, ‹магический тип = ловкая рука›, ‹магический тип = карта› и многое другое. Они задокументированы здесь: en.wikipedia.org/wiki/Template:Magic_and_Illusion - person thomasrutter; 23.04.2009
comment
Не забывайте ‹magic type = black›. С таким я обычно сталкиваюсь в коде. - person Sean; 16.06.2009

Из проекта кода Google:

# This job would be great if it wasn't for the fucking customers.
person Community    schedule 05.02.2009

when :orientation
## Avoid matching gay people with straight people - they hate it, they do, they really do.
query_parameter = "(users.orientation = 'Bi' OR (users.orientation = 'Straight' AND users.gender IN ('#{user.opposite_genders.join('\',\'')}')) OR (users.orientation = 'Gay' AND users.gender IN ('#{user.same_genders.join('\',\'')}')))"

С сайта знакомств ...

person Community    schedule 19.04.2009
comment
Есть ли у вас похожие совпадения в своих объявлениях? А по советам, как заставить женщин посмотреть свой профиль? Я просто говорю, потому что знаю один сайт, который действительно плохо справляется с этим. - person TRiG; 25.11.2009

В: «Какой самый лучший комментарий в исходном коде вы когда-либо встречали?»

A: Легко - тот, который помог мне решить любую проблему, которая у меня была в то время, а их много!

На втором месте находятся те, которые помогают избежать известных ловушек при новой разработке.

person Community    schedule 12.10.2008

//        .==.        .==.          
//       //`^\\      //^`\\         
//      // ^ ^\(\__/)/^ ^^\\        
//     //^ ^^ ^/6  6\ ^^ ^ \\       
//    //^ ^^ ^/( .. )\^ ^ ^ \\      
//   // ^^ ^/\| v""v |/\^ ^ ^\\     
//  // ^^/\/ /  `~~`  \ \/\^ ^\\    
//  -----------------------------
/// HERE BE DRAGONS

У меня нет доступа к исходному файлу, потому что я больше с ним не работаю, но он был чем-то очень похож на этот рисунок. Это было в верхней части файла, что всегда вызывало проблемы, и мы должны были исправить, но не позволяли тратить время на то, чтобы исправить это по-настоящему. (Университетская политика)

person Community    schedule 19.04.2009

//  If you delete the credits, I will fucking kill you.

найдено в модуле joomla.

person Community    schedule 05.03.2009

не знаю, смешно это или грустно ... но у одного стажера, с которым я работал со мной, была эта маленькая жемчужина, чтобы рассчитать цену за единицу

...

// get the units from the form 
int numUnits = Integer.parseInt(request.getParameter("num_pieces")); // this break at random times

//price 
float price = Float.parseFloat(request.getParameter("price")); // same as above

// Under certain conditions the following code blows up. I don't know those conditions.
float pricePerUnit = price / (float)numUnits;

...
person Community    schedule 05.03.2009
comment
На самом деле, это было бы неплохо, что не так с этим вопросом собеседования по коду. - person Cory R. King; 29.03.2009
comment
Забавно, потому что недостатки очевидны - person mpen; 31.03.2009
comment
Хм, значит, кодировщик не заметил исключения DivideByZeroException, которое будет воскрешено в трассировке стека любой IDE, которую он / она когда-либо использует. - person Nailer; 20.04.2009
comment
Да, он не пережил лето. Он все время приставал ко мне, я спрашивал его, какие ошибки он получал в журналах, и он отвечал, да? мой код компилируется нормально. Он всегда задавал мне одни и те же вопросы снова и снова. Это был последний раз, когда мы предлагали стажировку человеку, получившему наивысшую оценку в классе, который спонсировала моя компания. Это тоже был парень, которому не хватило года до получения ученой степени. - person user16208; 20.04.2009

Один мой старый начальник всегда говорил о том, как нам нужно использовать наши собственные продукты для внутренних целей, например: «Ешьте наш собственный корм для собак ...»

Много лет спустя я обнаружил, что в каком-то источнике, который сделал временный коллега, каждая функция, к которой он прикоснулся, помечена тегами:

/* NOT FIT FOR HUMAN CONSUMPTION */
person Community    schedule 21.04.2009

Классический ASP:

'Is it worth it, let me work it'
'I put my thing down, flip it and reverse it'
'Ti esrever dna ti pilf, nwod gniht ym tup I'

NextIP = StrReverse(UserRecordset.Fields.Item(0))
person Community    schedule 09.10.2008
comment
Я надеюсь, что они использовали StrReverse для создания этого комментария. - person wonderchook; 09.11.2008
comment
Это не правильно; запятая должна быть на символе перед nwod, а не на символе после pilf. - person tsilb; 26.04.2009
comment
Итак, ваша база данных содержит кучу перевернутых IP-адресов? - person Juliet; 15.10.2009

Много лет назад я столкнулся с этим:

/***************************************************************************/
/*  deep wizardry. do not touch.                                           */
/*                                                                         */
/*  no seriously.  XXXXXX I'm looking at you. If you screw with this again */
/*  I will kill you with my swingline stapler.                             */
/*                                                                         */
/* ...                                                                     */

А затем перешел к описанию особенно сложного алгоритма.

person Community    schedule 09.04.2009

// (c) 2000 Applied Magic, Inc.
// Unauthorized use punishable by torture, mutilation, and vivisection.

Ах, я всегда любил этого ...

person Community    schedule 15.04.2009

//open lid


//take sh!t


//close lid

Комментарии для открытия файла, дампа данных, закрытия файла ...

person Community    schedule 09.10.2008
comment
// очистить - закрыть файл / соединение / удалить - person tsilb; 20.11.2009

Исходный код продукции:

// Remove this if you wanna be fired
person Community    schedule 15.10.2008

Некоторое время назад наткнулся на:

raise InvalidChild() # e.g. no legs

Это гротеск, поскольку "inwalida" в переводе с польского означает человек с ограниченными возможностями. глупый я :)

person Community    schedule 22.04.2009
comment
хаха, мило, не знала этого :) - person ohnoes; 23.04.2009
comment
Недействительно: in-VAL-id: недействительно. Недействительно: IN-va-lid: инвалид, прикован к постели, больной. - person TRiG; 25.11.2009

Лучший на данный момент:

"This code makes baby Jesus very sad!". 

Он ссылался на инициализацию String следующим образом:

String blankSpaces="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "+ //100 whitespaces
                   "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "+ //200 Whitespaces
                   ...
                   "                                        " //100 whitespaces

Ну вы поняли.

person Community    schedule 08.10.2008

Я говорю подопечному выполнить хотя бы НЕКОТОРЫЕ исключения. Это то, что я получаю взамен при каждом вызове db ....

Catch (Exception e) {
    //eat it
}
person Community    schedule 11.10.2008
comment
ХАХАХАХАХА. Думаю, он вам показал. - person Steven Evers; 07.03.2009
comment
о, если бы он только сказал, что бей его en.wikipedia.org/wiki/Beat_It - person thomasrutter; 23.04.2009

Честное слово перед Богом:

// This is crap code but it's 3 a.m. and I need to get this working.
person Community    schedule 30.12.2008
comment
Я все время пишу более формальные версии этого :) Приятно! - person Dan Rosenstark; 10.01.2009

Когда я работал на Reuters, в одном из наших обработчиков каналов был комментарий, который заставил некоторых людей подумать, что Всевышний нам помогает ...

// Jesus told me to skip to the end of the message here

Позже мы узнали, что был контакт из Латинской Америки по имени Иисус (HeyZus).

person Community    schedule 08.12.2008

Самый любимый комментарий, который я когда-либо писал:

//the XML returned from this request is *mind-bogglingly* bad. Terrifyingly bad.
//a completed batch looks like this:
//<Batch>batchid=363777811 status=Done dateandtime=09/18/2007 09:53:10 PDT activateditems=335 numberofwarnings=0 itemsnotacivated=17 </Batch>
//and an incomplete batch like:
//<Batch>batchid=363778361 status=In Progress </Batch>
//so we'll just parse each item as a regex. Thanks Amazon.

И да, Amazon действительно возвращает XML вот так.

person Community    schedule 18.12.2008
comment
Я отказываюсь признать это как XML. Это явно список, разделенный пробелами. - person Branan; 03.02.2009
comment
Это даже хуже, чем это; он не ограничен пробелами. Обратите внимание, что поля даты и состояния могут иметь пробелы в своих значениях, что противоречит любой возможной простой стратегии синтаксического анализа. - person llimllib; 05.02.2009
comment
Хотелось бы увидеть комментарии к коду Amazon ... - person flq; 07.03.2009
comment
это не глюк! Прочтите документы, если осмелитесь: amazonsellercommunity.com/forums/ann.jspa?annID = 18 - person llimllib; 20.04.2009
comment
@llimllib Указанное объявление [18] не найдено. - person dantuch; 07.04.2011
comment
@dantuch Я оставил комментарий 2 года назад! Мне все равно, чтобы искать документы, извините :) - person llimllib; 07.04.2011

//  Hey, your shoe's untied!

За ним следует какой-то сомнительный код, и в этом коде

//  Keep looking!  I think it was the other shoe!

Ну наконец то,

//  How strange -- I must be seeing things.  Anyhow, I'm going to go take a shower, now...
person Community    schedule 27.01.2009

В хорошо известном коммерческом приложении для работы с электронными таблицами DOS:

/* This comment was just added in order to check-in a file that was last 
checked in by [Insert Programmer FirstName] "Back-to-the-Future" [Insert 
Programmer LastName]. While testing for year 2000 problems, he accidentally 
checked-in this file while his machine clock was set forward to the year 2000. 
This meant that the source code was always newer than the object file and 
compiled every time the code was built. I'm checking this file in again to 
fix that. */
person Community    schedule 12.10.2008
comment
Интересный. Какая глупая система контроля версий будет доверять часам клиентов? - person nobody; 20.04.2009
comment
И победитель ... VSS! - person Kenneth Cochran; 20.04.2009
comment
VSS, потому что часы клиентов предполагается синхронизируются контроллерами домена в любом случае ... - person configurator; 29.04.2009

Мне больше всего нравится покойный великий Поль Дилашия:

// Author: If this code works, it was written by Paul DiLascia. If not then I don't know who wrote it.

person Community    schedule 23.04.2009
comment
Обман: stackoverflow.com/questions/184618/ - person Helen; 06.06.2009

Все ошибки добавлены Дэвидом С. Миллером

person Community    schedule 20.10.2008
comment
Интересно, напишет ли кто-нибудь, кто это прочитает, сценарий спам-бота на электронную почту [email protected] - person inspectorG4dget; 05.08.2011

В игре, где на этот объект можно наступить, или:

stepOff(); //bitch
person Community    schedule 05.03.2009

/ * А теперь, чтобы все это выглядело наполовину прилично в отсталом сводном брате семейства браузеров, Internet Fucking Explorer * /

person Community    schedule 20.04.2009

// This is a walkaround for bug #7812

Написал один из наших китайских программистов, для которого английский не был родным языком.

Мне эта очень понравилась. Я думаю, что «обходной путь» - почти лучший термин, чем «обходной путь».

person Community    schedule 09.04.2009
comment
// Это повторный поиск ошибки № 7812 - person joedevon; 23.09.2010

Журнал изменений, который я заметил в устаревшем коде

17.05.99 Д ДЖОНС КОММЕНТАРИЙ К КОДУ BLOODY AUZIES (19.02.99)

17.05.99 K ROBINSON BLOODY TEXAN НЕ МОЖЕТ ПРАВИЛЬНО НАПИСАТЬ AUSSIE (КОД НЕ МЕНЯЕТСЯ - ПРОСТО КОММЕНТАРИЙ)

person Community    schedule 20.04.2009

Использование точки с запятой в VB.NET

TextBox2.Visible = True';
For Each row In data.Tables(0).Rows
    If row("Customers.Id").ToString <> customerId Then
        customerId = row("Customers.ID").ToString';
        name = "Customer Name: " & row("Name").ToString & CrLf';
        address = "Address: " & row("Address").ToString & CrLf & CrLf';
        TextBox2.Text += name & address ';s
    End If';
Next';
person Community    schedule 23.04.2009
comment
Ах, вот как должен быть написан весь код VB! - person Aaron Murgatroyd; 21.08.2011

Еще в начале восьмидесятых я наткнулся на это на ассемблере (цитата по тусклой памяти):

I don't understand how the following bit works, but it worked in the program I stole it from.
person Community    schedule 23.04.2009

Немецкий комментарий в исходном коде, переведенный машиной или очень уставшим человеком + Google

; Rechnen ja ; have faith in yes

Я предполагаю, что оригинал означал «здесь считать правдой» ... но с тех пор я воспринимаю это как мантру своей жизни.

person Community    schedule 11.10.2008
comment
Оригинал означает: «Рассчитать да». Трудно сказать, что он пытался сказать без контекста. Наверное, да, посчитать из условного расчета. - person Stefan Steinegger; 24.04.2009

Немного из ядра Linux:

/* Sun, you just can't beat me, you just can't.  Stop trying,
* give up.  I'm serious, I am going to kick the living shit
* out of you, game over, lights out.
*/

-

/* 2,191 lines of complete and utter shit coming up... */

-

#if 0 /* XXX No fucking way dude... */
person Community    schedule 11.12.2008
comment
Первый относится к bme и hme? - person X-Istence; 19.04.2009

Из исходного кода Apache Xalan:

/**
 * As Gregor Samsa awoke one morning from uneasy dreams he found himself
 * transformed in his bed into a gigantic insect. He was lying on his hard,
 * as it were armour plated, back, and if he lifted his head a little he
 * could see his big, brown belly divided into stiff, arched segments, on
 * top of which the bed quilt could hardly keep in position and was about
 * to slide off completely. His numerous legs, which were pitifully thin
 * compared to the rest of his bulk, waved helplessly before his eyes.
 * "What has happened to me?", he thought. It was no dream....
 */
protected static String DEFAULT_TRANSLET_NAME = "GregorSamsa";

Дополнительная информация о The Daily WTF.

person Community    schedule 02.02.2009
comment
Я регулярно получаю GregorSamsa в файлах журнала для одного веб-сайта, регистратор там регистрирует каждый класс, выгруженный сборщиком мусора. - person cthulhu; 01.09.2010

 /**
   * Returns cookies according to the filters specified.
   * 
   * @return array  Cookies!  Nom nom nom nom nom.
   */
 public function data_getCookies($uid, $name) {

Где-то из facebook api.

person Community    schedule 04.04.2009

Первые две строки файла с именем monitoring.sh:

#!/usr/bin/perl
# perl script disguised as a bash script
person Community    schedule 20.04.2009

Этот я нашел в пакете "twisted" для Python 2.5 (файл tcp.py в строке 371)

# Limit length of buffer to try to send, because some OSes are too
# stupid to do so themselves (ahem windows)
return self.socket.send(buffer(data, 0, self.SEND_LIMIT))
person Community    schedule 15.12.2008

Из классической программы от usenet:

Глубоко внутри кода разработчика аппаратного моделирования Teradyne находится процедура, которая передает целую кучу шестнадцатеричных чисел в вызов SYS $ QIO. Единственный комментарий: «Здесь происходит странное волшебство».

person Community    schedule 08.10.2008

В заголовке файла кода, сильно отредактированного всеми в команде разработчиков:

'Avert your eyes, it may take on other forms!

Старая добрая Фландрия.

person Community    schedule 08.10.2008
comment
почти уверен, что это то, что говорит безымянный школьный учитель в школе фундаменталистов, в которую ходит Барт, преследуя его с веслом после того, как Барт спел песню о бобах или о чем-то подобном. - person quick_dry; 09.10.2008
comment
Ага, бобы, бобы, музыкальные фрукты / чем больше ты ешь, тем больше гудишь. Это была не Фландрия. - person Blorgbeard; 09.10.2008
comment
Flanders - так звали разработчика, написавшего код. Но мне нравится, что у вас есть ссылка. :) - person Robert S.; 10.10.2008
comment
:)) отвращение сказал? хахаха ... это должно быть перевернуть! вместо. - person gumuruh; 22.07.2011

Однажды я спросил коллегу, как что-то сделать (забыл, что именно, какие-то непонятные технические требования) с нашей внутренней структурой. Он сказал «легко, посмотрите ЗДЕСЬ», затем открывает файл .java в своем редакторе и показывает мне этот комментарий посреди нескольких страниц кода:

// HERE

Я только что проверил, комментарий все еще есть в этом файле :)

person Community    schedule 06.02.2009

Этот из Xee, браузера изображений.

    // 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.
person Community    schedule 23.04.2009

Я верю в JBoss, где-то была строчка, которая читала

return null; //Not really null

Мне всегда нравилась эта фраза.

person Community    schedule 09.10.2008

Выставка:

return 0; // Happy ending

Приложение B:

int32_t Interpolate1DSignal(
  Array1D<float64>::Handle hfInputSamples,         // samples to be interpolated
  Array1D<float64>::Handle hfInterpolationFilter,  // polyphase filter coefficients,
  int32_t iFilterInterpolationFactor,              // # of "rows" in polyphase filter
  int32_t iFilterLength,                           // Length of each row in filter
  float64 fInterpolationFactor,                    // Factor to interpolate the
                                                   // signal by
  float64 fTimingOffset,                           // Offset into the signal (units   
                                                   // of samples)
  Array1D<float64>::Handle hfOutputSamples         // left as an exercise for the reader
);
person Community    schedule 27.10.2008

// This will save us ~0.5 sec for every user and please the machine spirits.

Перед очень долгой процедурой :)

person Community    schedule 20.04.2009

На самом деле видел это на днях на каком-то коде, который был написан, когда был крайний срок.

//This was clearly written under duress
person Community    schedule 09.10.2008

// Hard to explain

В конце концов, он тоже сломался. Неудивительно, что это было сложно объяснить

person Community    schedule 09.10.2008

// Added because boss changed his mind : 20020111,20020501,20020820, ...
// Commented out because boss changed his mind : 20020201,20020614,20020908, ...

В сценарии ETL между в основном взломанной базой данных RPG и базой данных SQL Server. У меня было что-то вроде 10 или 20 раз этого комментария ...

person Community    schedule 19.10.2008

Думаю, у меня было что-то в этом роде:


if (case1) { // trivial
...
}
else { // we are screwed
 /* fill in later */
}

хорошо, так что я мог бы использовать более сильное слово, чем облажался

person Community    schedule 22.11.2008

В некоторых ассемблерах в конце строки, содержащей &h723

' RIP LVB

(возьми?)

person Community    schedule 19.12.2008
comment
Покойся с миром Людвиг ван Бетховен (1770 - 1827). 723 шестнадцатеричное = 1827 десятичное. Старый, но хороший. +1. - person Rontologist; 28.01.2009

// this error could never happen

А затем - звонок клиента о том, что он видит сообщение об ошибке, что "эта ошибка не может произойти никогда".

person Community    schedule 27.03.2009
comment
У меня много строк, которые вызывают новое исключение (этого никогда не должно происходить); ... и все же это происходит. - person muusbolla; 10.07.2009

/**---------START-----------**/

  //  IMPLEMENTATION GOES HERE

/**---------END-----------**/

Но кода нет;)

person Community    schedule 06.03.2009
comment
Готов поспорить, что это код, в котором больше всего ошибок нет, если комментарии считаются кодом ... Лол! - person John Baughman; 23.02.2011

Когда я учился в классе CS в старшей школе, нас учили в обычном классе - без компьютеров. Все наши тесты проводились на бумаге, которую мы сдавали - по одному занятию на листе бумаги. Наш учитель впервые вел класс на C ++ и иногда переключался в режим Pascal на классной доске. Это было неудобно, так как мало кто из нас интересовался изучением Паскаля.

Если работа больше, чем в классе, мы выполняем ее дома и сдаваем распечатки кода и результатов для оценки. Отправив несколько распечаток кода и результатов, мы все вместе поняли, что учитель на самом деле не читал код - только распечатки. Чтобы проверить нашу теорию, я поместил комментарий на 3-й странице моего кода - прямо между объявлениями некоторых классов:

// If you are reading this, please place a checkmark here [  ]

Конечно, я получил его обратно с большой синей буквой «А» спереди и без галочки.

person Community    schedule 20.04.2009
comment
Во время моей старшей практики в университете (в основном, 4-месячный проектный курс) мой однокурсник очень любезно внес свой вклад. В нашем 30-страничном отчете, обобщающем проект, у нас было 2 страницы маркированных вещей на каждого члена группы, описывающих все, что мы делали ... мы оставили эту одну страницу товарищей по группе пустой. Моя оценка: 89. Его оценка: 89. - person Steven Evers; 23.04.2009

  rescue
    # silently, we fail
    # many validations fade
    # like tear drops in rain
  end

Это лишь один из многих ...

person Community    schedule 23.04.2009
comment
Единственное, что делает это приятным, - это то, что они написали это на работе. - person balupton; 18.09.2010

Нашел это в make-файле

# ===== Never edit below this line. Ever. Or I'll kick your ass. ====
person Community    schedule 24.04.2009
comment
+1, потому что не заслужил -1 - person samoz; 11.06.2009

Мой любимый комментарий всех времен использовал мой друг-гей. Ему нравилось отмечать все свои комментарии TODO в VB.NET как

'TODO: Matt Damon

Иногда предоставлялась дополнительная информация, но не обычно.

person Community    schedule 20.04.2009

Фактически это было сделано мной, когда я реализовывал прототип, превращенный в настоящий код:

// Abandon all hope you who needs to debug this

Да, кто-то умнее меня впоследствии реорганизовал код (у него должен был быть хороший финал).

person Community    schedule 08.10.2008

«Этого никогда не будет».

Знаменитые последние слова мой друг ...

person Community    schedule 08.10.2008
comment
У меня то же самое, но там написано: Этого никогда не должно происходить - person Milan Babuškov; 09.10.2008
comment
Вот для чего нужны утверждения. - person nmichaels; 25.07.2011

Комментарии по Linux

Хороших тут куча ...

Это все комментарии в linux

http://lwn.net/1998/1015/a/f-word.html

Мои любимые:

./arch/sparc/kernel/ptrace.c
/* Fuck me gently with a chainsaw... */

./drivers/scsi/qlogicpti.h
/* Am I fucking pedantic or what? */
person Community    schedule 16.01.2009

Не комментарии к коду, а комментарии SVN к одному и тому же файлу:

Первая фиксация (после десятков других после получения результатов от тестировщиков):

Squashed some IPR mod bugs. The were big and juicy ones, too.

2-я фиксация:

Squashed some more mod bugs. Those are some nasty bugs, them mod bugs...

3rd:

Squashed some more mod bugs. They are like cockroaches: they'll live through a nuclear war.

4th:

Squashed some more John bugs. They too are like cockroaches: they appear anywhere John goes. Wait. That doesn't sound right.

И 5-й:

Same John bug. It didn't die, just played 'possum.

Да, надоел "Исправленный баг".

person Community    schedule 02.02.2009

Мне нравятся некоторые комментарии в GNU binutils. Это от BFD som.c:

/* You'll never believe all this is necessary to handle relocations
   for function calls.  Having to compute and pack the argument
   relocation bits is the real nightmare.

   If you're interested in how this works, just forget it.  You really
   do not want to know about this braindamage.  */

Это тоже:

/* Don't ask about these magic sequences.  I took them straight
   from gas-1.36 which took them from the a.out man page.  */

...

/* Keep track of exactly where we are within a particular
   space.  This is necessary as the braindamaged HPUX
   loader will create holes between subspaces *and*
   subspace alignments are *NOT* preserved.  What a crock.  */

Еще один:

/* We will NOT put a fucking timestamp in the header here. Every
   time you put it back, I will come in and take it out again. ... */

От газа:

/* Yes this is ugly (storing the broken_word pointer
   in the symbol slot).  Still, this whole chunk of
   code is ugly, and I don't feel like doing anything
   about it.  Think of it as stubbornness in action.  */
person Community    schedule 06.02.2009

Я думаю, это стало вирусным, я обнаружил следующее в демоне (Linux), который не позволяет убийце OOM выбрать его:

/*
 * Don't OOM me, bro!
 */

Это было сразу после mlockall (), чтобы предотвратить подкачку процесса, прокомментировал:

/*
 * Don't swap me, bro!
 */
person Community    schedule 11.02.2009

/* FIXME This must absolutely be removed before 4.0.7 release
 * TODO really remove this */

с тех пор мы выпустили версии 4.0.7, 4.0.8, 4.0.9 и 4.1 ...

person Community    schedule 24.03.2009
comment
лол - нет, тебе нужно это удалить! - person dotjoe; 26.03.2009

Однажды я работал над проектом, где нашел такой комментарий:

// Cabbage fart?

Понятия не имею, что это должно было значить. Просто рад, что моего куба не было рядом с тем, кто его написал.

person Community    schedule 15.04.2009
comment
Видно пердеть после того, как съешь капусту, еще воняет :) - person Andrei Rînea; 17.02.2010

Что ж, вот один, который я только что совершил:

/* Every time I re-visit this function, I feel like
 * I need to take a shower.
 *
 * Don't get too used to this function, its days are
 * numbered.
 */

Кто-то может запустить что-то вроде greatcodecomments.com и заработать немного денег. Однако этот человек не я.

person Community    schedule 24.04.2009
comment
Будь я проклят ... этот домен взят! - person Bobby; 02.10.2010

Мой любимый (должен признать, что использовал много раз):

// Yes...I know this is repulsive and stupid.
// But <%CompanyOwnerOrManagerToken%>, not knowing a thing about code,
// demanded I do it anyways. SO, go crap on their desk, not mine.
// K THX BYE 
person Community    schedule 05.03.2009

/* Here I sit, Joe broken hearted, came to do some sh*t, but only just started. */

Что касается тяжелой проверки ввода регулярных выражений.

person Community    schedule 20.04.2009

В середине файла JScript из нескольких тысяч строк после совершенно произвольной строки ...

// The world is a happy place.
person Community    schedule 23.04.2009

В заголовке файла XSLT:

DON'T TOUCH THIS SCRIPT -> XSLT is like arcane, black magic
person Community    schedule 09.10.2008
comment
Я согласен. Много лет назад я сделал некоторые чудеса XSLT. Это было что-то вроде вуду, но, клянусь, мне было весело, когда я не выдергивал волосы, то есть. - person schonarth; 21.10.2008
comment
Да, сложные вещи - это просто, но простые вещи могут свести с ума в XSLT ... - person André; 24.10.2008

Найдено в JUnit API:

/**
 * ...as the moon sets over the early morning Merlin, Oregon
 * mountains, our intrepid adventurers type...
 */
public Test createTest(Class theClass, String name) {
    ...
}
person Community    schedule 09.10.2008

Точно не помню, но идея была примерно такая:

Person p = new Person("John", "Doe", "male");
Collection women = new ArrayList();
women.insert(p.getTail());

Это грязный код;)

person Community    schedule 10.10.2008
comment
В этом ответе не было комментариев, пока я не добавил этот. - person Windows programmer; 14.10.2008
comment
Мета-комментарий программиста LOL @ Windows - person e.tadeu; 10.02.2010
comment
Каким бы грязным ни был этот код, в результате вы помещаете мужчину в совокупность женщин. Поэтому, когда следующий программист использует список женщин, он получает мужчину и использует его как женщину. Итак, в то время как первый программист думает, что своему парню повезло, следующий гарантирует, что парень получит такое же лечение, как уронит мыло. - person Lee Louviere; 28.01.2011

// Whoever put this here is an idiot...this doesn't work at all !

Но код все еще там ...

person Community    schedule 10.10.2008

Видно в исходном коде компьютерной игры LucasArts «Эйдолон» (которая сама по себе была странной и дурацкой) ...

// He's dead, Jim!
person Community    schedule 09.10.2008

От парня, который явно наблюдал за Монти Пайтоном:

> // And now, for something completely
> // different:

class theLarch {

person Community    schedule 13.10.2008

Только что добавил это сегодня:

// Hardcoded this for time sake ... will make andrew fix later :)
person Community    schedule 21.11.2008

Этот комментарий взят из старого проекта, который мне пришлось отлаживать:

//Haleluya i can go home!
person Community    schedule 05.02.2009
comment
Я не удивлен, что вам пришлось отлаживать код, когда он даже не мог правильно написать «аллилуйя». - person Abizern; 09.03.2009
comment
это потому, что не было поддержки intellisense - person Louis Rhys; 17.12.2010

Мне пришлось добавить его к нашему старому механизму правил, основанному на данных, прежде чем я решил заменить его языком сценариев.

        /************************************************************
        *                                                           *
        *  .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.       *
        *   |                     ______                     |      *
        *   |                  .-"      "-.                  |      *
        *   |                 /            \                 |      *
        *   |     _          |              |          _     |      *
        *   |    ( \         |,  .-.  .-.  ,|         / )    |      *
        *   |     > "=._     | )(__/  \__)( |     _.=" <     |      *
        *   |    (_/"=._"=._ |/     /\     \| _.="_.="\_)    |      *
        *   |           "=._"(_     ^^     _)"_.="           |      *
        *   |               "=\__|IIIIII|__/="               |      *
        *   |              _.="| \IIIIII/ |"=._              |      *
        *   |    _     _.="_.="\          /"=._"=._     _    |      *
        *   |   ( \_.="_.="     `--------`     "=._"=._/ )   |      *
        *   |    > _.="                            "=._ <    |      *
        *   |   (_/                                    \_)   |      *
        *   |                                                |      *
        *   '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
        *                                                           *
        *      LASCIATE OGNI SPERANZA, VOI CH'ENTRATE               *
        *************************************************************/
person Community    schedule 05.03.2009
comment
Для всех, кто не знает Божественную комедию (или итальянскую, как я), это Abandon all hope, ye who enter here. - person Bobby; 01.10.2010

Из исходного кода UNIX версии 6, около 1975 года:

/* You are not expected to understand this. */
person Community    schedule 19.04.2009

// Fuck.

Это и ...

// This code worked before, but my cat decided to take a trip across my keyboard...
person Community    schedule 20.04.2009

'Do not optimize these next two lines. Compiler bugs lurk.

И они это сделали. Сжатие переменной в выражение во второй строке привело к прыжку в середину кучи и попытке выполнить данные.

person Community    schedule 11.10.2008

THIS PROGRAM HAS CODE THAT DOES NOT MEET STANDARDS      

Этот комментарий есть почти в каждой программе, которая у нас есть ....

person Community    schedule 08.10.2008
comment
Как Википедия с тегами очистки и цитирования ... - person Nicholas Knight; 21.01.2010

# absolutely foul heuristic code.
# ..it's dirty, but you want it.

и:

# VERY USEFUL DEBUGGING AID, for when the above all goes pearshaped:
person Community    schedule 09.10.2008

Не комментарий, а атрибут

[ThereBeDragons]

И один я видел в реализации IHttpHandler

//What is this?
public bool IsReusable
{
    get{return false;}
}
person Community    schedule 10.10.2008
comment
Хех, на самом деле я сделал то же самое, когда впервые играл с IHttpHandler .. - person driAn; 04.01.2009

Это код из моего собственного кода, но он по-прежнему забавный, и я полагаю, что с таким же успехом могу выложить его, потому что он находится в общедоступном SVN.

// These were orginally up and down. When it was clear the names were
// inapplicable, they were renamed to retain the joke.
// Sorry if you were hoping for useful variable names.
quantum strange, charm;
person Community    schedule 24.10.2008

При отладке чужого JavaScript я увидел следующий комментарий:

// Notice: I feel so dirty doing this, but it's the only way to make it cross browser.

Но, читая пост Скотта Хансельмена, я наткнулся на следующую цитату, которая очень хорошо сочетается с комментариями, которые я нашел внутри кода:

Every line of code you write that you feel gross about will ultimately come back to haunt you. Therefore, avoid writing code that makes you feel dirty.

Это забавно :)

person Community    schedule 20.04.2009

// Bad Christian, No cookie

Cookie в этом контексте не относится к cookie браузера.

person Community    schedule 09.10.2008

Это мой самый любимый комментарий.

/// I intend to do this as shittily as possible because there are many better products that will totally blow this out of the water
/// and we don't have them so whatever

Позже в этом файле мы повеселимся, например,

/// sidestep a bug in WCF (that we can't send types across)
/// or, depending on how you look at, this issue is a Feature

И снова позже

if( where == null)//be nice
person Community    schedule 12.10.2008
comment
Я предполагаю, что он не был знаком с контрактом WCF Datacontract ... - person Spence; 07.03.2009
comment
ммм не так уж и много. Он также пытался отправлять несериализуемые типы, такие как итераторы и System.Type. WCF не понравился никому из них ... - person smaclell; 08.03.2009

В крупном инвестиционном банке, который требовал, чтобы все сбои приложений регистрировались и комментировались, я видел

Without a crash 

Or mighty bang 

The sync disk 

Did it's process hang
person Community    schedule 20.10.2008

Я только что наткнулся на это в очень простой тестовой программе на C ++ для класса в колледже.

Я комментировал курс.

В деструкторе ...

// Choose! Choose the form of the Destructor!
// The choice is made! The Traveler has come!
person Community    schedule 28.01.2009

Я обнаружил этот драгоценный камень при просмотре HTML-источника более ранней версии итерация сайта ТВНЗ (из строки 571, если вы подыгрываете дома):

<!-- Hopfully we can do this otherwise the nav is going to be pretty plain and Hong will go postal. -->
person Community    schedule 16.03.2009

// TODO: Drive an ashen stake through the foul heart of this function.

И это была грязная функция. Мне по сей день снятся кошмары об этом.

person Community    schedule 26.03.2009

Ну, это мои, так что WTF - это я, как сказал CodingHorror:

//#region Code for weird cases - do you really want to know?

Однажды я оставил такой комментарий в каком-то ASP:

' Commented out following code, don't delete for when [CustomerName] changes his mind

Так получилось, что [CustomerName] не передумал, но он ДЕЙСТВИТЕЛЬНО имел доступ к веб-серверу, и он ДЕЙСТВИТЕЛЬНО нашел эту строку ...

person Community    schedule 06.04.2009

Я нашел это в поиске кода Google

    // Constructs a tuple with 2 elements (fucking idiot, use std::pair instead!)
    template <typename T0,typename T1>
    inline tuple <T0,T1> make_tuple (const T0& t0,
            const T1& t1) {
            tuple <T0,T1> t;
            t.get<0>() = t0;
            t.get<1>() = t1;
            return t;
    }
person Community    schedule 20.04.2009

// TODO: not this

Написано коллегой над запросом, отчаянно нуждающимся в оптимизации. В его защиту, мы все работали по 70 часов в неделю в течение нескольких месяцев на тот момент ...

person Community    schedule 20.04.2009

// This part is more difficult

Вверху метода.

Это было около 5 строк.

И не очень сложно.

Это был единственный комментарий.

Во всем приложении.

person Community    schedule 20.04.2009
comment
Еще +1, если можно - просто за стиль ваших комментариев к комментарию - person inspectorG4dget; 29.07.2011

Забавная опечатка, странно подходящая:

assert(0); // should never shit this point

person Community    schedule 10.10.2008

Не совсем комментарий:

DvLog::Log("This silly log message fixes a PSCRIPT5.DLL gpf when printing to Adobe.");

Печально то, что без комментария PSCRIPT5.DLL действительно взорвалась ...

person Community    schedule 11.10.2008
comment
PSCRIPT5.DLL - мой враг. Я хотел бы увидеть источник этого ублюдка, просто чтобы попытаться понять, о чем они думают. Конечно, если бы я увидел источник, уверен, я бы расстроился еще больше, чем сейчас. Конечно, код, который генерирует такой безумный результат, сам должен быть более безумным. - person Troy Howard; 05.12.2008

В LKM:

/*
* Dear Richard Stallman,
*
* This one's for you.
*
* Sincerely,
* Me
*
*/
MODULE_LICENSE( "GPL" );
person Community    schedule 18.12.2008

Я недавно видел это:

// вы только что проиграли игру

если вы не знаете, что это за игра: http://en.wikipedia.org/wiki/The_Game_(mind_game) (это очень глупо, но глупо в некотором роде интересно)

person Community    schedule 20.04.2009

// *** drunk -- fix later ***

прямой ссылка

Еще больше удовольствия с поиском кода Google. ..

person Community    schedule 22.04.2009
comment
Ооо, этот поиск больше ничего не возвращает (по крайней мере, для меня). - person Sean Hagen; 22.07.2011

Я видел этот код в функции FULL явных странных приведений:

// Since today's CPUs are really fast, this is dedicated to those who said:
// " You can't use Moore's Law as an excuse to write bad software. "

Код был ужасным :)

person Community    schedule 22.04.2009

Перекомпилируем FreeTextBox3 впервые в нашем приложении, потому что нам нужна поддержка IE8 ... И посмотрите, что я нашел:

// IE7 update. this is still bad code, but IE8 is probably a long way off :)
person Community    schedule 24.04.2009

# dont question, i just felt like throwing some globals in
# this is actually quite pointless as youll soon see

позже в коде

#draw the circles (complicated)...dont question

даже позже ...

# complicated process of drawing the circles in a
# somewhat symmetrical, 3-d pattern
# dont question again

и даже позже ...

# will determine if user clicks on die
# i determined these values...dont worry about them
person Community    schedule 27.04.2009
comment
Бьюсь об заклад, нет # Я обещаю отладить этот код, когда он неизбежно сломается - person johnc; 06.01.2011

Я обнаружил это при повторном использовании класса PHP, который написал довольно давно. Я до сих пор не могу вспомнить, что там было, и до сих пор не нашел в этом никакого применения ... Я даже не помню, чтобы писал этот комментарий; так что я буквально рассмеялся, когда нашел его.

try
{               
    // Some database logic
}
catch (Exception $ex)
{
    // sure, it looks silly and I honestly cant remember what code used to go here... but i swear i will
    // find a use for this code.... eventually....
    throw $ex;
}
person Community    schedule 09.10.2008

Некоторые из очень немногих комментариев в более чем 5000 строк кода в одном файле
У меня действительно есть спор с кодировщиком, который защищал свой стиль кодирования ...
Без комментариев!
И не было никаких комментариев; - ) (или очень мало)
К сожалению, это производственный код.

offset=1;
for (i=0;i<=len;i++)
    {
    if ((i!=0)&&(i<len)) //-3
        {
        switch(mess[i])
            {
            case ETX:
            case ETB:
            case DLE:
                buf[offset]=DLE;
                offset++;
                break;
            }
        }
    buf[offset]=mess[i];
    offset++;
    }

Обожаю выключатель!

for (n=0;n<offset;n++)
{
    Sleep(TR);  //Modif A
    Sleep(T);//
    FWriteFile(hCom,buf+n,1,&dwMot,NULL);
    if (ECHO)
        FReadFile(hCom,tab,1,&dwMot,NULL);
}

и нет, комментариев, поясняющих, что такое "modif A" в шапке, нет.

if (GetFileSize(hSlotFile,NULL)==3600)   //5*720

а что 720?

person Community    schedule 09.10.2008
comment
720 - это 30 дней часов. - person eyelidlessness; 11.10.2008
comment
720 - это 2 * 2 * 2 * 2 * 3 * 3 * 5, да. - person configurator; 29.04.2009

Изучая уровень аппаратной абстракции, работая на одного финского производителя оборудования для мобильных сетей, я обнаружил более 100 случаев финского слова «пуукко».

Пуукко - это универсальный нож, который есть у каждого финна в ящике для инструментов или дома. Его используют для всего, от чистки картофеля до ремонта компьютеров (мои наблюдения). Я считаю, что в этом контексте это финский эквивалент слова «взломать».

Мои финские коллеги отрицали это и сказали, что это означает нечто большее, чем «хирургическая процедура / вмешательство» ... и я почти поверил им, пока не нашел комментарий:

/* Perkele ISO Puukko! */ -> Fucking Big Hack!
person Community    schedule 09.10.2008

Я только что закончил колледж и очень хотел запачкать руки. Моей первой задачей было ... "прокомментировать этот код для меня".

Подонок.

Через некоторое время мне это наскучило ...

// this function doesn't actually calculated the profit, like it says --it really signals the mothership orbiting saturn that the planet is ripe for takeover

[later]

// I don't think anyone is going to read this

[various permutations on that last one]
person Community    schedule 09.10.2008

Через несколько часов после того, как я показал другу этот пост из Coding Horror, я увидел это прокомментируйте его код:

// Мистер Валдез - жестокий психопат. Не зли его.

person Community    schedule 09.10.2008

После того, как меня заставили писать модульные тесты для анемичных объектов домена, которые представляют собой не что иное, как мешки геттеров и сеттеров (которые я тоже был вынужден написать):

// zzzzZZZZzzzz....
person Community    schedule 10.10.2008
comment
Разве вы не любите модульное тестирование компилятора? Мои наименее любимые тесты (конечно, после модульного тестирования по математике) - person johnc; 06.01.2011

У меня больше нет точного пакета кода, но я отчетливо помню комментарий.

// The code below needs to be changed immediately.
// I wish I was a little bit taller
// I wish I was a baller
// I wish I had a girl who looked good, I would call her.
person Community    schedule 15.12.2008
comment
Я припоминаю, что примерно в 1995 году это был популярный сингл ... - person asveikau; 11.11.2009

Из класса модульного тестирования на C #:

#region quis custodiet ipsos custodes?

[Fact]
public void TestPositive()
{
    Assert.Equal(4, 2 + 2);
}

[Fact]
public void TestNegative()
{
    Assert.Equal(5, 2 + 2);
}

#endregion
person Community    schedule 30.12.2008
comment
Для тех, кто не говорит по-латыни: «Кто будет охранять самих охранников?» - person Iain; 16.03.2011

Это было для настраиваемого DHCP-сервера, который мы использовали в общежитиях университета для помещения компьютеров в пулы «чистых» или «грязных» IP-адресов в зависимости от того, зарегистрированы / установлены ли они исправления и антивирус:

public boolean getDirty (String MAC) // not as fun as it sounds
person Community    schedule 23.04.2009

Вся эта функция довольно хороша (из драйвера Linux sunhme.c для сетевой карты, получившей от Sun прозвище Happy Meal. Потому что карта, которая была до этого, была «Big MAC». Поняли? Поняли?)

static void happy_meal_tcvr_write(struct happy_meal *hp,
                              void __iomem *tregs, int reg,
                              unsigned short value)
{
    int tries = TCVR_WRITE_TRIES;

    ASD(("happy_meal_tcvr_write: reg=0x%02x value=%04x\n", reg, value));

    /* Welcome to Sun Microsystems, can I take your order please? */
    if (!(hp->happy_flags & HFLAG_FENABLE)) {
            happy_meal_bb_write(hp, tregs, reg, value);
            return;
    }

    /* Would you like fries with that? */
    hme_write32(hp, tregs + TCVR_FRAME,
                (FRAME_WRITE | (hp->paddr << 23) |
                 ((reg & 0xff) << 18) | (value & 0xffff)));
    while (!(hme_read32(hp, tregs + TCVR_FRAME) & 0x10000) && --tries)
            udelay(20);

    /* Anything else? */
    if (!tries)
            printk(KERN_ERR "happy meal: Aieee, transceiver MIF write bolixed\n");

    /* Fifty-two cents is your change, have a nice day. */

}

person Community    schedule 20.04.2009
comment
Обман: stackoverflow.com/questions/184618/ - person nobody; 20.04.2009

// TODO: what the hell is this all about?

А затем закомментированный код.

Это было обнаружено в нашем коде в работе ранее сегодня. Я не уверен, смеяться мне или плакать ...

person Community    schedule 24.04.2009

Ctrl + A, перезаписать

Это был комментарий, добавленный в систему управления версиями к предыдущему проекту в качестве комментария возврата.

person Community    schedule 23.04.2009

Я когда-то работал над исходным кодом Windows 3.0. (Нет, я спешу добавить, как сотрудник Microsoft!) Там я наткнулся на загрузчик файлов, который возвращался несколько раз, и у меня был один пример неприятного каламбура (просто чтобы показать, насколько умным был автор).

Этот беспорядок реентерабельного кода был выполнен с помощью инструкции jmp сборки Intel (в середине кода C), которая перешла на метку "we_are_not_in_kansas_any_more_toto".

person Community    schedule 11.02.2009
comment
Это забавно! Это провалилось в if_i_only_had_a_brain? - person Tim Post♦; 11.02.2009
comment
мы больше не в Си ... чистый гений - person muusbolla; 10.07.2009

-- Change Log:  Not needed. The code is perfect 'cause I wrote it.
-- If you change it, it will break.

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

person Community    schedule 09.10.2008

//Iterate by one
$i++;

К сожалению, это было мое, во время моей фазы «Все должны комментировать».

person Community    schedule 02.12.2008
comment
Кроме того, вы, вероятно, имели в виду увеличение на единицу. - person x0n; 02.12.2008
comment
Что ж, он действительно повторил. То есть он перешел к следующему в теоретическом бесконечном массиве чисел. - person tsilb; 20.11.2009
comment
Что ж, оба правы. В то время я разрабатывал на php и везде использовал структуру while, поэтому я имею в виду итерацию до следующего индексного ключа массива, который интегрируется внутри while ($ i ‹array_length) - person Nikola Stjelja; 07.12.2009

Работая над некоторыми веб-сайтами, я обнаружил следующее при запуске встроенного JS:

Я чувствую себя таким грязным, делая это, но парень хотел, чтобы это было в .NET

person Community    schedule 02.12.2008

УЖАСНЫЙ патч для декодирования (перевод на итальянский язык):

/**
*@return the value 
*@param key: the id of the list of instruments
*@PS this function is a violation of all the laws of the 
*software engineering, 
*commons sense, highway code 
*and ONU decision about the coding.
That sh*t...
*/
person Community    schedule 18.12.2008

Только что нашел это в нашем PHP-коде.

$s=2; // chicken and bacon wrap for lunch

Насколько полезно, к счастью, $ s не требует пояснений

person Community    schedule 02.02.2009

удалось вставить этот плохой каламбур в наш код

for (bo_thans = 0 ; bo_thans < MAX ; bo_thans++)
{
    if(rs == thing[bo_thans])
    {
       found = true;
    }
}

if(!found)
{
   /* Failed to find rs with bo_thans */
   ...
}
person Community    schedule 06.04.2009
comment
Сколько ботанов погибло, чтобы сообщить вам эту информацию? - person Brian Postow; 06.04.2009

От подрядчика в заявке для банка Великобритании.

// i don't know how this works but it does so i'll leave it here anyway

Он также добавил BNP (очень правую британскую партию) в качестве одного из фиктивных клиентов для тестирования ... наш непосредственный начальник был азиатского происхождения.

person Community    schedule 09.04.2009

<!-- Here it is -->

Других комментариев нигде нет. По сей день я не знаю, что «это» было.

person Community    schedule 11.04.2009
comment
очевидно, это был единственный комментарий. - person munificent; 16.04.2009

У меня нет кода, которым можно поделиться, но представьте себе этот сценарий. Примерно через месяц или два после того, как наш системный администратор Linux ушел на более зеленые пастбища, я имел удовольствие открыть сценарий оболочки, который он написал. Не могу вспомнить, зачем мне это нужно было редактировать, но дело не в этом. Важно то, что в сценарии было около 40 строк. Я прокрутил комментарий (из них было 37 строк), чтобы добраться до фактического рабочего кода (3 строки). Код был отличным, но мне было любопытно - почему 37 строк комментариев? Итак, я прокрутил вверх и приступил к чтению. К моему удивлению, комментарий был рассказом о том, что делают три строки кода и как это изменить. Лучшая часть - это была частичная копия Nothing But A G Thing доктора Дре и Snoop D O DOUBLE G. Спасибо, Брайан!

person Community    schedule 20.04.2009
comment
пожалуйста, верните его нам! :) - person bluish; 22.07.2011

Мне больше всего нравится документация в форма лимерика:

        Subclassing made Zope and TR
        much harder to work with by far.
            So before you inherit,
            be sure to declare it
        Adapter, not PyObject*

Это, вероятно, немного портит шутку, но, поскольку это немного неясно, я объясню:

«TR» здесь относится к «Искаженной реальности». Zope 2 и исходный пакет twisted.reality широко и неудачно использовали множественное наследование, что могло затруднить понимание того, что происходило, когда вы видели вызов метода. Zope 3, сам Twisted и последователи twisted.reality (включая самые последние, Imaginary) в целом предпочитают компонентный состав.

person Community    schedule 20.04.2009

Это намного приятнее, чем пугающие юридические уведомления и заявления об отказе от ответственности, которые вы видите в заголовках многих комментариев. Из SQLite.

/*
** The author disclaims copyright to this source code.  In place of
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
*/
person Community    schedule 26.03.2009
comment
-1 дубликат (см. Выше) - person bluish; 21.07.2011

У нас был групповой проект по созданию ИИ Connect 4 с использованием деревьев Min-Max. В нашей функции оценки ходов мы просили ее вычислить оценку для доски, и над этим блоком кода был такой комментарий:

// This is kind of almost useless

Но становится лучше. Наш инструктор дал нам образец кода из грубого искусственного интеллекта, который он сделал, и оставил отличный комментарий:

// We also add/subtract some points based on what's going on, on the bottom
// row. (I think this is retarded, but apparently when I coded this up 
// back in 1999 I didn't.)
person Community    schedule 24.04.2009
comment
Вы счастливчик. Мне также пришлось создать ИИ Connect4, используя деревья Мин-Макс. Соло. Без образца кода. Моим наставником был ТА, который скоро получил высшее образование, поэтому он немного поленился ... - person muusbolla; 10.07.2009

моим любимым было что-то вроде этого

 # commented out
 ...
 ### end of the formerly uncommented #2001-02-22 John Doe
person Community    schedule 25.04.2009

Я просто столкнулся с этим в своем собственном коде. Это было в шаблоне администратора Magento для выбора категории:

        /*
         * OK; before you read the following code know what I am trying to do.
         * I needed to get the list of child catagories from the root node so that
         * the root node didn't appear in the selection box. But for some stupid
         * fucking reason the stupid fucking DBA wont let me access the items using
         * indicies and I instead have to use their stupid fucking Iterator
         * implementation. So there.
         */
        $firstList = $this->getRootNode()->getChildren();
        foreach ($firstList as $node)
        {
            $nodes = $node->getChildren();
            break;          // wtf?
        }

Я, конечно же, уберу язык из нашего флагманского продукта; но я помню, что был очень расстроен. Если бы я не оставил комментарий, я бы попытался его отредактировать, но затем столкнулся бы с теми же проблемами, что и раньше.

person Community    schedule 14.03.2009
comment
Похоже, автор комментария wtf НЕ читал введение: D - person guerda; 24.03.2009
comment
Я довольно часто вижу, что это работает в устаревшем коде - person Wojtek Turowicz; 25.07.2011

В кучке плохо вырезанных и вставленных исходных кодов веб-приложения для управления контентом:

// load image 1 - JPEG 240x320
img = f1.getImage();
if (check(img))
{
   load(img, Constants.JPEG_240x320);
}

// load image 2 - JPEG 128x128
img = f2.getImage();
if (check(img))
{
   load(img, Constants.JPEG_128x128);
}

...

// load image 13 - GIF 256x256
img = f13.getImage();
if (check(img))
{
   load(img, Constants.GIF256x256);
}

// loaded all of the f**king images

примечание: примерно перевод с итальянского :-)

person Community    schedule 24.04.2009

Из C #

#region Hack - Shield Eyes Before Expanding

/// <summary>
/// A single uint with all of the bits set to represent the different tracing
/// </summary>
/// <remarks>
/// Ugly I know, so if you can think of a better way, feel free to rewrite.
/// </remarks>
[Browsable(false)]
public uint TraceBitfield
{
    // Snip
}

#endregion
person Community    schedule 02.12.2008
comment
Не редкость. Я часто очерняю свой собственный код, когда пишу комментарии, умоляя читателя провести рефакторинг, если у него есть идея получше. - person moffdub; 18.12.2008

Я нашел это:

I'm not sure what I did
person Community    schedule 08.10.2008

Не в коде, а в связанной системе отслеживания ошибок:

Это не может быть ошибкой в ​​моем коде. Я очень тщательно его закодировал.

person Community    schedule 05.03.2009

Много лет назад я взял на себя эту работу по поддержке проекта, который работал в режиме реального времени на Z80 и находился на стадии сборки (есть ли другой способ сделать Z80 ??) В любом случае, первоначальным автором был парень из Нигерии по имени Моисей. Может, мне стоит просто остановиться на этом. Во всяком случае, по всему коду было разбросано следующее:

XRA A    ;MT

Мне потребовалось некоторое время, чтобы понять, что это было. Сама инструкция не делает ничего, кроме очистки аккумулятора. Это отличный способ, хотя я не уверен, есть в нем преимущество или нет. вы можете просто сделать:

LDA 0

Но возможно

XRA A

сохраняет байт или что-то в этом роде. То, что делает - это эксклюзив или аккумулятор сам с собой. Результат, конечно, всегда нулевой.

Вернуться к МТ - Пусто (понятно?)

Это лучшее, что я встречал.

person Community    schedule 21.04.2009
comment
XOR A, A (который, я думаю, был мнемоникой Z80, другой, скорее всего, 8080) - это однобайтовый код операции. LD A, 0 - это двухбайтовый код операции. Он, наверное, просто должен был сделать макрос ZEROA или около того :) - person Thorbjørn Ravn Andersen; 21.10.2009

В классе с именем «Bar» (который был элементом управления пользовательского интерфейса с менее описательным именем) заголовок класса:

/// <summary>I pity the "foo".</summary>

И метод Remove():

/// <summary>A "foo" and his money are soon parted.</summary>

Хуже того, это был партнер по бизнесу, который указал на это из сгенерированной документации. Еще хуже то, что это, вероятно, самое близкое к полезной документации, что мы когда-либо получали от этого парня.

person Community    schedule 24.11.2008

Некоторое время назад я наткнулся на какой-то сценарий подключения, и, хотя я не помню синтаксиса, я все же помню комментарии, поскольку я фанат Pink Floyd.

//Attempt Handshake: Hello? This is London calling. Are we reaching you?


//Handshake Failed: I don't understand...he just hung up.
person Community    schedule 04.12.2008
comment
Разве это не должно быть ... это звонки из Соединенных Штатов ... при условии, что это стена (не покидай меня сейчас)? - person Rob; 23.12.2008
comment
Конечно, речь не идет о великолепной песне Clash London Calling? - person bluish; 22.07.2011

Этот хорошо известен, но мне он нравится (в sys / ufs / ufs_vnops.c):

/*
 * A virgin directory (no blushing please).
 */

в дереве исходных текстов ядра FreeBSD (и даже раньше, обратно в 4.xBSD)

person Community    schedule 18.12.2008

// but the "real" solution is much more complicated

из jpgraph

person Community    schedule 08.10.2008

/* logic */
#ifndef TRUE
# define TRUE 1
#endif /* TRUE */
#ifndef FALSE
# define FALSE 0
#endif /* FALSE */
#define EOF_OK TRUE
#define EOF_NOT_OK FALSE

и остальная часть великолепного mkentry.c на страница IOCCC. Я не могу смеяться каждый раз, когда читаю этот источник.

person Community    schedule 08.10.2008

Остерегайтесь ошибок в приведенном выше коде; Я только доказал, что это правильно, а не пробовал.

Это Дональд Кнут.

person Community    schedule 10.10.2008
comment
дубликат (см. выше), и он взят из эссе, а не из кода - person thomasrutter; 23.04.2009

' Oh man I'm pissed. I think I better go home.

где злой = пьяный

person Community    schedule 12.10.2008

Я не сталкивался с этим на собственном опыте, но это хорошая история (см. Объяснение в моем комментарии):

#define MSGTAG_B33R     0x723 /* RIPLVB */
person Community    schedule 07.11.2008
comment
Людвиг Ван Бетховен (LVB) умер в 1827 году (== 0x723). Красиво, правда? - person Jason Sundram; 07.11.2008
comment
Насколько я понял, единственный комментарий в программе был в строке 1750 и гласил RIPJSB, отсылка к Баху. - person Jeffrey L Whitledge; 22.11.2008
comment
-1 это дубликат (см. Выше) - person bluish; 22.07.2011

Из устаревшего сценария Perl CGI:

# This is convoluted and evil, sorry.
person Community    schedule 30.10.2008

Этот был забавным для других, но не для меня. Я унаследовал код (который был ASP) от разработчика, который сам унаследовал его. Первый программист создал очень сложный для понимания код. Второй разработчик добавил следующий комментарий (имена скрыты, чтобы защитить не столь уж невинных):

'This code was written by **************.
'I haven't a clue what it does. He hasn't a clue what it does.
'Nobody else has a clue what it does or how it does it.
'It is something to do with data but **** knows what.
'The ******* still works so please do not change this code,
'even though it is a complete pile of ****.

Так почему же мне это не показалось забавным? Ну, это был код ASP для интрасети клиента.

... и это был клиент, который выделил мне комментарий.

:-(

person Community    schedule 02.02.2009

#!/usr/bin/sh
#       Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
#         All Rights Reserved

#       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
#       The copyright notice above does not evidence any
#       actual or intended publication of such source code.

#ident  "@(#)false.sh   1.6     93/01/11 SMI"   /* SVr4.0 1.3   */
exit 255

Взято из SunOS 5.9 aka Solaris 9 (/ usr / bin / false)

person Community    schedule 22.04.2009
comment
Это уже неправда. Теперь, когда это опубликовано, это ложь. - person Windows programmer; 23.04.2009
comment
Хех, Шредингер гордился бы. - person Erik Forbes; 24.04.2009

//too much log will kill you

Этот комментарий я написал сам, когда снизил приоритет некоторых журналов, которые в противном случае записали бы сотни МБ мусора и серьезно подорвали бы производительность приложения.

person Community    schedule 24.04.2009

Я видел это однажды:

//this used to be a comment
person Community    schedule 01.02.2009

public static final void attachListener(Object listener) {

/* ======================= */

// This does nothing, continue searching

/* ======================= */

...

больно со слушателями!

person Community    schedule 23.04.2009

/* Only break the connection if it actually exists. It is important to
 * check the timeslot saved in the SOURCE of the disconnect message. */

Я написал этот комментарий и теперь не могу вспомнить, ПОЧЕМУ это важно ...

person Community    schedule 23.04.2009

Смотрите это:

'On Error Goto Hell.
person Community    schedule 03.04.2009
comment
написал это 5 лет назад, но у меня тоже были небеса. - person Behrooz; 05.02.2010

//FIXME: fix this before the 1.0 release

они были на версии 4

person Community    schedule 19.04.2009

Из абсолютно прекрасного проекта, над которым я работал до недавнего времени (да, я признаю, некоторые из них мои, но я не скажу вам, над каким):

if(FAILED(hr))
{
    char fuck[256];
    sprintf(fuck, "GetBuffer() fucking fucked the fuck: %d", hr);
    MessageBoxA(0, fuck, fuck, MB_OK | MB_ICONERROR);
    return;
}


// This is for Chris, since he gets all hot and horny over "uint" instead of "unsigned int"
// ... or maybe he's just a lazy fuck. Who knows!?
using Ogre::uint; 
// movable texts, fucktory
MovableObjectTextFactory* m_pMovableObjectTextFactory;


// diarrhea... shitting CR from the string. complete run...

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

// unlock shit (duh, this comment is useless)
pixelBuffer->unlock();


// :HACK: remove me after demo is shipped
Of course, it's still in there ;)


// it's 4am and I can't think of a decent error message.
// my lead just fell asleep at his desk, so I can't ask him.
// [name] went home because he didn't want to get divorced.
// and so it's little ol' me, sitting here, comin up with an
// error message for something that should never ever happen.
ASSERT0(in_len == max_in, "http://www.youtube.com/watch?v=oHg5SJYRHA0"); 


// you want hungarian, you GET hungarian!
for(int fcknglpidxcntvrI = 0; fcknglpidxcntvrI &lt; len; fcknglpidxcntvrI++)


bool bKillSomethingAlive = false; // beating the dead horse instead

Конечно, у нас также есть хорошая коллекция интересных способов сказать «взломать»:

// HACKOMATIC 
// HMM... HACKXOR?
// HACK'O'ROONY
// AR; yeah I know it's HACKsoup
// HACK SHOT! DOMINATING!
// HACK'KIDO
// HACKku. sepukku. harakiri. kamikaze. ninja.
// HACK'o'NEIL
// HACKsaw
person Community    schedule 20.04.2009
comment
-1 переросшая ненормативная лексика. - person balupton; 18.09.2010

в конце довольно длинного и запутанного набора циклов while и блоков if соответствующий разработчик вставил последний комментарий:

else
{
    // wobbly wilson said this would *never* happen!!
}

лаконичная смесь остроумия и сарказма :)

person Community    schedule 22.10.2008

BerkeleyDB

/*
 * Chaos reigns within.
 * Reflect, repent, and reboot.
 * Order shall return.
 */
return (DB_RUNRECOVERY);
person Community    schedule 03.04.2009

Строго говоря, это не комментарий, но ...

Это была середина 1990-х, и я работал над большим переходом: небольшой поставщик программного обеспечения, большой клиент, большое давление. У нас было много вещей со смещением ворот; проект было очень трудно контролировать. Я был ключевым разработчиком, но новичком в системе, а другой разработчик был владельцем / основателем поставщика.

После нескольких месяцев, когда не совсем уложились сроки и не совсем удовлетворили клиента, владелец / основатель пригласил другого разработчика, который работал удаленно. (Я рискну и скажу, что у нового разработчика меньше навыков и опыта, чем у меня.)

Что ж, новый парень внес некоторые изменения в код, над которым я уже работал, а через месяц или два я вернулся в ту же часть кода, и там были переменные, которых я раньше не видел. С такими именами, как StupidMark.

Чувак, это просто неправильно. Я имею в виду, есть соображения совместной работы, но также: в этой среде имена переменных могут отображаться в сообщениях об ошибках времени выполнения. Я просто говорю.

На мой взгляд, в то время код нового парня в любом случае не приближал нас к готовому продукту, что еще больше раздражало.

person Community    schedule 08.10.2008

// this is really complicated

без других комментариев

person Community    schedule 08.10.2008

первая строка функции javascript:

// this part is more difficult

Какого черта?

person Community    schedule 21.10.2008

В основном коде триггера для транзакций в базе данных OLTP:

-- This line negates the @inverseqty, which is the
-- negative of the @insertedquantity.  This works through the
-- magic of the trigger.  In fact, this code is a lot like
-- the bermuda triangle!
@negquantity = -1 * @inverseqty
person Community    schedule 12.10.2008

Несколько лет назад я работал с большой базой кода, о которой не приходилось говорить о модульном тестировании.

Глубоко в коде был скрыт метод, который выполнял некоторые календарные вычисления. Он был несколько сломан, из-за каких-то неудачных обстоятельств приходилось очень неуклюже справляться с переходом на летнее время.

Пару раз приходилось исправлять, и каждый раз через несколько месяцев мы обнаруживали, что что-то сломалось.

Потратив целый день на исправление и анализ, я поместил код в систему управления версиями вместе с комментарием, в котором говорилось что-то вроде этого:

// this code was written after a version trying to do {this} failed because of {reason},
// previously we were doing {this} which failed because of {reason}. This is 
// now written {this} way so that {lots of reasons here}. If you want to touch
// this code, please make sure that it produces the right answers when tested with:
//
// {some sort of unit test}

В конечном итоге моя команда была отдана на аутсорсинг. Иногда мне интересно, что случилось с этим кодом :)

person Community    schedule 26.10.2008

Я только что нашел это в пользовательском провайдере Linq для .net:

//select is a royal pain in the ass where 
//the parameter passed to CreateQuery isn't actually the one that goes in the call
//requiring this workaround.  Not sure how straight Linq to Objects does it.

И этот

//expressions have to be compiled in order to work with the method call on 
//straight Enumerable somehow, LINQ to objects itself magically does this.  
//Reflector shows a mess, so I (Aaron) invented my own way.  God love unit tests!

И я только что нашел этот ... он только поправляется

  //ok, this is a hairy, dirty, and nasty piece of code
  //the alternatives are substantially worse than this though
  //i.e. when you do your own provider, LINQ assumes that
  //you are going to implement your own expression tree visitor and
  //do it all yourself.  Frankly, I still have xmas shopping to do
  //and I really don't want us to be foobared when we get
  //even more extension methods added to LINQ
  //therefore, we are pulling execute based on taking the calling the 
  //standard execute on enumerable, but using our own class
  //
  //optimization can occur from here on an as needed basis, that is
  //check for the value of mex.Method.Name, and write a handler for
  //that method
  //
  //also, it may not be a bad idea to rather than do this reflection 
  //each and every time somehow cache the reflected methodinfos and do 
  //lookups that way that said, we need a complete red/green/refactor 
  //cycle here before I am touching that one

И этот

//Compile that mutherf-ker, invoke it, and get the resulting hash
person Community    schedule 08.12.2008

Это был единственный комментарий, который мы нашли в продукте для смарт-карт, который купил предыдущий работодатель. Загрузка встроенного C и ассемблера, написанная группой голландских докторов наук по криптографии

// echt halmaal gek - no way!

(Это означает что-то вроде "действительно совершенно глупый" ... что нам тоже не помогло)

person Community    schedule 19.12.2008
comment
Если это был настоящий комментарий, то они были голландскими кандидатами наук по криптографии, которые не умели писать. Echt helemaal gek. - person Jeroen van Bergen; 05.03.2009
comment
Может быть, я неправильно вспомнил написание ... это было примерно в 1998 году. - person Richard Ev; 06.03.2009

То, что я видел в файле .h много лет назад.

// It may be a hack, but it works.
person Community    schedule 05.03.2009

То, что я увидел в программе на COBOL, парализовало меня страхом

* All comments pertain to the lines which follow.

Что это значит?

  1. Кому-то было так неудобно комментировать, что пришлось написать мета-комментарий?

  2. Кто-то имел обыкновение помещать комментарии ниже соответствующего кода, и ему сказали разместить комментарии выше? Как это произошло?

person Community    schedule 05.03.2009

Для одного проекта у нас был pwlib в качестве зависимости, и в то время его порт FreeBSD был несколько испорчен, поэтому мне пришлось собрать его вручную из исходников. Не сразу получилось, пришлось заглядывать в код; существовала сложная иерархия классов с частями кода, сгенерированными макросами, а его родительское объявление calss начиналось с

// The root of all evil ... umm classes
person Community    schedule 05.03.2009

Для написанного мной класса шаблона интерфейса оболочки / обработчика memcache у меня был реализован следующий метод.

/**
*  Do not use, ever - left in place for testing purposes
*/
function  I_David_WillHuntYouDownAndHurtYou_Badly_IfIFindThisUsedAnyWhereInTheAppLibrary(){
...
}

По сути, это была функция super nuke, которая сообщала всем отдельным службам кэша памяти полностью очистить себя и начать с отдельных счетчиков пространства имен, которые я использовал для ключей (например, {_ counter_key value} _. {_ Counter_key value})

Еще одна небольшая новелла, которую я написал, касалась автоматизированного загрузчика для поставщика данных, в котором подробно описывалась, насколько я ненавидел этого поставщика и дошел до того, что постулировал, что пакетная система их инфраструктуры управляется песчанкой, работающей на колесе и после стольких оборотов колеса будет запущена следующая задача в очереди. Он был написан в течение 6 месяцев с добавлением дополнительной обработки исключений, таких проверок, как (если мы получили 768 байтов символов \ s, это означает, что запрос к их БД истек, а пробелы являются результатом пустых операторов печати с ошибками.

person Community    schedule 05.03.2009

try
{
...
}
catch(Exception ex)
{
//if this happens the world is going to end...
}

теперь угадай, что случилось ...

person Community    schedule 05.03.2009
comment
правильно ... ну - или кто-то запутался в формулировке оператора if (! x && b ||! y && x || y);) - person Gambrinus; 12.03.2009

# let's pretend we are free, for a while

Нашел это перед классом. За этим последовала (наивная) попытка реализовать ORM. Я до сих пор не понимаю, зачем он это написал.

person Community    schedule 22.12.2008

// haack, phil haack

и:

/* hack, hack, hack, hack, hack hack, hack, hack
 * hackity hack, oh wonderful hacks
 * wonderful hacks, oh wonderful hack, hack, hack
 * hack hack hack... and spam 
 */

РЕДАКТИРОВАТЬ: только что нашел это в моем коде (проект желает остаться анонимным):

// yikes, we need to:
/*
 *       o
 *      -|-     < US CROSSING PLATFORM
 *       |\ 
 ************************************************
 *       |          ^ PLATFORM           |
 *       |                           T   |
 *       |                      TROLL^   |
 */
// right now:
/*
 *   o ./_  | 
 *  -|-[]\  |  (_'_) () (\) | ) \|/ (S) < WALL
 *   |\     |    ^ FRIENDLY MESSAGE FROM YOUR FRIENDS AT MICROSOFT
 *  ***********************************************
 *        | ^PLATFORM                       |
 *      ^ SPRAY CAN (IN HAND)
 */
public static class DefaultFonts
{
    public static string SansSerifPath
    {
        get { return @"C:\Windows\Fonts\arial.ttf"; }
    }
    public static string SerifPath
    {
        get { return @"C:\Windows\Fonts\times.ttf"; }
    }
    public static string MonospacePath
    {
        get { return @"C:\Windows\Fonts\courier.ttf"; }
    }
}

Как я люблю каламбуры.

person Community    schedule 09.04.2009
comment
Я тоже не помню анекдота! - person Lucas Jones; 21.04.2009

Я плакал, когда читал это о проекте, который мне поручили поддерживать.

//Write Code Here

Я все еще съеживаюсь :)

person Community    schedule 20.04.2009

Наша команда только сегодня вечером выпустила новую версию файла CSS, в котором были удалены комментарии из файла, который был структурирован следующим образом:

@charset "UTF-8";
/* Who knew comments here could COMPLETELY ruin our page in Safari? */
body {
        /* Really important stuff here */
        /* Of course, comment or not, this will all get ignored by Safari because 
           its the first rule after the comments which break everything.
           see http://www.w3.org/International/questions/qa-css-charset for the exact details!
        */
}

Самое забавное, что в сети вы найдете решения людей - просто ввести поддельный элемент в качестве первого правила под оператором кодировки, чтобы его проигнорировали и продолжили как обычно ...

Пища для размышлений: где поставить комментарий, чтобы не комментировать?

Примечание: я знаю, что в этом нет необходимости из-за заголовков, мета-правил и т. Д. К сожалению, нам это нужно как уловка :(

person Community    schedule 23.04.2009

Череп и скрещенные кости в стиле ascii (которые здесь слишком сложно воссоздать) в Emacs Гослинга. (предупреждение о том, что написанный им пакет для управления сверхгорячим экраном нелегко понять).

person Community    schedule 10.10.2008

Замечено в каком-то COBOL еще в 1983 году:

   C   I don't know what this next bit does so I'll jump around it
       GOTO DONE.
person Community    schedule 02.12.2008
comment
C? Во всех COBOL, которые я когда-либо использовал, комментарии начинаются с * (или '/', но я не думаю, что это стандартно) в столбце 7. Однако я в основном специалист по C / C ++ / Java, так что, вероятно, из моего опыта терпит неудачу. Вы уверены, что это был не Фортран? - person Fredrik; 11.04.2009

У Денниса М. Ричи есть страница о некоторых древних комментариях UNIX здесь

person Community    schedule 30.12.2008

Я только что проверил это на днях ...

/// <STERNLY-WORDED-WARNING>
/// Pay attention to this or I will hunt you down.
/// ...
/// </STERNLY-WORDED-WARNING>

Где ("..." == "проприетарный материал, который я не могу опубликовать"). Мне просто понравился мой элемент СТРОГО-СЛОВО-ПРЕДУПРЕЖДЕНИЕ.

person Community    schedule 27.01.2009

Из Joomla! источник:

// this is daggy??
person Community    schedule 22.12.2008

Как только я нашел это:

// I wish (boss name) could do this by him self.
person Community    schedule 05.02.2009

Это мой комментарий, который я нашел сегодня при рефакторинге кода.

if( year < 100 ): year += 2000 #lol, Y2K
person Community    schedule 07.03.2009
comment
Хм, ошибка Y2K1C в процессе создания - person johnc; 27.03.2009
comment
Функции даты JavaScript? Существует правильный вариант, который после 1900 года возвращает год в виде 4-х цифр, а не 2-х. - person Michael Stum; 24.04.2009
comment
@avp, приложение было написано после 2000 года, поэтому 2008 год был закодирован как 8 - person hasen; 04.09.2009

// The hackiest hack that ever did hack

Он находится в движке блогов WordPress (wp-admin / includes / user.php - если кто-то действительно хочет увидеть хакерский взломать сам).

person Community    schedule 16.03.2009

Я только что нашел это в каком-то ActionScript, который мне нужно обновить ...

/*
* spaghetty code in this module.
* hardcoded variables for load paths for the content window.
* Needs (vast) improvement.
*/

..отличный :(

person Community    schedule 26.03.2009

Классика из старого кода Netscape Mozilla. Лично мне нравится

просто не могу бездельничать. О, еще трогательная память в любом случае обречет нас, и все это будет чертовски сложно понять. Итак, я сдаюсь, Mac просто полностью отстой полные камни

но есть много других забавных.

person Community    schedule 26.03.2009

Еще в колледже:

//why the f*** we have to move this here to make it work

Это было выделено в печатном источнике, когда мы пошли на обзор с профессором.

Причина: какая-то действительно неприятная ошибка, связанная с переполнением буфера, которая затронула несвязанную переменную с обработчиком файла в другом месте кода. Перемещение переменной заставит ее снова работать.

person Community    schedule 27.03.2009

В инструменте экспорта художественных активов я наткнулся на полный переводчик цифровых (арабских) чисел в римские числа. Выглядело это так:

/*
//You can tell I was bored
//I wanted to do this for a long time
char* ConvertToRoman(int number, int base)
{
... whole code here
}
*/

Команда человека, написавшего этот код, долгое время ломала голову, я думаю, это повлияло на их здравомыслие.

person Community    schedule 04.04.2009
comment
На самом деле я знаю человека, который (когда-то в школе и, конечно, очень скучно) реализовал ту же самую вещь на калькуляторе HP48 (в RPL), чтобы он мог использовать его для отображения римских цифр на аналоговых часах (в РПЛ тоже) ... - person Denis Troller; 10.04.2009
comment
Вау, в C ++ мне было весело, но RPL - это хардкор :) - person MissT; 10.04.2009
comment
Что это. Опять же, это тот парень, о котором идет речь. И RPL - это своего рода хардкор, вам в основном нужно держать стек в голове во время программирования. Много веселья, когда вы вернетесь к программе через несколько месяцев ... - person Denis Troller; 11.04.2009

Комментарий в нашей системе корпоративного класса, используемой для государственных нужд

'RH 5/24/06 burn me if this dosn't work.. :)

Хороший оле РХ ..... компания Prez / ведущий разработчик

person Community    schedule 09.10.2008

Лучший комментарий, который я когда-либо видел, был

/* 
  There is no accounting for pointers 
*/
person Community    schedule 19.04.2009

http://fxr.watson.org/fxr/source/pci/if_rl.c - источник хороших.

person Community    schedule 20.04.2009
comment
+1 за офигенный! Комментарии rl_rxeof () были моими любимыми :) - person Shalom Craimer; 20.04.2009

//Do not continue reading if you dont want to die.

Этот чуть не убил меня.

person Community    schedule 20.04.2009
comment
Дай угадаю: ты же не перестал читать, да? : D - person Vilx-; 20.04.2009

Из файла конфигурации sendmail. После страниц и страниц того, что выглядело просто линейным шумом. Я нашел эту жемчужину.

# insert this handy debugging line wherever you have problems
#R$*                $:$>99$1
person Community    schedule 20.04.2009

Однажды мне позвонил клиент через несколько лет после работы над большой бюджетной системой, написанной на Paradox 3.5.

«Мы столкнулись с небольшими комментариями, которые возникли во время отладки» -

// This shouldn't happen, if it does, then the bits that automagically 
// worked when I wrote it have stopped working

... !

person Community    schedule 22.04.2009

// for 8 or 12 threads this does not affect much.
// Strange are the situations if not understood properly.
// Yoda strikes again

В многопоточном модуле! :)

person Community    schedule 22.04.2009
comment
Разве это не должно быть снова, Йода наносит удар? (Или снова ударяет Йода.) - person JAB; 29.05.2010

Найдено по сложному коду -

// У Иисуса и этого кода есть одна общая черта: оба были воскрешены

person Community    schedule 22.04.2009

Из Python / ceval.c:

/* This is gonna seem *real weird*, but if you put some other code between
   PyEval_EvalFrame() and PyEval_EvalCodeEx() you will need to adjust
   the test in the if statements in Misc/gdbinit (pystack and pystackv). */
person Community    schedule 23.04.2009

Приведенный ниже код был замечен в учебном пособии по Python.

# This is my rifle.
def rifle(type='hunting'):
    print('This is my (%s) rifle.' % type)

# This is my gun.
def gun(type='hand'):
    print('This is my (%s) gun.' % type)

# This is for fighting.
def fighting(type='illegal'):
    print('This is for (%s) fighting.' % type)

# This is for fun.
def fun(type='gaming'):
    print('This is for (%s) fun.' % type)

Автор, должно быть, был поклонником Family Guy. ^ _ ^

person Community    schedule 23.04.2009
comment
Сначала я подумал о цельнометаллической оболочке :) - person Michael Stum; 24.04.2009
comment
FMJ тоже была моей первой мыслью. Почему Гриффины? - person dr Hannibal Lecter; 22.05.2009
comment
Они подделали это. Более свежие воспоминания и все такое. - person canadiancreed; 09.10.2009

Я только что закончил работу с фреймворком (который использует Trace, я не знаю, почему ничего подобного не существует). Я создал удобный базовый класс, унаследованный от TraceListener. Он переопределяет все методы TraceListener и направляет их в один метод, так что комментариев много:

// TODO: Need some codemonkey to doc comment this class.
person Community    schedule 24.04.2009

Сборник моих лучших хитов:

// Thats the end of the While loop
// Clean up last row.  I really must program better than this.

// Note: You can't immediately tell if the line below works.

// Rounding - blech.  It's assumed that all .5s are rounded up.

// Sort out predictions first.  Seems like the right place for a prediction, 'first'.

// Let's interpret!
person Community    schedule 20.04.2009

В каком-то действительно дрянном коде vb (я знаю, что все дерьмово, но) я нашел этот комментарий в пустом блоке управления if, в котором говорится что-то вроде:

If bFound Then
     'I love it when I write kick ass code like this
Else
  .
  .
person Community    schedule 20.04.2009

-- Beyond this point, there'll be dragons

Я нахожу это более иллюстративным с более длинным высказыванием ^^

person Community    schedule 02.02.2009
comment
@johnc да, в этом гораздо больше смысла ^^ - person Oskar Duveborn; 02.01.2011

Get This hack!

В строке кода ассемблера после страниц кода без комментариев.

person Community    schedule 08.10.2008

В SJ CA на заре аукционного бизнеса я работал с парнем по имени Рик Дорин. Он написал компиляторы, когда приходилось целый день тыкать в карты. Одно из его сообщений об ошибке было

Слишком много ошибок ... Делайте меньше!

person Community    schedule 22.10.2008

Примерно в то время, когда игра Hitchhiker's Guide была новой, у меня был случай, когда я проверял, было ли что-то прокручиваемым и пытался ли пользователь прокручивать, на языке, который ограничивал переменную длину. Так:

if (scroll and noScroll) # or tea and no tea
person Community    schedule 15.03.2009

DataRow[] foundrows = FilterCalendarEntriesBecauseDotNETIsFuckedUp(tbtemp,CalDate);

Не комментарий, а интересное название функции

person Community    schedule 21.04.2009

я нашел это

// This is a kind of magic...
person Community    schedule 22.04.2009

В ранней версии PeopleSoft Financials PeopleCode:

/* I don't know how you can ever get here so I'll have to fix it later */
person Community    schedule 23.04.2009

// Jay knows what's going on here, but will he remember in a year? Not very likely, this code sucks, but it works so do not change it.

Этот комментарий был размещен над огромным блоком while-if-for ... О, и он манипулировал массивом объектов объектных массивов объектных массивов строк, которые могут быть строками или числами, в зависимости от как минимум 3 факторов ... (да , Мне пришлось отладить этот код и изменить его, и я написал комментарий, однако я не писал исходный код). ;)

person Community    schedule 13.10.2008

Я часто находил это

// fix it!
person Community    schedule 22.04.2009

// Приведенный ниже код необходимо закомментировать.

person Community    schedule 23.04.2009

вот 4, в произвольном порядке:

// Father, forgive me, for I am sinning

// heaven help me

// horse string-length into correctitude 
(from a textbook)

// what, me worry?
person Community    schedule 08.10.2008

Хороший в VB.NET, с которым я столкнулся сегодня утром, рассмеялся ...

''' <summary>
''' Represents an exception that was logged.  Since System.Exception implements IDictionary, it can't be
''' serialized, so I had to write this.  Pretty fucking stupid thing to have to do, System.Exception should
''' be serializable right out of the box, IMHO.
''' </summary>
''' <remarks></remarks>
Public Class LogException
person Community    schedule 10.10.2008
comment
В моем коде есть что-то, что делает то же самое - мне интересно, сколько там подобных комментариев. - person rjzii; 16.10.2008
comment
WTF System.Exception сериализуемый .. - person Andrei Rînea; 16.02.2010

я только что заметил, что пишу это

// not brilliant solution, but fair enough heh.
person Community    schedule 10.10.2008

Я унаследовал проект, который был доставлен заказчику без UAT. Его перебросили через забор и потребовали деньги.

В первый раз, когда они его использовали, он, естественно, взорвался. Это была промежуточная библиотека, которая перекрывала любые системные вызовы, которые принимали имя файла в качестве параметра, а не дескриптор файла.

Многие системные вызовы были забыты.

Когда я попал на борт, код был пронизан такими жемчужинами, как:

/* core dumps around here but this is hardly ever called */

и

/* don't know why this works but it seeems to be ok */

Да, и никаких юнит-тестов не было. Коллега начал добавлять недостающие системные вызовы и модульные тесты.

И ублюдки, которые написали код, все еще были в команде, и их совершенно не заботил доставленный мусор!

person Community    schedule 12.10.2008

Fix problem where Nulls don't work properly.  Stupid Microsoft!

Код конвертировал Null в строки нулевой длины построчно окольным путем, потому что глупый программист не понимал, что такое Null, и никогда не слышал о функции Nz ().

person Community    schedule 19.10.2008

// GK Experimental

(GK - инициалы кодировщика)

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

Отличный флаг, чтобы знать, что если вы нажмете его во время отладки, вы, вероятно, будете заняты в ближайшие несколько часов исправлением взлома ..;)

person Community    schedule 19.10.2008

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

Кто-то так разозлился на необходимость добавлять комментарии типа «Получает или задает полное имя» к самодокументированным свойствам, таким как FullName, что они приложили усилия для написания макрос для обхода правил.

Макрос вставил сводные теги XML для методов, свойств и т. Д. С одним не отображаемым символом Unicode в качестве содержимого тега, который обманул бы правила сборки, одновременно нанося свой небольшой удар по бездумной настойчивости комментировать материал ради этого ...

... по крайней мере, до тех пор, пока они не введут другое правило для проверки символов Юникода в комментариях.

person Community    schedule 27.10.2008

Рядом с верхней частью юнита:

// Oh what a tangled web we weave
// When first we practice to deceive
// ASTA
person Community    schedule 10.12.2008

/* Hammer Time! */

Понятия не имею, почему и были ли на нем нейлоновые парашютные штаны рипстоп при написании кода

person Community    schedule 18.12.2008

Когда-то в начале 1980-х мы писали код финансового моделирования для утилит на PL / I. Получил звонок от клиента с взрывающимся кодом сразу после комментария

/* Honest this works */

Этот парень взял наш стандартный набор финансовых уравнений и сделал около 15 страниц алгебры, чтобы объединить кучу кода в одно уравнение. После Три-Майл-Айленда, когда коммунальным предприятиям пришлось списать свои атомные станции с огромными затратами, уравнение не удалось из-за переполнения ФИКСИРОВАННОГО БИНА 15 (целочисленного), которого не произошло бы, если бы не возникла алгебра.

person Community    schedule 18.12.2008
comment
Компилятор ему не поверил - person Ikke; 09.03.2009

Из Joomla! источник:

// fudge the group stuff
person Community    schedule 22.12.2008

Однажды я реализовал некоторый рабочий процесс с документами, используя MS SQL Server Developer 2000 (человеческий рабочий процесс).

Он состоял из набора триггеров, которые добавлялись в базу данных, чтобы она следовала правилам рабочего процесса.

В одном из триггеров кто-то в Microsoft написал что-то вроде:

//Determine if the database has been "Grizzlified"

(Внутреннее название продукта было «Гризли», поэтому я подумал, что это было забавно).

person Community    schedule 30.01.2009

Нашел это недавно в нашем коде (мы разрабатываем корпоративное программное обеспечение):

// Instance of excel
Excel excel = this.CreateExcelInstance();
excel.Open(stream); // how to close it?!

До этого я был уверен, что мы свободны от этой "забавной ерунды" и делаем это правильно и идеологически правильно ...

person Community    schedule 05.02.2009

Однажды у меня работал программист, который поместил комментарии «Стиль» в свой код, где он систематизировал свои внутренние дебаты о конкретных деталях реализации и сделал прощальные снимки, когда он был отвергнут в конкретном решении по кодированию.

Примеры:

«СТИЛЬ» Можно спорить, что лучше, но я передаю дескриптор изображения, а не просто «передаю значения масштабирования, чтобы упростить вызывающий код» (с помощью «пары операторов объявлений»). В качестве альтернативы я мог бы передать эти элементы данных непосредственно из вызывающего кода, но это нарушило бы инкапсуляцию.

«СТИЛЬ». Как и в другом месте, я зарегистрирую свой официальный протест (просто дайте мне «формы для заполнения») относительно реализации сериализации аннотаций как «свойство, а не пару Load / Способы сохранения. Опять же, это, вероятно, вопрос стиля и в высшей степени спорный.

person Community    schedule 13.02.2009
comment
Думаю, я работал с этим парнем! :) - person Sam Schutte; 21.12.2010

'this next if statement - just how it is. don't try to understand it because you won't. :)

Это гарантия работы прямо здесь.

person Community    schedule 14.02.2009

В eMule Preferences.cpp, в методе, который устанавливает минимальное ограничение скорости загрузки, пропорциональное вашему пределу скорости загрузки:

uint16 CPreferences::GetMaxDownload(){
//dont be a Lam3r :)
    uint16 maxup=(GetMaxUpload()==UNLIMITED)?GetMaxGraphUploadRate():GetMaxUpload();
    if( maxup < 4 )
        return (( (maxup < 10) && (maxup*3 < prefs->maxdownload) )? maxup*3 : prefs->maxdownload);
    return (( (maxup < 10) && (maxup*4 < prefs->maxdownload) )? maxup*4 : prefs->maxdownload);
}
person Community    schedule 18.03.2009

У нас есть файл, и на полпути к нему программист, пытающийся разобраться в беспорядке, сумел переместить весь бессмысленный код в конец и оставил комментарий примерно так:

I have no idea what this stuff does below here.

Другой программист оставил серию вложенных пространств имен, которые действовали как путеводитель, чтобы вы могли углубиться в пространства имен в идее и выбрать свои действия.

person Community    schedule 03.04.2009

Когда я комментирую куски кода, которые, как я ДУМАЮ, больше не бесполезны, но могу ошибаться (следовательно, не удаляю их), я иногда ставлю перед ними предисловие

// Wilted celery?

Идея в том, что это похоже на увядший сельдерей, но вы все равно кладете его обратно в холодильник. Я просто знаю, что через 10 лет кто-нибудь еще найдет эти комментарии и скажет «ЧТО?»

person Community    schedule 06.04.2009

Вот некоторые из них, которые я вставлял в свой код в разное время. Некоторые технически не являются комментариями, но представляют собой те же концепции.

В кроссплатформенном проекте, которому нужен специальный код только на одной платформе:

//If defined, will include all the Windows-specific code.
#define LOSE

#ifdef LOSE
#include <windows.h> //WIN32. Duh.
#endif


---------------------------------------------------


//Stolen from other_project_name.cpp


---------------------------------------------------


/*
 * These comments have been lifted from propagate() and, though they no longer apply to the code, they may still be of value somewhere. Original tabbing and structural elements have been preserved.
 */
    //CAUTION: This has a major Bobby Tables risk. Even if a rulebuilder is used, there's still the risk of something getting corrupted in the database itself.
    //Reading text from anywhere and simply slotting it into an SQL statement is a major security risk. (With thanks to xkcd for the name "Bobby Tables".)
    //Requirement: Eliminate one Bobby Tables by changing [redacted] to be not just straight SQL.
[lots more comments that are not as funny]
/*
 * End of lifted comments. There should not be any executable code between these markers.
 */


---------------------------------------------------


        /*
        Okay. It's unrecognized. Why is this a fatal error? It's actually very closely akin to the miswart of botched #includes being a fatal. When writing a C/C++
        program, you need your headers, and if you don't have one, chances are there'll be a million cascaded errors; so by making "unable to open asdf.h" a fatal,
        the compiler suppresses all those errors about undefined symbols and potentially misspelled type names.
        */


---------------------------------------------------


    //If someone tries to import 'id' as a field name, it won't work. (We already have our own id.) But I think the probability is so low that I can afford to be funny.
    if (!stricmp(ptr,"id")) {warn(0,"Import","","'id' is a reserved word and cannot be used as a column name. (Try 'ego' or 'superego'.)"); return;}


---------------------------------------------------


//Need a place to squirrel away SQL statements somewhere
char *uts[1024]; //Unified Temporary Storage. (Why? Because I said so.)
int nuts=0; //What is it that squirrels keep? Ha!
int utsid[sizeof uts/sizeof *uts];


---------------------------------------------------


        /**************************************\
         * NOTE: This sets tilde.action. If a *
         * tilde header does not exist in the *
         * import file (not the _content_, if *
         * the entire column isn't there), it *
         * will duplicate down through all of *
         * the rows. This is fine for ~id, as *
         * that will never be changed; and if *
         * ~Quantity is blank, that throws an *
         * error in 'Add'. With ~Action, I am *
         * not so certain. I THINK it'd be OK *
         * to dup-down most of the time... if *
         * the user only ever imports Adds or *
         * Revises, but never both at once in *
         * a single import. So for safety, to *
         * allow a blank ~Action to revise OR *
         * add, I'm breaking the check out to *
         * a new variable - the curaction. In *
         * most cases, it won't be needed, so *
         * it's a waste; but it isn't like it *
         * has to copy the entire tilde.*, so *
         * it's only a small waste. So it can *
         * waste a register... big deal. OK ! *
        \**************************************/


---------------------------------------------------


            //if (!response) // we're going to crash
            //if (!items) // we're going to crash
            //TODO: Don't crash


---------------------------------------------------

Многие мои комментарии содержат непонятные ссылки на фильмы или мюзиклы, но они не будут такими забавными, если вы не знаете шоу.

person Community    schedule 15.04.2009

/* Look not upon this file lest your eyes be burnt from your head. */

Что я могу сказать? Я был интерном, и лето почти закончилось. Скажем так, у меня не было серьезной приверженности своим обязанностям по документации.

person Community    schedule 15.04.2009

Продезинфицировано:

//Forward declarations:

class X {}; // TODO: Remove {}  ! When we get X defined....
person Community    schedule 13.10.2008

У меня нет копии источника, но я всегда ее помнил:

// Если вы не можете понять это, вам не следует это читать

person Community    schedule 19.04.2009

Из источника ядра Linux:

linux / include / asm-i386 / hw_irq.h:

/*
 * subtle. orig_eax is used by the signal code to distinct between
 * system calls and interrupted 'random user-space'. Thus we have
 * to put a negative value into orig_eax here. (the problem is that
 * both system calls and IRQs want to have small integer numbers in
 * orig_eax, and the syscall code has won the optimization conflict ;)
 *
 * Subtle as a pigs ear.  VY
 */
person Community    schedule 19.04.2009

Найдено в старом скрипте Perl, который генерирует HTML:

# I would be _very_ brain farting if I said this code didn't need reviewing.
# It will make babies cry, and hair grow on your back, so please don't use it
person Community    schedule 20.04.2009

Из /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextView.h:

- (void)smartInsertForString:(NSString *)pasteString replacingRange:(NSRange)charRangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString;
- (NSString *)smartInsertBeforeStringForString:(NSString *)pasteString replacingRange:(NSRange)charRangeToReplace;
- (NSString *)smartInsertAfterStringForString:(NSString *)pasteString replacingRange:(NSRange)charRangeToReplace;

/* Java note: The second and third methods are the primitives and are the 
methods exposed in Java.  The first method calls the other two.  All 
Objective-C code calls the first method.  In either Objective-C or Java any 
overriding should be done for the second and third methods, not the first 
method.  This will all work out correctly with the exception of existing code 
that overrides the first method.  Existing subclasses that do this will not 
have their implementations available to Java developers. Isn't Java wonderful? */
person Community    schedule 20.04.2009

Из http://www.madore.org/~david/computers/callcc.html:

/* Yow!  DEMONS are flying through my NOSE! */
person Community    schedule 20.04.2009

Мне действительно нравится тег oh_my_gawd больше, чем комментарий ...

    /*
     * IOC3 is fucked fucked beyond believe ...  Don't even give the
     * generic PCI code a chance to look at it for real ...
     */
    if (cf == (PCI_VENDOR_ID_SGI | (PCI_DEVICE_ID_SGI_IOC3 b_type0_cfg_dev[slot].f[fn].c[where ^ (4 - size)];

    if (size == 1)
        res = get_dbe(*value, (u8 *) addr);
    else if (size == 2)
        res = get_dbe(*value, (u16 *) addr);
    else
        res = get_dbe(*value, (u32 *) addr);

    return res ? PCIBIOS_DEVICE_NOT_FOUND : PCIBIOS_SUCCESSFUL;

oh_my_gawd:

    /*
     * IOC3 is fucked fucked beyond believe ...  Don't even give the
     * generic PCI code a chance to look at the wrong register.
     */
    if ((where >= 0x14 && where = 0x48)) {
        *value = 0;
        return PCIBIOS_SUCCESSFUL;
    }
person Community    schedule 23.04.2009

try {
  dataSource.close();
}
catch (SQLException ex) {
  // Do nothing, since we're going to trash this anyway
}

Конечно, такого рода вещи на самом деле являются wtf в JDBC (или, по крайней мере, в драйвере JDBC Oracle), поскольку они могут вызывать SQLExceptions при закрытии соединения ...

person Community    schedule 10.10.2008

Технически это не комментарий, а от написания кода примерно в 2 часа ночи:

consent = False

... эта переменная никогда больше не используется НИКОГДА и появляется в начале цикла прослушивания для сокета.

person Community    schedule 25.04.2009
comment
Всего 2 из 72? Мех, должно быть, не ТАКАЯ ошибка. - person Neil N; 19.05.2010

На латыни Abandon hope all ye who enter here из «Божественной комедии» Данте.

person Community    schedule 19.12.2008
comment
Почему латынь? оригинал итальянский ... ... Abbandonate ogni speranza, voi ch'entrate. - person Adriano Varoli Piazza; 30.12.2008

Я только что разместил этот комментарий:

// this control (Resistance) is FUTILE! 
person Community    schedule 27.10.2008

Сначала в начале обновления огромного объекта:

/*General note to all who tread in the <ObjectName>() code...
 * The SetOriginals() method from the BaseEntity class should be called (and only called) right after the Get() method
 * call as seen above.  Calling the SetOriginals method elsewhere will result in bugs and all kinds of other nasty suprises.
 */

Затем после примерно 200 строк логики для обновления объекта:

//Attempt to explain this confusing mess of code:
//First time you save an actual absence this is what happens:
//0. The first save saves to the <TableName> table (among other things). (Fig. A)
//1. The <CalculationMethod> method is called next which inserts to the <OtherTableName> table. 
//(This is the table that keeps track of credits to the case.) (Fig. B)
//2. So then you have to call <UpdateCalculations> to move the <TableName> records to the <ThirdTableName> table. (Fig. C)
//3. Then you go back and run calculations since you have the debits table (<ThirdTableName>) populated. (Fig D.)
//4. Then a final save to save the calculations back to the case. (Fig. E)
//Yeah, I know what you're thinking:  this sucks. 10/01/07 XXX

И разработчик оказался прав ... Это - отстой!

person Community    schedule 22.04.2009

При кодировании приложений MAPPER у нас было несколько стандартов, и один из них заключался в том, что во всем пакете использовался список стандартных переменных. Один из них - «V43» всегда использовался для обозначения фамилии. Итак, представьте мое раздражение, когда меня попросили исправить единственный комментарий в большом загадочном фрагменте кода MAPPER:

Here V43 contains the Surname
person Community    schedule 28.04.2009

Это из старой победившей работы IOCCC, мне пришлось загрузить весь архив победителей - огромные 1,4 Мб - и найти несколько фраз, которые я запомнил неправильно, прежде чем найти его.

Синтаксически это, вероятно, не комментарий. Или, может быть, это так. Я этого не понял. В нем определенно нет разделителей комментариев, но и разделителей строк также нет.

C="Lint says "argument Manual isn't used."  What's that
mean?";

Никаких цен на угадывание выхода из линта.

И для любопытных: эта запись находится здесь.

person Community    schedule 14.10.2008
comment
жаль, что он не компилируется :( - person coppro; 25.10.2008
comment
@coppro, он компилируется, когда вы все компилируете. Возможно, ваш компилятор сломался. - person Joshua; 20.04.2009
comment
Эта программа не должна компилироваться ни на одном стандартном компиляторе C. Препроцессор так не работает. На самом деле я не могу понять, каким правилам мог бы следовать препроцессор, для которого это было написано. Другими словами, эта программа сейчас еще более запутана, чем когда она была написана. - person Jason Orendorff; 24.09.2010
comment
@coppro @Jason IOCCC - очень респектабельная организация. Правила конкурса требуют наличия стандартной соответствующей программы. Предлагаем вам изучить всю программу и ее соответствие, прежде чем принимать быстрые решения. - person Miserable Variable; 01.10.2010

Моим любимым было имя переменной внутри некоторой бизнес-логики школьного проекта, написанного на java.

int StupidJava = -1;
person Community    schedule 24.03.2009
comment
-1 это не комментарий - person bluish; 22.07.2011

<cftry>
...code...
<cfcatch>
  <!--- Gobble --->
</cfcatch>
<cftry>

Это повсюду в кодовой базе моей компании. Это ColdFusion, и он просто игнорирует ошибки.

person Community    schedule 19.04.2009

Хорошо написанный Lisp - один из самых простых для чтения языков, и мне он нравится. Но плохо написанный Lisp может стать кошмаром намного хуже, чем плохой Java и т. Д.

Здесь нам нужно создать «групповой файл», если существует 3 варианта исходного файла с суффиксами a, b и c. Я пытался отследить странную ошибку, из-за которой мы получали ненужные групповые файлы ...

  (let ((varianta (format nil "~aa" problem))
        (variantb (format nil "~ab" problem))
        (variantc (format nil "~ac" problem)))
    ;;if the A and B variants exist, create a group file
    ;;(why not just check for a? I don't know, this just feels right)
    (when (and (probe-file varianta)
               (probe-file variantb))
      ...)))

Ошибка: 1, кишечник: 0.

По-видимому, тому, кто это написал, не пришло в голову, что, возможно, проверка всех трех вариантов была бы хорошей идеей. Конечно, это была ошибка, которую я отследил через десять лет после того, как этот код был первоначально написан (он предшествует первому журналу SVN).

person Community    schedule 20.04.2009

Повторное употребление в пищу собачьей еды: у нас на работе есть такой же термин (разрешено, только потому, что я ввел его). Мой код изобилует комментариями с надписью «TODO» и указанием на то, что в конечном итоге должно быть сделано, но комментарий с надписью «DOGFOOD» (оба ключевых слова всегда в начале комментария, заглавными буквами) означает что-то, что необходимо сделать. до того, как эту программу можно будет использовать даже для внутреннего пользования. Это удобная вещь для поиска, так как слово "dogfood" никогда не появится в строке, заключенной в кавычки - если это произойдет, я всегда могу просто сказать "dog-food" или что-то в этом роде - так что даже поиск без учета регистра с правильными результатами.

Что касается обнуления аккумулятора: я проделал то же самое при программировании Intel 80x86 (я начал с 8086, а оттуда перешел на современные Pentium). Выполнение XOR регистра с самим собой - самый быстрый и надежный способ его очистить. Использование «MOV AX, 0» требует трех байтов (код операции и два байта буквального 16-битного нуля), тогда как «XOR AX, AX» - только два; это еще более заметно с расширенными регистрами 386 и выше, где «MOV EAX, 0» требует пяти байтов (четыре байта 32-битного нуля). Мой компилятор C / C ++ всегда обнуляет регистры таким образом, поэтому я предполагаю, что это по-прежнему лучший способ (хотя я давно не изучал таблицы времени кода операции, и, вероятно, оба регистра XOR, reg и MOV reg, imm принимают один такт) .

person Community    schedule 22.04.2009
comment
MOV reg, imm занимает больше байтов и увеличивает вероятность чтения двух страниц из файла подкачки вместо одной. - person Windows programmer; 23.04.2009
comment
Из 4 методов на X86 лучше всего подходит XOR EAX,EAX: linux-kongress.org/2009 / слайды / (стр. 71). - person Turbo J; 17.09.2010

Я делал базу данных в Access, очень простая вещь - по крайней мере, это должно было быть в начале, иначе я бы сделал это в Delphi. Клиент хотел получить информацию о клиенте из базы данных, но он не вводил достаточно информации, чтобы надежно идентифицировать клиента. Я сказал им использовать телефонный номер в качестве ключа, поскольку у каждого клиента (как они работают, а не для всех) будет свой номер. После нескольких безумных звонков от них (это не работает, мы не можем войти в клиента) я обнаружил, что они были слишком ленивы, чтобы искать телефонные номера в своей старой системе, и пытались ввести все номера, которые они не знали как "н / д". Пытаясь разобраться в этом для них, я закончил с множеством проверочных циклов в коде и получил комментарий рядом с одним результатом: «Этого никогда не должно быть достигнуто, если они делают то, что должны делать !!!!!!!! ! "

Однажды они также спросили меня: «Как мы можем найти правильного клиента, даже если мы указали неправильный адрес?» И все за копейки.

person Community    schedule 22.04.2009

Оглядываться на старый код из классов весело ...

    cardDeck.push_back(*(new card((rank)r, (suit)s)));  // Push each card onto the deck
                                                        // Temp. objects are overrated

Проходя через некоторые вещи, мне хочется, чтобы я оставил больше комментариев в 4 часа утра, когда я взламывал случайный код ...

person Community    schedule 22.04.2009

Я только что нашел это в каком-то устаревшем коде ..

'CANNOT JUST QUIT!
person Community    schedule 16.04.2009

REM Don't delete this print statement ****** will die

Рассматриваемый процесс был службой в каком-то унаследованном коде

person Community    schedule 20.12.2008

// Oh crap, i think i'm gonna yack

вскоре после этого последовали:

// TODO: end this lunacy
person Community    schedule 05.03.2009

Я видел старый код фортрана:

     integer *4 one,two,three;

c    asssign one to 100 before entering the loop
     one=100;
person Community    schedule 21.04.2009

person    schedule
comment
Я читаю все комментарии сверху вниз, гадая, что люди имели в виду, когда говорили, что взломали, читая этот или взломали, читая тот. Что ж. Я просто взбесился, читая это ... - person Daren Thomas; 20.04.2009
comment
Буквально сделал LOL на совмещении ума и ребячества этого. - person David Koelle; 22.04.2009
comment
class MonkeyPoo extends Exception {}; ... бросить новый MonkeyPoo (); // потому что выбросить это намного интереснее, чем исключение - person Adam Rosenfield; 11.06.2009
comment
Я собираюсь начать использовать вместо бывшего с этого момента XD - person Ammar; 06.09.2009
comment
Когда я просыпаюсь от по-настоящему глубокого сна, мой IQ падает примерно до 25, и мой разум перемещается в очень странные места. Однажды, после долгого написания java, я проснулся посреди ночи, чувствуя себя очень больным, и побежал в ванную. Когда меня вырвало в унитаз, единственное, о чем я мог подумать, - это интересно, какое исключение я выбрасываю прямо сейчас ... - person Frank Farmer; 03.01.2010
comment
Неа, вверх должен быть последний. ;-) - person Robert Klemme; 24.08.2010
comment
Это слишком забавно. Как насчет того, чтобы поймать исключение. Что-то, что вы, возможно, не захотите делать LOL - person mrjohn; 17.09.2010
comment
Другой хороший будет истерика - person mrjohn; 17.09.2010
comment
Было бы смешнее, если бы сообщение об исключении было, я не очень хорошо себя чувствую. - person Kevin Bourrillion; 20.07.2011
comment
В этом комментарии нет ничего умного. Просто умное использование имен в коде! - person manojlds; 06.08.2011

person    schedule
comment
Это фраза Карла Вейерштрасса, математика, который дал нам прекрасное определение непрерывности эпсилон и дельты. - person Edwin Jarvis; 05.12.2008
comment
Вейерштрасс Неразличимый? - person Peter Wone; 14.04.2009
comment
@Augusto, у вас есть источник, подтверждающий приписывание этой фразы Вейерштрассу? Я хотел бы знать, о чем он имел в виду. - person Kevin; 13.05.2009

person    schedule
comment
Мне это нравится. Да да да DA, да DA, да DA, все кончено (Дэвид Спейд, SNL, Weekend Update) - person MrBoJangles; 11.10.2008
comment
Признаюсь, что однажды им пользовался. Я знаю. Мне стыдно. Но это просто идеальная формулировка :) - person Edu Felipe; 19.10.2008
comment
останавливаться(); // Сотрудничайте, слушайте! - person Erik Forbes; 10.12.2008
comment
хм .. Я не понимаю этого. Я не из английской культуры, я хочу понять ... Кто-нибудь объяснит это? - person Sungwon Jeong; 27.03.2009
comment
Найдите на YouTube MC Hammer - person Charlie Flowers; 27.03.2009
comment
Затем найдите Ice, Ice Baby. - person Charlie Flowers; 27.03.2009
comment
@ Джейс Юнг: это была строчка из популярной песни ~ 1990 г .: en.wikipedia.org / wiki / U_Can% 27t_Touch_This - person Dinah; 20.04.2009
comment
xkcd.com/210 - person puetzk; 23.04.2009
comment
останавливаться(); // что это за звук? - person Yuval; 15.07.2009
comment
останавливаться(); //! Во имя любви. Прежде чем разбить мне сердце. - person ; 07.11.2009
comment
flickr.com/photos/mediageek/2412873536/sizes/l - person parxier; 19.08.2010
comment
где-то выше в коде: break; // it down - person Benjamin Crouzier; 29.08.2011

person    schedule
comment
Надеюсь, компилятор проигнорирует комментарии этого человека. - person Windows programmer; 14.10.2008
comment
// делайте то, что я имею в виду, а не то, что я говорю! и не игнорируйте этот комментарий, как всегда !!! - person hasen; 02.12.2008
comment
// Поскольку я никогда не получал ответа от компилятора, я считаю, что это правда. - person Liwen; 18.12.2008
comment
Я думаю, это должно быть иронично ... - person Neil Barnwell; 19.12.2008
comment
смех, это будущее, компиляторы читают комментарии, чтобы убедиться, что они правильно поняли ;-D - person sharkin; 28.01.2009
comment
// # reply_from_compiler вам нравится clippy, не так ли? - person Carl; 13.02.2009
comment
// Мне кажется, что меня никто никогда не слушает ... - person nilamo; 21.04.2009
comment
/ * Компиляторы - отстой! mallocs и frees могут привести к утечке памяти, но комментарии никогда не причинят вам вреда. * / - person Cristián Romo; 23.04.2009
comment
Javac действительно читает комментарии;) попробуйте следующее: // Прочтите мой комментарий - person Luzifer42; 18.09.2009

person    schedule
comment
Это где-то в исходном коде Duke Nukem Forever? ;) - person Adhip Gupta; 11.10.2008
comment
Я не понимаю, что тут смешного? - person hasen; 05.03.2009
comment
Он посвящает приведенный ниже код своей жене, хотя знает, что это настолько плохо, что либо его уволят, либо его компания обанкротится. :) - person Robert P; 26.03.2009
comment
Почему собаку выпустят в свет? - person Nosredna; 11.06.2009
comment
@Nosredna, спасибо за такой забавный комментарий! @hasen j, код был написан настолько плохо, что программист, скорее всего, потеряет работу, а значит, его жене придется содержать семью. - person Jamol; 16.12.2009
comment
Ой! Мне пришлось прочитать этот ответ 3 раза, пока я не понял, что мы с @Nosredna неверно его истолковали. Автора уволят после того, как КОД будет обнародован, а не собака. - person Ponkadoodle; 14.06.2010
comment
@Adhip Gupta: Я думаю, что Duke Nukem Forever выйдет в следующем столетии, так что он должен быть в тени. - person RMorrisey; 02.05.2011

person    schedule
comment
Ах, хорошие постоянные временные решения :) - person Michael Stum; 24.04.2009
comment
Нет ничего более постоянного, чем временное !!! - person Microkernel; 01.06.2010

person    schedule
comment
Магия = хрупкость, может быть? - person MrBoJangles; 11.10.2008
comment
Напоминает мне об этом: catb.org/esr/jargon/html/magic-story .html - person Simon Howard; 16.10.2008
comment
Мне приходилось писать это так много раз - в основном, чтобы напомнить себе, что если вы прикоснетесь к следующему коду, не зная, что делаете, случатся неприятности! - person Shalom Craimer; 20.01.2009
comment
@ Саймон Ховард: Я думал о той же истории. На самом деле, я виноват в написании более одной функции more_magic () в свое время. - person Jens Roland; 27.01.2009
comment
Если бы только в комментарии говорилось, ПОЧЕМУ это было волшебством ... - person Eddie; 21.02.2009
comment
@ Саймон Ховард, я бы только не стал его трогать, если бы там было написано "Больше магии" - person DevinB; 06.03.2009
comment
Я постоянно помечаю неописуемые фрагменты кода от voodoo - person Berry Tsakala; 06.04.2009
comment
Я до сих пор помню, как меня учили CS в старшей школе, где на наши глупые вопросы отвечали с помощью Magic! и самая зловещая улыбка. - person nevets1219; 19.04.2009
comment
Я обычно оставляю такие предупреждения в безблокировочных обновлениях многопоточной структуры данных, поскольку никто в компании не надеется их понять. Если один из них упадет после того, как я уйду, я полностью ожидаю, что они его вырвут. - person Joshua; 20.04.2009
comment
Это хоть и не самое смешное, но для меня наиболее распространенное и глубокое - я видел и сам делал :) - person ShuggyCoUk; 20.04.2009
comment
Я постоянно использую это :\ - person Kuroki Kaze; 20.04.2009
comment
Бьюсь об заклад, каждый файл в дереве исходного кода Windows имеет этот комментарий в заголовке - person Mike Akers; 21.04.2009
comment
Магия - это то, как я хочу ответить на вопросы SO / SF / SU формы Как я могу сделать foo, не делая bar? (bar абсолютно необходим для работы foo.) (Примечание: к сожалению, часто есть обходной путь, уродливый зверь.) - person Dennis Williamson; 04.05.2010
comment
Каким-то образом это напоминает мне фразу, на которую я однажды наткнулся: «Когда тебе что-то не нравится, воздерживайся от изменений, пока не вспомнишь, для чего это было сделано». - person Andriy M; 30.12.2010
comment
Такой комментарий может пригодиться. Я видел, как молодые разработчики видят немного странный код, который не служит очевидной цели, удаляют его, и с приложением в полевых условиях начинают происходить ужасные вещи. Конечно, это было на встроенной системе с аппаратными особенностями. Машину необходимо было подключить к стабилизатору питания, чтобы убедиться, что шум линии электропередачи не влияет на часы, генерируемые мощностью переменного тока (OMG). - person E.Freitas; 22.07.2011

person    schedule
comment
#define NULL (:: rand ()% 2) // тоже было бы неплохо - person Viktor Sehr; 13.02.2010
comment
#define if (if (! - person Bart van Heukelom; 29.06.2010
comment
@Bart: У вас не может быть половинных пар в вашем коде, но вы можете сделать #define if(x) if(!(x)) (или, что более зловещо, #define if while) - person Chris Lutz; 28.07.2010
comment
Однако, как указано, это действительно сработает: символы «комментарий до конца строки» гарантируют, что вероятные строки, в которых используется этот макрос, не будут компилироваться. Например: a = TRUE; преобразуется в a = FALSE // Happy debugging suckers;, что приведет к ошибке компиляции, потому что термин ; теперь находится в комментариях. Если вы используете комментарий блока /* Eat this */, он будет работать. - person rix0rrr; 17.09.2010
comment
#define struct union очень полезен в системах с ограниченным объемом памяти. - person msw; 18.09.2010
comment
False, True = True, False Это для парня, который настаивает на использовании import * в Python. - person Herberth Amaral; 22.07.2011

person    schedule
comment
(Код, который последовал за этим, заставил меня плакать.) - person Greg D; 09.10.2008
comment
чувак, я хочу увидеть следующий код ... - person Erik Forbes; 09.10.2008
comment
// Вы прощены. Иди с миром, сын мой. - person Mark Allen; 09.10.2008
comment
Это должен быть стандартный комментарий в шаблонах по умолчанию, созданных MSFT. - person Alexandre Brisebois; 09.10.2008
comment
действительно, какой код следует за этим ??? - person chakrit; 22.11.2008
comment
черт возьми, я действительно хочу знать следующий код !!!! - person hasen; 02.12.2008
comment
да, давайте посмотрим код, который последовал за этим. lmao - person Ali; 09.01.2009
comment
лаконично и по делу. Я бы назвал это Haiku od все комментарии - person Roland Tepp; 21.07.2011

person    schedule
comment
Это сделал Комментатор? - person Lev; 09.10.2008
comment
Классика! Но мне нравится еще больше: i ++; // увеличиваем i на 1 - person steffenj; 12.10.2008
comment
Я думаю, что, поскольку i ++ НЕМНОГО загадочнее, возвращает 1 "выигрыш" :) - person Bobby Jack; 13.10.2008
comment
Кто знает, может ли он # ОПРЕДЕЛИТЬ 1 как что-то еще ... - person icelava; 18.12.2008
comment
Я бы хотел, чтобы подобные комментарии были мне незнакомы. - person Drew Dormann; 14.02.2009
comment
Я видел это много раз. Я знаю много программистов, которые дополняют свои функции комментариями, а затем заполняют код ниже / рядом с каждым комментарием. Облегчает написание крупных бизнес-функций, но иногда вы получаете довольно подробные комментарии. - person Beep beep; 11.04.2009
comment
Хорошо, что он / она добавил этот комментарий. Мне было интересно, что, черт возьми, делает эта строка кода. S имеет значение. - person JohnFx; 27.04.2009
comment
@ShreevatsaR Я предлагаю, чтобы это PHP с синтаксисом, подобным C, и # -комментарием. - person Spoike; 28.05.2009
comment
@Spoike Моей первой мыслью был perl, но, может быть, это просто потому, что я его использую. В любом случае недостаточно информации, чтобы различать. - person Jeff Bain; 16.06.2009
comment
# что возвращает? Более конкретно. - person Ozan; 17.08.2009
comment
Ха-ха, напоминает мне ту библиотеку на Острове обезьян, в которой был словарь со следующей записью - Рекурсия: см. Рекурсия - person Mahol25; 18.08.2010
comment
Некоторое время назад, когда я работал с кодом виртуальной машины, используя целые числа с тегами, я написал что-то вроде (точно не помню): return 2; // returns 1 - person Michael; 17.09.2010
comment
Моим личным фаворитом был вызов метода arcate под названием DB_beginModule (). Слава богу, был комментарий, чтобы прояснить это ... В нем говорилось, что модуль начала базы данных: S - person Emil D; 25.02.2011
comment
#DEFINE 1 as something else также был бы комментарием на этом языке ... - person Felix Dombek; 23.08.2011

person    schedule
comment
+1 - Отличный материал ... должно быть намного больше голосов. - person Mark Brittingham; 20.04.2009
comment
+1 - Чистый гений. Это должно быть на футболке или что-то в этом роде :-) - person Rook; 20.04.2009
comment
Доктор Сьюз пишет код? +1! - person Blorgbeard; 22.04.2009
comment
Требуется еще два слога в конце ... - person Michael Myers; 30.04.2009
comment
Просто открыл комментарии, чтобы сказать, что для этого нужно еще два слога, но, видимо, я побил себя на три месяца. - person Michael Myers; 05.08.2009
comment
// Заменяет фигурные скобки пробелами в тех случаях, когда фигурные скобки вызывают застой и прочее. - person Lance Kidwell; 06.08.2009
comment
Не согласен с необходимостью дополнительных слогов, метр как есть идеален. Пять групп по три слога в каждой. - person KevDog; 31.12.2009
comment
Я видел яркое, тускнеющее. Я не собираюсь тратить свою жизнь на то, чтобы быть цветным. - person I.devries; 02.07.2011
comment
Не то чтобы никого это волновало, и это было так давно, но счетчик работает как амфибрахический гептаметр. - person sdleihssirhc; 19.08.2011
comment
@ I.devries: Хорошо. У меня ушла минута, чтобы получить рекомендацию MJ. Интересно, есть ли это у кого-нибудь еще. - person Andy; 05.09.2011
comment
Я думаю, что два дополнительных слога происходят от «Поющих под дождем» - Моисей полагает, что его пальцы на ногах - розы, но Моисей ошибочно полагает. - person SpartanDonut; 08.09.2011

person    schedule
comment
Чистая кукуруза. Вот почему мне это нравится. - person MrBoJangles; 11.10.2008
comment
Полностью взломан. Я думаю, что мой код сейчас слишком скучный. - person wonderchook; 09.11.2008
comment
en.wikipedia.org/wiki/Long_John_Silver - person chakrit; 22.11.2008
comment
Может быть, это я, но это меня каждый раз раздражает double d. - person Kevin; 24.11.2010
comment
Черт, я думал об эфирном пути en.wikipedia.org/wiki/Long_John_Silver, I ' м голоден. - person Tek; 25.01.2011

person    schedule
comment
Это заставило меня смеяться как мысленный - person Tablet; 21.10.2008
comment
Я видел то же самое с // двигаться дальше, здесь не на что смотреть. - person Ferruccio; 07.11.2008
comment
Я так смеялся над этим. - person Franck; 21.11.2008
comment
Ненавижу этот код. Скрытые исключения - отстой. - person Lance Fisher; 23.11.2008
comment
Должен признать, что я делал это не раз, потому что иногда это просто не имеет значения. - person NotMe; 19.12.2008
comment
У нас был код, который удалял запись из БД, но настаивал на проверке количества затронутых строк и выдаче исключения, если оно было 0. Но если запись уже ушла, затронутые строки = 0 были совершенно нормальными. В этом случае я использовал аналогичный комментарий. - person Matt Peterson; 04.03.2009
comment
Обобщение противоположного этому состоит в следующем: никогда не проверяйте состояние ошибки, с которым вы не знаете, как с ним справиться. - Штайнбах - person Peter Rowell; 05.03.2009
comment
Ага. сделал это и сам, особенно в небольших обработчиках событий javascript, где некоторые пути кода работают только в определенных браузерах, но в целом игнорирование ошибки дает тот же опыт кроссбраузерности ... - person Daren Thomas; 20.04.2009
comment
Я виноват и в этом со следующим: // ToDo: Заполните исключение здесь позже - person Random Developer; 20.04.2009
comment
Это забавно, потому что ты слишком часто видишь ваайы. Я время от времени ищу в нашей базе кода универсальные исключения, так как лучше, если что-то выйдет из строя, отправит отчет о сбое, чем вы обработаете это. - person Dennis; 24.04.2009
comment
Иногда это действительно не имеет значения. но в любом случае так и должно быть. catch (исключение) {/ * кого это волнует * /} - person Greg Dean; 25.04.2009
comment
Вау, я все время пишу этот комментарий. Я никогда не считал это забавным, я думал, что это серьезное заявление. - person Jay; 26.08.2009
comment
Я сделал это во время соревнований по времени, где я использовал исключение, чтобы остановить чтение из файла. Никогда бы не сделал этого в реальном коде. - person Cristián Romo; 08.03.2010

person    schedule
comment
Напоминает мне человека, который поклялся, что может оптимизировать механический алгоритм доказательства теорем, который я написал много лет назад в проекте ИИ. Он действительно улучшил производительность, но затем код не работал ... в чем, как он поклялся, была моя вина. - person Mark Brittingham; 15.12.2008
comment
Хм, разве я где-то не видел этого? - person bzlm; 01.03.2009
comment
@Mark Он только сказал, что оптимизирует время, он ничего не сказал о функциональности = P - person DevinB; 06.03.2009
comment
Если это не должно работать, я могу оптимизировать любой код до нулевого времени выполнения. - person Michael Borgwardt; 03.04.2009
comment
@Mark - Я сделал это ... со своим собственным кодом. Однако со временем с этим неизбежно разберутся. - person Peter Wone; 14.04.2009
comment
@devinb В этом отношении я эксперт по оптимизации времени ...;) - person Jiaaro; 20.04.2009
comment
Вот для чего нужен контроль версий. Потратьте несколько часов на оптимизацию, а затем, если не получится, просто откатитесь. - person Kibbee; 23.04.2009
comment
@Kibbee: Ну, технически говоря, контроль версий помогает только в том случае, если у вас есть хороший способ убедиться, что код по-прежнему работает одинаково, что может быть кошмаром, когда исходный код представлял собой путаницу проводов. Другими словами: для этого и предназначено модульное тестирование. - person Jens Roland; 11.08.2011

person    schedule
comment
++. другие в моей компании пишут это все время! - person CVertex; 02.12.2008
comment
Я видел этот комментарий (и даже написал его сам) в прошлом, о вещах, которые никогда не должны происходить при помощи relalyt (но на всякий случай вот код для обработки ошибки). Самое смешное, что ti помещается в блок finally, что означает, что это должно происходить всегда ... - person Troy Howard; 05.12.2008
comment
Да, это была шутка. знак равно - person Erik Forbes; 10.12.2008
comment
Ну, если быть полностью верным, это зависит от источника! Если это работает в Internet Explorer, наконец, НЕ ВЫПОЛНИТЬ НИКОГДА! (Без шуток!) webbugtrack.blogspot.com/2007/11/ - person scunliffe; 22.12.2008
comment
Это код Java :), а не JavaScript! - person gedevan; 22.12.2008
comment
Если у вас есть вызов System.exit () в блоке try, тогда ДА, окончательного никогда не должно произойти! - person Romain Linsolas; 06.02.2009
comment
@romaintaz: Предполагая, что вы не подаете заявку на конкурс обфусцированного кода, я надеюсь, что вы никогда не используете System.Exit (), не говоря уже о том, чтобы использовать его, чтобы избежать блока finally. - person Guvante; 05.03.2009
comment
re: это должно всегда происходить Я слышал о собеседовании, где старший программист утверждал, что в конечном итоге не происходит всегда, например если выключить питание, этого не произойдет! - person Dennis; 24.04.2009
comment
Неправильно :-), это может сделать только System.exit (int) - person Steel Plume; 25.04.2009
comment
Причина № 984 для использования Debug.Assert (). ;) - person Scott Hanselman; 28.04.2009
comment
Это мгновенно получает +1 - весело. - person Nathan Osman; 16.03.2010
comment
Эй, это мой код! Я работал вместе с @gedevan около двух лет назад. Изначально я намеревался включить здесь предложение catch, но автозаполнение IDE обмануло меня. Удивительно, но этот код работал в производственной среде несколько месяцев. Мы очень хорошо посмеялись, когда обнаружили этот драгоценный камень: D - person Andrew Андрей Листочк&; 17.09.2010
comment
Замечательный комментарий! : P Приятно познакомиться здесь, чувак - person gedevan; 21.09.2010
comment
Код в блоке try отключает компьютер. - person Andrew Arnold; 14.03.2011

person    schedule
comment
На сегодняшнем рынке 10 теперь имеет значение только 9. - person Steve Fallows; 10.10.2008
comment
А в понедельник можно рассчитывать, что он будет стоить всего 8. - person akdom; 12.10.2008
comment
Может быть, когда-нибудь мы будем развивать больше пальцев ... - person Loren Pechtel; 19.10.2008
comment
Во времена войны значение пазух доходило до 5 ... (как говорит мой лучший учитель) - person Thevs; 25.10.2008
comment
Ааа, напоминает мне уроки программирования в колледже. - person Lance Fisher; 23.11.2008
comment
Я видел публичный статический финал Char COMMA = ','; но как-то ваш смешнее. - person Steve B.; 21.12.2008
comment
как насчет очень больших значений 10? - person Mikeage; 23.02.2009
comment
const int TEN = 11; // Моя идет до одиннадцати - person dub; 06.03.2009
comment
значения TEN приведут к доминированию - person hasen; 27.03.2009
comment
Лорен Пехтель, десять цифр - рецессивный признак у людей, двенадцать - доминирующий. - person eyelidlessness; 20.04.2009
comment
10 - это первая двузначная цифра. - person Tola; 20.04.2009
comment
Вызов Fortran из C - Fortran выполняет только вызов по ссылке, поэтому вам нужны переменные для всех констант. - person Martin Beckett; 20.04.2009
comment
Я видел это как способ избежать предупреждения в стиле проверки для магических чисел. - person Janusz; 01.06.2009
comment
@mgb - Но это константа, а не переменная, так что это в значительной степени спорный вопрос. - person MiffTheFox; 28.09.2009
comment
Кто-то узнал, что магические значения - это плохо, и назвал это так, чтобы компилятор мог определить опечатку. Гораздо легче обнаружить ПОДРОСТКОВ, чем 100. - person Thorbjørn Ravn Andersen; 14.05.2010
comment
Ха-ха, я все время видел это в коде COBOL около 5 лет назад (дрожь, дрожь). Это имеет смысл, если вы пишете MAX-DISCOUNT = 100, но, СТО = 100 ... Серьезно, WTH! - person Susheel Javadi; 17.09.2010
comment
@Martin, много лет назад в компиляторе IBM FORTRAN была ошибка, которая позволяла программе изменять значения этих констант. Вызывало много проблем, когда чей-то код присваивал 1 значение 2. - person 37Stars; 12.10.2010
comment
@ 37Stars - это не ошибка, а гарантия работы! - person Martin Beckett; 13.10.2010
comment
@MiffTheFox - да, но если вам нужно вызвать функцию fortran из C и передать литерал 10, например openport (10), вам нужно сделать int ten = 10; openport (& десять) - person Martin Beckett; 13.10.2010
comment
#pragma set_number_base_to (2) // да, выдуманная прагма ... #define TEN = 10 // ой ... (ах, дерьмо! Я не могу правильно отформатировать это! каждый раз, когда я нажимаю return, он сохраняет редактировать...) - person Alan Jay Weiner; 17.10.2011

person    schedule
comment
Это победа. Огромная победа ... - person Cyclone; 09.01.2010
comment
Хорошо, я собираюсь использовать это в следующий раз, когда мне понадобятся четыре пустых массива и два хэша! - person Josh; 06.04.2010
comment
Уф. Громкий ОТКАЗ! автору за то, что он не знает, использует ли он безформатный язык или нет. - person TheBlastOne; 01.09.2010
comment
Сомневаюсь, что он не знал о безформатном языке. Хорошая шутка :-) - person Román; 23.09.2010

person    schedule
comment
это действительно работает? на каком языке? - person mauris; 07.09.2009
comment
@Mauris: Изначально это было расширение C и C ++ для 64-битных целых чисел, которое поддерживалось многими поставщиками. Затем стандартизированная поддержка C99 и C ++ 0x для него: en.wikipedia.org/wiki/Long_long - person Juliano; 07.09.2009
comment
Это заставляет меня задуматься о дальних и ближних указателях, которые мы использовали в 16-битной области. :) - person Macke; 28.09.2010
comment
Он по-прежнему отлично работает. Мы впервые поместили его в наш компилятор на Convex около 25 лет назад, потому что DMR предположил, что это должно быть имя для наших 64-битных целых чисел. - person tchrist; 20.11.2010

person    schedule
comment
Честно в комментариях! - person Mitchel Sellers; 14.10.2008
comment
Я люблю честность. - person Jeff Schumacher; 01.11.2008
comment
Первый шаг к улучшению - признать недостаток. - person icelava; 18.12.2008
comment
прими свои ошибки, прежде чем другие их преувеличивают :) - person naveen; 26.07.2011

person    schedule
comment
Мне уже пришлось установить один из них. Это действительно было странно. // этот комментарий end-if-file необходим для того, чтобы aCC не вылетел из строя; пожалуйста, не удаляйте его, даже если ваша команда работает с gcc. - person JB.; 15.10.2008
comment
Давным-давно я случайно исправил segfault в Java3D, добавив комментарий. Воспроизводимость была 100%; если я удалил комментарий, он рухнул. Пока был комментарий, все работало нормально. Я предполагаю, что это была какая-то странная проблема с синхронизацией, но я так и не понял, что именно происходит. - person DNS; 06.03.2009
comment
Магия / Больше магии - person DevinB; 06.03.2009
comment
Мне приходилось использовать это раньше ... либо в java, либо в php, я не помню, в каком. - person Malfist; 24.03.2009
comment
Это вроде как вирус. Он содержит контент, предназначенный для самозащиты. Это похоже на мусорную ДНК, которая хорошо копирует себя. - person Charlie Flowers; 27.03.2009
comment
У нас есть приложение Sybase Powerbuilder, которое зависит от такого комментария. В компиляторе есть что-то странное; это работает, поэтому мы не трогаем его. - person Colin Pickard; 06.04.2009
comment
Юк. Худшее, что у меня когда-либо было, - это код Moto 68K, который работал / не работал на основе asm (NOP); вставлен между функциями (длина перехода изменена). Я бы не хотел иметь дело с КОММЕНТАРИЕМ, вызывающим такие же изменения. - person Michael Kohne; 20.04.2009
comment
@DNS, вы уверены, что не было кода, начинающегося в столбце 200 (явно оставленного там каким-то злым кодером-драконом), который вы комментировали? - person Jonathan C Dickinson; 24.04.2009
comment
Я знаю это. У меня давно не было такой проблемы. Обычно вставка другого комментария снова ломает его. - person paniq; 05.05.2009
comment
вы должны сравнить байт-код, сгенерированный двумя версиями - person JoelFan; 14.06.2009
comment
Был победитель конкурса Obfuscated C с комментарием, который не удалось удалить (и сказал об этом), но я не могу его найти сейчас :( - person Thorbjørn Ravn Andersen; 14.05.2010
comment
Я помню, как писал сценарий ActionScript 1, которому для работы требовался вызов trace (). Потратив 2 часа на попытки элегантно решить проблему, мы решили, что лучше всего оставить след :) / :( - person Steven Mercatante; 26.05.2010
comment
Однажды мне потребовалось полдня, чтобы понять, что завершение комментария C на \ (используется для обозначения направления, в котором мы движемся в 2D-массиве) заставляет компилятор пропускать следующую строку. - person Tgr; 31.05.2010
comment
@Tgr, он не пропускает строку, а просто добавляет ее в комментарий. Хотя гадкий. - person Thorbjørn Ravn Andersen; 19.10.2010
comment
Может быть. Следующая строка: if(__LINE__ == 450) - person Benoit; 07.04.2011

person    schedule
comment
Любой хороший симулятор физики будет иметь миллион двусмысленных слов, связанных с проникновением слова. - person Charlie; 22.05.2009
comment
Вот откуда это взялось. Парень, который это написал, начал хихикать (в той же комнате, что и я), затем добавил комментарий. Я полагаю, что инициализировать его значением DOUBLE_MAX было бы еще смешнее. :) - person Macke; 22.05.2009
comment
Двусмысленность меня забавляет. Это вещь? - person Brent Bradburn; 29.09.2010

person    schedule
comment
классика! ... один профессор однажды сказал мне, что если у вас проблемы с открытым кодом gl, просто попробуйте перевернуть знаки. это был действительно хороший совет - person luke; 23.11.2008
comment
Почему щелчок x заставляет людей перестать быть перевернутыми вверх ногами? - person Michael Myers; 02.03.2009
comment
Это то, что сделало его лучшим комментарием - он не имел никакого смысла и не давал хорошего объяснения, почему это сработало :) - person Chris Jefferson; 10.03.2009
comment
для условного переворачивания использую: байтовый костыль = 1; if (cond) костыль = -1; х = х * костыль; // имя переменной говорит само за себя - person Imaskar; 01.06.2009
comment
... и голоса в моей голове от обратного разговора. - person PaulMcG; 16.10.2009
comment
@ Майкл Майерс: это могло быть потому, что он вычислил y как перекрестное произведение x и z. - person Ergwun; 24.01.2011
comment
Есть такая программная история, что из-за ошибки в программном обеспечении F16 перевернулся вверх ногами, когда он пересек экватор ... Может, это был патч ... :-) - person Peter Kriens; 20.07.2011

person    schedule
comment
Совершенно уверен, что я написал это - person Chris James; 13.10.2008
comment
История моей жизни. - person John Lockwood; 24.08.2009
comment
О мой! Похоже, кому-то нужно узнать об управлении версиями. - person user123444555621; 08.07.2010
comment
Комментарий отражает то, что автор не знает о системных правилах, если вы не исправите их. (Или что это были за правила?) :) - person TheBlastOne; 01.09.2010
comment
Вот почему все мои файлы никогда не уменьшаются в размере! - person Mike; 20.09.2010
comment
У меня есть целые папки с подобными источниками. - person peterchen; 22.07.2011
comment
Как невиновен автор комментария! :) - person Raghav; 31.07.2011

person    schedule
comment
Я знаю это чувство :) - person johnc; 23.01.2009
comment
я попробую это посмотреть, поможет ли это ...: D - person Peter Perháč; 06.04.2009
comment
Мой босс говорит мне это всякий раз, когда видит, что я читаю ТАК. - person Mike Miller; 21.04.2009
comment
@ Мой босс говорит мне это всякий раз, когда видит, что я читаю SO .: OMG !!! Я не могу перестать смеяться !!! - person Andrei Rînea; 24.04.2009
comment
@Mike Miller, я постоянно проверял, чтобы убедиться, что со мной этого не случится. - person Jake; 07.02.2011

person    schedule
comment
Это одно из тех применений этого Хофштадтера. - person harpo; 09.10.2008
comment
Очень напоминает печально известный, что вы не должны понимать этот комментарий в исходном коде UNIX: cm.bell-labs.com/who/dmr/odd.html - person Mark Bessey; 10.10.2008
comment
Трудно сказать, должно ли это означать, что этот код не читается, поэтому не расстраивайтесь, если вы не понимаете его, или вы не поймете мой код, потому что вы далеко не так умны, как я. - person finnw; 10.10.2008
comment
Трудно сказать, означает ли это ... - Другими словами, вам сложно понять комментарий. Значит, это было одно из тех применений этого Хофштадтера. - person Windows programmer; 14.10.2008
comment
Или не стоит понимать - person Thevs; 25.10.2008
comment
Другими словами, все ошибки / дефекты должны быть направлены на меня. Это мой способ обеспечить себе работу. - person icelava; 18.12.2008
comment
@Mark: на самом деле мне даже больше нравится другой комментарий в этой ссылке: / * * Возвращаемое здесь значение имеет много тонких значений. * См. Комментарии newproc. * / - person Anton Tykhyy; 07.08.2009
comment
Эй, это то, что мой учитель все время говорил. - person Matthias; 28.08.2009
comment
Это наш Деннис! - person tchrist; 20.11.2010

person    schedule
comment
Они должны были переместить «так» в предыдущую строку, чтобы сделать это хайку ... - person David Oneill; 23.10.2009
comment
Я знаю компанию, где у главного программиста есть tesis: код должен быть трудночитаемым, потому что никто не должен трогать код, пока он / она полностью не поймет код. - person TcKs; 23.09.2010
comment
Это то, что я читаю между строк кода, которые мне нужно поддерживать ... - person Denis Kniazhev; 31.12.2010
comment
@TcK, главному программисту просто нужно быть новым программистом в аналогичном магазине, чтобы увидеть ошибку своего пути. - person Thorbjørn Ravn Andersen; 17.09.2011

person    schedule
comment
Вы можете использовать его только один раз, но он хороший! - person MrBoJangles; 11.10.2008
comment
ха-ха, молодец. вы видите только один раз в 75 лет, а последний был в 1986 году. - person nickf; 13.10.2008
comment
теперь это действительно смешно - person inspite; 06.04.2009

person    schedule
comment
Я чувствую именно это. - person chakrit; 22.11.2008
comment
ха-ха .... Я много раз думал об этом ;-) - person Muhammedh; 10.02.2010
comment
Хороший способ рассказать о том же своему боссу! - person Raghav; 31.07.2011

person    schedule
comment
Это ... просто безумно глупо и ПРОСИТЬ проблемы ... - person Matthew Scharley; 12.10.2008
comment
В качестве альтернативы, как и FALLTHRU, это указывает на то, что этот код, который выглядит как ошибка, не - person James Ogden; 13.10.2008
comment
Конечно, это не так ... - person James Ogden; 13.10.2008
comment
Ага, лучше немного разобрать ... - person Mark Brittingham; 15.12.2008
comment
И все же меня это как-то странно тянет ... - person johnc; 23.01.2009
comment
Я могу оценить ценность комментария там (возможно, самый ПОЛЕЗНЫЙ комментарий, получивший наибольшее количество голосов), это должно было быть написано так, чтобы оба назначения (вы уловили это, 2 побочных эффекта) выполнялись ВНЕ условия, поэтому следующая бедняжка, с которой придется столкнуться у него был шанс увидеть, что он должен был делать. - person TokenMacGuy; 01.02.2009
comment
Это ужасно. Вы хотите использовать if (0 != (m_measures = --index)). - person Simon Buchan; 16.03.2009
comment
Нет, ты совсем не хочешь этого делать. :П - person Robert P; 27.03.2009
comment
if (DerivedClass * dc = dynamic_cast ‹DerivedClass *› (ptr)) {} действительно полезен. - person bradtgmurray; 20.04.2009
comment
Это неправильно на многих уровнях. Я очень люблю это! - person David Gladfelter; 25.01.2010
comment
Разве GCC не предлагает двойные скобки вокруг присвоений в условиях? - person Stefan Majewsky; 17.09.2010

person    schedule
comment
хиллариозно, от этого я подавился кофе: D! - person Filip Dupanović; 20.04.2009
comment
но сегодня мой последний день Остерегайтесь владельцев компании! - person Raghav; 01.08.2011

person    schedule
comment
РЖУ НЕ МОГУ! это хорошо: D - person Trap; 01.03.2009
comment
Требуются объяснения для программистов не на ассемблере - person Clement Herreman; 14.09.2009
comment
@Clement Нет, это не так. Прочтите это вслух. - person Jacob Krall; 22.09.2009
comment
@ Джейкоб Move ship card Captain?? - person Mateen Ulhaq; 23.09.2011
comment
Вот подсказка: pCard изображал Патрик Стюарт. - person Jacob Krall; 25.09.2011

person    schedule
comment
Мне это просто нравится, это заставляет мое сердце улыбаться, когда кто-то просто не может оставить очередь, как это было. Классический. - person Mia Clarke; 15.04.2009
comment
Не лучше ли заменить его просто на r = 0; - person thomasrutter; 22.04.2009
comment
Строка не ошибочна, довольно очевидно, что она просто присваивает 0 r, затем оценивает r (до 0), затем неявно преобразует его в bool (что является ложным) и, таким образом, пропускает блок внутри if :). .. А если серьезно, это бесценно! - person Daniel Daranas; 23.04.2009
comment
Я отредактировал это, чтобы было немного более ясно, что в оригинале действительно был код в блоке. - person Mark Bessey; 23.04.2009
comment
Но ... почему в первом блоке код? Какое зловещее извращение языка C ++ / C могло привести к его выполнению? - person ; 05.05.2009
comment
если только r не является объектом, который перегружает оператор =, и они грубо неправильно использовали перегрузку оператора. - person ; 05.05.2009
comment
Никаких уловок с перегрузкой оператора C ++ здесь нет. Код в блоке else отлично справился с случаем r == 0. Предположительно намерением первоначального автора было выполнить некоторую специальную обработку в состоянии r == 0. Поскольку код в блоке if (r = 0) никогда не выполнялся, они в конечном итоге исправили его в другом блоке, оставив этот бесполезный код вверху. Теперь у ребят, которые продолжали исправлять это, не было никаких причин изменять этот код, и они, конечно, никогда не тестировали код после того, как изменили его. Сохранение кода в том виде, в каком мы его получили от поставщика, упростило интеграцию будущих версий. - person Mark Bessey; 08.05.2009
comment
Это было ясно, но (r = / * = * / 0) короче. - person joeytwiddle; 10.06.2009
comment
Если код в if-части сломан и в любом случае не используется, я бы просто удалил его и всю путаницу вокруг него. - person Albert; 17.09.2010

person    schedule
comment
Это меня так рассмешило !! :) - person Christian; 04.05.2011
comment
Этот комментарий нарушает ограничение в 80 символов. Будь проклят, сэр! - person Jason; 07.05.2011
comment
Язык, который понимают ВСЕ программисты: ненормативная лексика - person inspectorG4dget; 29.07.2011

person    schedule
comment
звучит как кодирование Гомера - person Jhonny D. Cano -Leftware-; 06.04.2009
comment
Неа. Это пиибл или боб. - person Nailer; 20.04.2009
comment
Мне нравится, как люди привыкли к этой аббревиатуре исключения, а потом получили tu catch (SecurityException sEx). - person Michael; 17.09.2010
comment
Отныне мои переменные исключения будут иметь забавные имена - person Dennis G; 22.07.2011

person    schedule
comment
ROTFL :) Я ЭТО ОБОЖАЮ! +1 - person Jacob Relkin; 21.01.2010
comment
Этот просто идеален! Много любви. : DDDD Известно, что я помещал подобные вещи в себя, например // Хорошо, этот метод портит таблицу поиска, поскольку он сортирует недействительные записи, а затем несколькими методами // Помните эту очистку недействительных записей? Ну вот и инвалид ... да смилостивится Бог над Твоей душой ;-D (не cut'n'paste, но очень похоже) - person Egon_Freeman; 24.09.2010
comment
Удивительно, и в большинстве случаев так верно. - person Ben; 20.11.2010
comment
Проголосовал бы, а уже 42 :) - person thejh; 30.11.2010

person    schedule
comment
+1, Из всех, что я прочитал, этот заставил меня громко смеяться - person Michael G; 10.04.2009

person    schedule
comment
Ха-ха без комментариев ?! Думаю, люди стеснялись. - person Pale Blue Dot; 09.05.2011

person    schedule
comment
Просто офигенно серьезно. - person Anton; 10.07.2009

person    schedule
comment
Потрясающе ... Мне нравится, как объявляют о входе свиньи ... - person karlgrz; 24.04.2009

person    schedule
comment
хе-хе-хе Мы на пасхе, так что подожди скорее - person Jhonny D. Cano -Leftware-; 06.04.2009

person    schedule
comment
Это грустно, что я прочитал это и сказал, что он имеет дело с ошибкой с высотой строки? и понял, что сам написал много подобных комментариев ... - person ajm; 21.05.2009
comment
не печально для вас, когда дело доходит до IE, у всех здесь наверняка плохой опыт, IE6 действительно следует назвать худшим программным обеспечением, когда-либо написанным - person medopal; 20.12.2009
comment
худшее программное обеспечение, которое когда-либо было написано, всегда делает Microsoft, это просто факт. - person Alvar; 04.06.2011

person    schedule
comment
Исправлять надоедливые ошибки - все равно что танцевать на коленях. - person invert; 26.08.2010

person    schedule
comment
Классический Марк Спенсер. Всегда пытаюсь воспитывать: D - person Collin Klopfenstein; 13.08.2009
comment
кишки, пожалуйста, отдайте должное там, где это необходимо: svnview.digium.com/ svn / asterisk / trunk / utils / astman.c. - person elcuco; 30.10.2009
comment
Скажите мне, что это было найдено в базе кода для их системы расписания авиакомпаний Air France. Это была бы чистая поэзия. - person BenAlabaster; 16.12.2009
comment
Ржу не могу. Летал Air France еженедельно около 6 месяцев. Они потеряли мой багаж 16 раз за эти шесть месяцев ... - person Andreas; 31.03.2010
comment
Спасибо, Марк, буду иметь это в виду. : D - person Dian; 27.07.2010

person    schedule
comment
Некоторые из них я оставил позади себя. - person ChiperSoft; 17.09.2010

person    schedule
comment
Меня больше впечатляет ошеломляющее количество места в этом #define. Я почти думал, что Пи ничего не значит. - person Branan; 03.02.2009
comment
Контекстная вещь. Это было в файле с множеством макросов, и расширения выровнены. - person chaos; 03.02.2009
comment
Это тоже забавно по иронии судьбы. Он высмеивает Индиану за округление числа Пи до 1 цифры, когда сам код делает то же самое только с несколькими дополнительными знаками после запятой. - person JohnFx; 13.02.2009
comment
Симпатично, но на самом деле он указывает на предел точности поплавков, доступных в его языковом контексте (что, вероятно, не то, что вы думаете). Если вы видите смысл в превышении этого, дайте мне знать ... - person chaos; 13.02.2009
comment
Я не был знаком с этой ссылкой, поэтому добавил ее в википедию: en.wikipedia.org/wiki/Indiana_Pi_Bill < / а> - person thomasrutter; 23.04.2009
comment
Как Hoosier, я должен отметить, что это никогда не было законом. Однако он устанавливает, что законодатели, как и крошечные дети, нуждаются в постоянном надзоре. - person ; 17.12.2009
comment
Пожалуйста, #define PI по крайней мере до полной двойной точности с плавающей запятой! - person e.tadeu; 09.02.2010

person    schedule
comment
однако может быть и другой Маклауд из клана Маклауд - person Jhonny D. Cano -Leftware-; 06.04.2009
comment
Я не уверен, что это традиционное написание имени ... - person James McLeod; 10.04.2010
comment
Ничего страшного, это тоже не оригинальная цитата, которая гласит: «Может быть только один». - person Mahol25; 19.08.2010

person    schedule
comment
Настоящая чепуха в том, что он не использовал класс Color. Подождите ... не тот сайт. - person Fowl; 19.04.2009
comment
Это из книги «Как писать неподдерживаемый код»: mindprod.com/jgloss/unmain.html - person Margaret; 08.05.2009

person    schedule
comment
// Я СКАЗАЛ, чтобы ты больше меня не кодировал! - person Darth Continent; 13.07.2009
comment
Ссылка: bash.org/?104383 - person ; 25.10.2011

person    schedule
comment
: ^) звучит как Inferno III Данте 9: Lasciate ogni speranza voi ch'entrate. - person Federico A. Ramponi; 10.10.2008
comment
Это то, что пытался автор, но не совсем вспомнил. Обычно это переводится на английский как Abandon all hope you, who come here. - person Robert Rossney; 18.10.2008
comment
Мне нравится смотреть на код после этого! - person Lucas Gabriel Sánchez; 10.03.2009

person    schedule
comment
Комментарий относится к самому себе. Может быть, разобрались в приведенном ниже коде? - person Thorbjørn Ravn Andersen; 19.10.2010
comment
@ Thorbjørn Какой комментарий? твой или тот, что в ответе? :) - person Marcelo; 17.11.2010

person    schedule
comment
@SLaks всего 1 пиксель сплошного золота. - person ; 02.09.2011

person    schedule
comment
Должно быть миссис (ifaq.wap.org/computers/compilersarefemale.html). - person Toon Krijthe; 03.06.2011

person    schedule
comment
должно было быть volatile long time; - person fastcodejava; 23.12.2010

person    schedule
comment
+1 потому что я фанат Крокодила Данди :) - person BenAlabaster; 30.12.2008
comment
ох! Спасибо за ссылку. Теперь я понимаю. : D - person BobC; 03.04.2009

person    schedule
comment
Когда я это прочитал, они сказали это в песне, которую я слушал в данный момент. Стечение обстоятельств. (Желаю мне ангела - Nightwish.) - person ; 26.01.2011

person    schedule
comment
Какие? Нет FileNotFound? (thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx) - person P Daddy; 04.12.2008
comment
Мне нравится копирование / вставка! - person Pat Hermens; 27.01.2009
comment
Все победители! - person Programmin Tool; 20.04.2009
comment
Все проиграли, но в комментариях говорится, что все победили! - person thomasrutter; 23.04.2009

person    schedule
comment
// не ‹br› поймал (исключение e) {} - person Michael K; 12.11.2010

person    schedule
comment
это то же самое, что и использование Cisco фразы «неограниченный» (или любого оператора сотовой связи в этом отношении). Когда я выполнял свою работу в Академии CCNA, практические экзамены давали вам неограниченное количество попыток; что означало 5 - person STW; 23.04.2009
comment
Я почти уверен, что ролевой не подходящее слово ... - person justin.m.chase; 23.04.2009
comment
Я почти уверен, что вы также не сможете разыграть 12 на костях :) - person Paul Whelan; 23.04.2009
comment
Прошедшее время роли прокручивается. - person Dead account; 23.04.2009
comment
Пол: en.wikipedia.org/wiki/Dice#Non-cubical_dice - person Erik Forbes; 24.04.2009
comment
@Paul: Ты явно никогда не играл в D&D ... (и это умри в единственном числе) - person muusbolla; 10.07.2009
comment
если это кубик в единственном числе, то кубики должны быть во множественном числе - и вы можете получить 12, бросая кубики (две шестерки, амирит?) - person Carson Myers; 29.07.2009
comment
У меня 36-гранная матрица. Так что это могло быть одно. - person Sphvn; 08.02.2011
comment
Прокручивается прошедшее время ролла. Существительное В нем нет времен. - person nmichaels; 22.07.2011

person    schedule
comment
Мне нравятся комментарии, которые длиннее кода, который они объясняют, и при этом ничего не делают для объяснения кода. - person John Biazo; 19.12.2008

person    schedule
comment
можно перевести: нечего делать, это прекрасно. - person Chris; 06.10.2010

person    schedule
comment
Я предполагаю, что он начался с 8192 (2 ^ 13), затем хитрые методы устранения ошибок снизили его до 8125, и комментарий остался, теперь не соответствует действительности. - person jpinto3912; 13.10.2008

person    schedule
comment
Извини. Это был я. - person JohnFx; 13.02.2009
comment
И // Реализация TODO делает красивое тело метода! - person Henning; 17.09.2010

person    schedule
comment
Очень хорошо. Вероятно, на то, чтобы написать этот комментарий, потребовалось больше времени, чем на то, чтобы исправить эту чертову штуку! - person Martin Cote; 27.04.2009

person    schedule
comment
Привет! Вы снова читаете мой код! - person Ogre Psalm33; 20.10.2008

person    schedule
comment
дупа (нет, я не собираюсь смотреть туда, где это было раньше, поверьте мне, это там) - person Peter Zich; 17.09.2010
comment
не новый, он уже есть (смотрите на странице 2 или 3) - person Chris; 06.10.2010

person    schedule
comment
Нееееет !!!! Для этого есть достойные обходные пути !! как (_xsNamespaces = new XmlSerializerNamespaces()).Add("", ""); - person Andrei Rînea; 24.04.2009

person    schedule
comment
И даже в футболке: thinkgeek.com/tshirts -apparel / unisex / generic / 76aa /? cpg = ab - person Alex B; 22.04.2009

person    schedule
comment
derault Опечатка или из оригинала? Пытливые умы хотят знать. - person James McMahon; 16.10.2008
comment
не может быть .. если код никогда не был скомпилирован .. потому что компиляция wudav поймала эту часть, и она была исправлена. - person user20358; 17.10.2008
comment
Ой, просто опечатка. Я оставлю опечатку нетронутой, чтобы ваши комментарии по-прежнему имели смысл. - person MrBoJangles; 18.10.2008
comment
Я должен сказать, что меня больше обижают ругательства, отмеченные звездочкой, чем неправильное правописание. - person MrBoJangles; 24.10.2008
comment
@__ ›Тогда я подозреваю, что вы в меньшинстве. - person Steven Evers; 07.03.2009
comment
Это сломается? Это действительный ярлык, допустим, без соответствующего goto, поэтому перерыв ниже недоступен. - person MSalters; 09.03.2009
comment
Я согласен с __. Неправильное написание причиняет боль, но ругательства, помеченные звездочкой, бессмысленны. Либо ругайся, либо нет. Это заставляет вас выглядеть трусом. - person TRiG; 08.03.2010
comment
@Snorfus, да. Печально, не правда ли? - person MrBoJangles; 19.04.2010
comment
Кстати, я не пытаюсь марионетку, я просто изменил свое имя с двух подчеркиваний. - person MrBoJangles; 19.04.2010
comment
Не забывай и пунктирное нецензурное слово: «Что за ..?» Двойной трус. И неужели многоточие стоит трех очков, а не двух? - person TonyK; 26.12.2010

person    schedule
comment
а затем зачем вы его закодировали? : D - person gumuruh; 22.07.2011

person    schedule
comment
Комментарий Икке тоже никто не читал. - person Windows programmer; 27.03.2009

person    schedule
comment
обмануть stackoverflow.com/posts/503186/revisions - person Daniel Goldberg; 13.02.2010
comment
@ Дэниел Голдберг. Вы могли заметить, что оба написаны мной. Думаю, это человеческая случайность, я почему-то дважды ответил на этот вопрос. Как ты это заметил? - person Sindri Traustason; 15.02.2010

person    schedule
comment
Я действительно однажды использовал // GLMF. Приношу свои извинения, если этот код когда-нибудь снова увидит свет. - person unclerojelio; 02.02.2009

person    schedule
comment
Не совсем комментарий, но стоит улыбнуться :) - person johnc; 06.01.2011

person    schedule
comment
Леон uk.imdb.com/title/tt0110413 - person Gary Willoughby; 30.10.2008
comment
Подходит и фильм «Свиная Чип-Хилл». - person Joshua; 20.04.2009

person    schedule
comment
Одевают. Вы сломали сборку, а не я. - person tsilb; 20.11.2009
comment
@tsilb - это был не мой комментарий - это был мой любимый комментарий, который я видел в коде в ответ на заданный вопрос :) - person Jim Evans; 20.10.2010

person    schedule
comment
Между прочим, это не обязательно бессмысленно, но если это не так, то термин «дерьмо» не будет достаточно сильным. (Я написал такой код.) - person reinierpost; 18.03.2010
comment
Если не без останова, то не бессмысленно. - person Windows programmer; 30.04.2010
comment
Я думаю, кто-то хотел вызвать TextChanged - person Wojtek Turowicz; 25.07.2011