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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
360
0
2 993 273
518

Ответы 518

//ALL YOUR BASE ARE BELONG TO US

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

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

Klathzazt 18.11.2008 17:40

teh r00xorz !!!!!!!!!!! 1 !!!!!!! 11

unclerojelio 02.02.2009 23:20

Get This hack!

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

Я нашел это:

I'm not sure what I did

// TODO: Implement this function!

Привет! Вы снова читаете мой код!

Ogre Psalm33 20.10.2008 00:44

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

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

Классический случай этого: pragprog.com/the-pragmatic-programmer/extracts/coincidence

ilitirit 09.10.2008 00:44

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

StubbornMule 09.10.2008 18:06

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

Viktor Sehr 31.01.2010 21:53

ржу не могу. Я сам это написал ...

Layke 21.02.2010 22:27

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

Ape-inago 09.04.2010 09:02

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

"This code makes baby Jesus very sad!". 

Речь шла об инициализации String следующим образом:

String blankSpaces = "                              "+ //100 whitespaces
                   "                              "+ //200 Whitespaces
                   ...
                   "                                        " //100 whitespaces

Ну вы поняли.

/* Please work */

Я знаю это чувство :)

johnc 23.01.2009 14:02

я попробую это посмотреть, поможет ли это ...: D

Peter Perháč 06.04.2009 15:52

Мой босс говорит мне это всякий раз, когда видит, что я читаю ТАК.

Mike Miller 21.04.2009 00:10

@ "Мой босс говорит мне это всякий раз, когда видит, что я читаю ТАК.": Боже !!! Я не могу перестать смеяться !!!

Andrei Rînea 24.04.2009 03:53

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

Jake 07.02.2011 09:22

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

// This only exists because Scott doesn't know how to use const correctly

Бог. Я бы с удовольствием рассыпал подобные комментарии ПО ВСЕЙ нашей кодовой базе, только «Скотт» - мой начальник.

moswald 09.10.2008 07:30

Дерьмо, я Скотт! (шутит над другим Скоттом, но мне он все еще нравится)

smaclell 24.12.2008 09:15

Кто нашел мои старые проекты?

Scott 16.06.2009 23:31

На самом деле я писал это для себя пару раз.

Fábio Antunes 13.10.2009 00:46

const int Nancy = 1; const int lyComplainingAboutMyCode = -Nancy;

Scott 20.12.2010 22:11

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

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

/* I did this the other way */

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

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

MrBoJangles 11.10.2008 22:33

Действительно ... в основном бесполезно

Sakkle 02.02.2009 15:34

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

AaronLS 03.04.2009 17:34

Я прочитал это как «есть правильный способ сделать это, неправильный способ сделать это и ...»

Ry Jones 04.04.2009 22:09

+1 Отличный комментарий, и за "чистую WTF'ness" фраза, которая начнет появляться в моих комментариях ;-)

Chris O 28.07.2010 05:43

/* You are not meant to understand this */ 

Это одно из тех употреблений слова «это» в Хофштадтере.

harpo 09.10.2008 00:55

Очень напоминает печально известный комментарий «от вас не ожидают понимания этого» в исходном коде UNIX: cm.bell-labs.com/who/dmr/odd.html

Mark Bessey 10.10.2008 04:33

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

finnw 10.10.2008 06:56

«Трудно сказать, должно ли это означать ...» - Другими словами, вам трудно понять комментарий. Это означает, что это было одно из тех употреблений слова «это» в Хофштадтере.

Windows programmer 14.10.2008 10:20

Или "не стоит разбираться"

Thevs 25.10.2008 13:54

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

icelava 18.12.2008 07:23

@Mark: на самом деле мне даже больше нравится другой комментарий в этой ссылке: / * * Возвращаемое здесь значение имеет много тонких значений. * См. Комментарии newproc. * /

Anton Tykhyy 07.08.2009 23:58

Эй, это то, что мой учитель все время говорил.

Matthias 28.08.2009 14:40

Это наш Деннис!

tchrist 20.11.2010 04:14

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

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

willasaywhat 09.10.2008 00:25

Я сделал его безопасным для работы. Надеюсь, никто не возражает :)

Mark Biek 09.10.2008 00:56

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

Tom Ritter 09.10.2008 00:58

цензура - отстой. вернуть оригинал!

coder1 09.10.2008 05:12

@ Дана, я согласен, в оригинале было больше энергии. Если бы его отменили, он стал бы оскорбительным до смерти :(

Blorgbeard 09.10.2008 06:37

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

JosephStyons 09.10.2008 07:48

Я подчиняюсь воле народа :) Этот код невероятно крутой.

Mark Biek 09.10.2008 17:14

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

KevDog 09.10.2008 22:10

«// Код очищен для защиты глупцов». - почему этот комментарий все еще там? Это было пропущено в реверсии? Или это было в оригинале? Или, если это было в оригинале, был ли этот комментарий на самом деле ответом на вопрос автора ???

Windows programmer 10.10.2008 04:48

Будет еще смешнее, если заказчик увидит имя класса в трассировке стека.

finnw 10.10.2008 06:47

@ Дана: Цензура - это инструмент. Это отстой в неправильном контексте, полезно в правильном. На этом сайте было бы неплохо подвергнуть такие вещи цензуре. Для таких вещей существует открытый рынок, называемый Интернетом. Утверждения о том, что всякая цензура - это плохо, просто глупы и некритичны.

MrBoJangles 11.10.2008 22:16

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

MrBoJangles 11.10.2008 22:19

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

MrBoJangles 11.10.2008 22:26

«// Код очищен для защиты глупцов». есть потому, что я вынул настоящее имя парня и заменил его на Ричард.

Tom Ritter 12.10.2008 07:02

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

Brett McCann 13.10.2008 17:23

Достаточно людей сочли версию 'NSFW' действительно "оскорбительной", поэтому я решил использовать SFW-it. Я знаю, что это вики, но, надеюсь, это не разожжет войну редактирования.

Tom Ritter 13.10.2008 17:28

"" // Код, продезинфицированный для защиты глупцов. "Здесь, потому что я вынул настоящее имя парня" - О, значит, вы его подвергли цензуре!

Windows programmer 14.10.2008 10:17

Хорошо сказано, Бретт Макканн, лучше не то, что мне потребовалось 3 комментария. Может кто-нибудь пойти дальше и убрать это?

MrBoJangles 25.10.2008 00:00

Мне нравятся аспекты самодокументирования этого кода, такие как класс RichardIsAFuckingIdiotControl и метод BindDataBecauseRichardIsDumb ()

jrcs3 27.01.2009 05:47

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

alexwood 07.02.2009 02:34

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

RYFN 05.03.2009 12:17

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

Daniel Daranas 05.03.2009 16:52

Редактирование с целью изменения содержания - это злоупотребление привилегиями, ИМО. Отметьте как оскорбление или просто проигнорируйте это.

Adam Lassek 16.04.2009 19:39

Kind выводит самодокументирующийся код на новый уровень.

kyle 17.04.2009 22:32

Комментарий о «банданах и солнцезащитных очках-авиаторах», наверное, моя любимая часть этого. Хотя я думаю, что видел это на Daily WTF.

Rob 19.04.2009 08:21

@Rob Насколько мне известно, код не был отправлен в Daily WTF. Однако статьи нам нравятся, поэтому первоначальный автор мог быть вдохновлен ими.

Tom Ritter 19.04.2009 21:00

Откат к исходной версии, принятой автором - если вы откатите ее к версии NSFW, имейте в виду, что это НЕ то, что сделал автор (см. Его версию 3 и версию 6, если вы не уверены, что он действительно хотел). Если вы считаете, что пожелания оригинального автора не важны, прочтите blog.stackoverflow.com/2009/04/in-defense-of-editing - «в случае, когда оригинальный постер не желает принимать правки и активно их отклоняет - пожалуйста, не форсируйте проблему».

Adam Davis 23.04.2009 15:50

ПОЖАЛУЙСТА, НЕ ОТКАТЫВАЙТЕСЬ К ВЕРСИИ NSFW - автор явно принял версию SFW с ревизиями 3 и 6.

Adam Davis 23.04.2009 15:54

Боже, это много споров. Исходный плакат позволил мне кое-что прояснить: он был отредактирован SFW редактором в Rev 2. Я не согласился с этим, но оставил это в покое, добавив отказ от ответственности в Rev 3, в котором говорилось, что это было SFW-ed. Он был возвращен к NSFW, а в Rev 6 -I- SFW его вернули, потому что в то время он находился под угрозой быть удаленным из-за того, что он был оскорбительным. Я бы предпочел версию NSFW, потому что я думаю, что это лучшее сохранение укуса ОРИГИНАЛЬНОГО автора (написавшего код).

Tom Ritter 23.04.2009 17:38

Я оставляю NSFW / SFW на усмотрение модераторов. Это крайний случай случайного проклятия. Разрешены ли случайные проклятия? Если это так, я думаю, это действительно выходит за рамки допустимого. Если это не так, то SFW это.

Tom Ritter 23.04.2009 17:40

Главный вопрос для меня в этом случае: «Является ли оригинальная ругань настолько важной, что стоит отключить слишком строгие рабочие и школьные фильтры и заблокировать сайт для некоторых пользователей?» Если важно сохранить оригинал и, возможно, попасть в некоторые черные списки сайтов (особенно для начальных школ и библиотек), тогда продолжайте, но если общий смысл этого можно сохранить с помощью фальшивых нецензурных слов, то почему бы и нет?

Adam Davis 23.04.2009 19:15

Кроме того, это Оскорбительно для некоторых людей, независимо от ваших личных взглядов, и со временем будет отмечаться как таковое. Вы можете спорить сколько угодно, но, в конце концов, некоторые люди считают этот язык неприемлемым. Возможно, тег NSFW смягчит это - по крайней мере, вначале они должны знать, что могут найти лично нежелательный материал, но это не помешает всем им проголосовать соответствующим образом.

Adam Davis 23.04.2009 19:17

Я был против цензуры до того, как сообщение было удалено, но я вернулся к версии SFW, чтобы снова предотвратить удаление.

mmx 23.04.2009 20:37

Боже, народ, поговорите о войнах редактирования. Если вы не хотите, чтобы в ваш браузер загружалась ненормативная лексика и т. д., Не заходите в Интернет. Это серьезная заявка и содержит настоящий человеческий язык. Кроме того, прекратите смотреть PBS. Что это, 1850 год?

tsilb 24.04.2009 04:41

Если вы настаиваете на цензуре (что я безоговорочно ненавижу), по крайней мере, подвергните цензуре забавную замену - я голосую за "fsck". Я, конечно, имею в виду дисковую утилиту.

ojrac 24.04.2009 23:59

В нем нет такой грубой силы, как у оригинала. Мне очень нравится фраза Неда Фландерсиста «Фанатично вкусно, соседи». Если нам нужно его очистить, пусть Нэд будет нашим проводником.

jrcs3 25.04.2009 09:26

Журнал ревизий даже забавнее, чем сам пост.

VVS 29.04.2009 16:25

Этот код больше не компилируется.

Joseph 30.04.2009 00:39
частичноclips.com/pclipslite.php?id=1506
Blorgbeard 02.05.2009 03:44

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

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

Tablet 21.10.2008 03:31

Я видел то же самое с // двигаться дальше, здесь не на что смотреть.

Ferruccio 07.11.2008 02:41

Я так смеялся над этим.

Franck 21.11.2008 00:52

Ненавижу этот код. Скрытые исключения - отстой.

Lance Fisher 23.11.2008 09:42

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

NotMe 19.12.2008 02:31

У нас был код, который удалял запись из БД, но настаивал на проверке количества затронутых строк и выдаче исключения, если оно было 0. Но если запись уже исчезла, затронутые строки = 0 были совершенно нормальными. В этом случае я использовал аналогичный комментарий.

Matt Peterson 04.03.2009 23:42

Обобщение противоположного этому: «Никогда не проверяйте состояние ошибки, которое вы не знаете, как справиться». - Штайнбах

Peter Rowell 05.03.2009 23:17

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

Daren Thomas 20.04.2009 15:07

Я виноват и в этом со следующим: // ToDo: Заполните исключение здесь позже

Random Developer 20.04.2009 22:57

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

Dennis 24.04.2009 04:38

Иногда это действительно не имеет значения. но в любом случае так и должно быть. catch (исключение) {/ * кого это волнует * /}

Greg Dean 25.04.2009 21:41

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

Jay 26.08.2009 18:07

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

Cristián Romo 08.03.2010 04:53

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

//this formula is right, work out the math yourself if you don't believe me

Это нормально, но как насчет добавления тестов, чтобы доказать это? Вчера вечером у меня была именно такая ситуация: нашел математический код (написанный мной), который, как я не верил, мог работать, но модульные тесты доказали, что это так.

endian 09.10.2008 16:18

Это хорошо, если вы правы, и очень плохо, если вы случайно ошиблись. Лучше иметь тесты, подтверждающие это.

TM. 10.10.2008 06:42

Формально тесты не «доказывают» формулу, а только показывают, что она работает в конкретных случаях. Но я бы все равно включил их - несколько полезных случаев придали бы больше уверенности, и обнаруживает сбои, если кто-то его "оптимизирует".

chesterbr 30.08.2010 15:35

// I'm sorry.

(Код, который последовал за этим, заставил меня плакать.)

Greg D 09.10.2008 00:23

чувак, я хочу увидеть следующий код ...

Erik Forbes 09.10.2008 00:59

// Вы прощены. Иди с миром, сын мой.

Mark Allen 09.10.2008 01:51

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

Alexandre Brisebois 09.10.2008 17:40

действительно, какой код следует за этим ???

chakrit 22.11.2008 00:34

черт возьми, я действительно хочу знать следующий код !!!!

hasen 02.12.2008 12:18

да, давайте посмотрим код, который последовал за этим. lmao

Click Upvote 09.01.2009 03:02

кратко и по делу. Я бы назвал это Haiku od все комментарии

Roland Tepp 21.07.2011 11:31

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

/* 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» (название изменено) был семилетним испытанием. Этот последний комментарий был написан одной стойкой душой, которая участвовала с самого начала до конца.

Перефразируя Адриана Монка, он молится о сладком освобождении, которое может принести только смерть.

MrBoJangles 11.10.2008 22:39

От классика от usenet:

Deep inside the Teradyne hardware modeler code is a routine that feeds a whole bunch of hex numbers into a SYS$QIO call. The only comment is 'Weird magic happens here'.

// This code sucks.

а затем зачем вы его закодировали? : D

gumuruh 22.07.2011 20:23

{
This is a gathering place for all unit tests.
Create a TUnitTestWrapper, then call "RunAllUnitTests".

This class will create an instance of each thing to be tested, and call each of
their unit tests.

It does not really do any testing on it's own; it just gives a common place from
which to call everyone else's tests.

This way, one day, we can automate our testing with each build. [Cue laughter]
}

int Q13Factor = 8125; // 2^13 for Q13 

Я предполагаю, что он начался с 8192 (2 ^ 13), затем хитрые методы устранения ошибок снизили его до 8125, и комментарий остался, теперь не соответствует действительности.

jpinto3912 13.10.2008 19:00

-- Comment this later

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

Четыре года - ничто - код живет веками!

Thorbjørn Ravn Andersen 19.10.2010 23:15

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

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

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

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

quick_dry 09.10.2008 08:06

Ага, «фасоль, бобы, музыкальные фрукты / чем больше ты ешь, тем больше гудишь». Это была не Фландрия.

Blorgbeard 09.10.2008 08:56

Flanders - так звали разработчика, написавшего код. Но мне нравится, что у вас есть ссылка. :)

Robert S. 10.10.2008 19:58

:)) отвращать сказал? хахаха ... это должно быть "перевернуть!" вместо.

gumuruh 22.07.2011 20:23

//You are not expected to understand this

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

// Вы не должны понимать почему.

mdec 12.10.2008 11:47

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

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

Andreas Petersson 09.10.2008 01:01

Я очень сильно смеялся над этим.

Dave 09.10.2008 01:48

doh 'нет каскадного оператора выбора?

Stephan 09.10.2008 02:07

это достойный сайт thedailyworsethanfailure.com!

deadbug 09.10.2008 09:50

Похоже на Лисп!

endian 09.10.2008 16:15

Я думаю, что один endif был действительно важен;)

Milan Babuškov 09.10.2008 19:28

Эээ, нет, из этого и состоят кошмары: Орда фигурных скобок преследует тебя со скалы <содрогание>

Jacob 13.10.2008 09:56

Этот комментарий, вероятно, нужен для исправления ошибки компилятора. : |

Rob Howard 03.11.2008 10:01

Какой узор! Я чувствую, что мне следует попытаться сфокусировать взгляд за экраном, чтобы на меня прыгнула парусная лодка или что-то еще.

gnovice 13.01.2009 22:29

Уровень цикломатической сложности OH SHIIIIIIIII

user1228 05.03.2009 17:45

Это довольно эпично. Не мог перестать взламывать

dance2die 05.03.2009 21:58

Ха-ха, это круто. Это почти похоже на Монти Питона.

Tetha 16.03.2009 14:32

Какова цикломатическая сложность этой функции?

graham.reeds 24.04.2009 12:42

Мне очень понравился // endif в конце: D

thSoft 19.07.2009 15:28

com'on, это лучше, чем ничего :)

Ammar 06.09.2009 03:05

это аккуратно; кто-то должен сделать это из пластика и сделать обтягивающий

Chris McKee 13.02.2010 21:24

Вот это да. Вот почему ядру требуется 8 пробелов на вкладку. Такого кода никогда не должно быть.

EricR 17.08.2010 05:06

Mh. Нет gotos. Это недостаток этого примера.

TheBlastOne 01.09.2010 13:09

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

Michael Foukarakis 05.03.2011 11:07

Для тех, кто играет дома, найдите файлы с наибольшим количеством скобок ... найдите. -тип f -name "* .java" | пока читал f; сделать echo -n "$ f"; кот "$ f" | tr -dc '{}'; эхо; сделано | awk '{длина печати ($ 2), $ 1}' | sort -n

Rog 22.07.2011 08:08

Так должен выглядеть входной билет в ад.

Rostislav Matl 28.07.2011 12:27

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

// yikes

SCNR: youtube.com/watch?v=7tsYstSet7g

vobject 30.08.2010 01:04

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

// Abandon all hope you who needs to debug this

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

THIS PROGRAM HAS CODE THAT DOES NOT MEET STANDARDS      

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

Как Википедия с тегами очистки и цитирования ...

Nicholas Knight 21.01.2010 12:12

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

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

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

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

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

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

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

Мне уже пришлось установить один из них. Это действительно было странно. // этот комментарий end-if-file необходим для того, чтобы aCC не вылетел; пожалуйста, не удаляйте его, даже если ваша команда работает с gcc.

JB. 15.10.2008 11:05

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

DNS 06.03.2009 17:29

Магия / Больше магии

DevinB 06.03.2009 17:36

Мне приходилось использовать это раньше ... либо в java, либо в php, я не помню, в каком.

Malfist 24.03.2009 16:05

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

Charlie Flowers 27.03.2009 10:12

У нас есть приложение Sybase Powerbuilder, которое зависит от такого комментария. В компиляторе есть что-то странное; это работает, поэтому мы не трогаем его.

Colin Pickard 06.04.2009 14:07

Юк. Худшее, что у меня когда-либо было, - это код Moto 68K, который работал / не работал на основе asm ("NOP"); вставлен между функциями (длина перехода изменена). Я бы не хотел иметь дело с КОММЕНТАРИЕМ, вызывающим такие же изменения.

Michael Kohne 20.04.2009 20:44

@DNS, вы уверены, что не было кода, начинающегося со столбца 200 (явно оставленного там каким-то злым кодером-драконом), который вы комментировали?

Jonathan C Dickinson 24.04.2009 15:45

Я знаю это. У меня давно не было такой проблемы. Обычно вставка другого комментария снова ломает его.

paniq 05.05.2009 10:25

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

JoelFan 14.06.2009 22:20

Был победитель конкурса Obfuscated C с комментарием, который не удалось удалить (и сказал об этом), но я не могу его сейчас найти :(

Thorbjørn Ravn Andersen 14.05.2010 16:49

Я помню, как писал сценарий ActionScript 1, которому для работы требовался вызов trace (). Потратив 2 часа на попытки элегантно решить проблему, мы решили, что лучше всего оставить след :) / :(

Steven Mercatante 26.05.2010 02:08

Однажды мне потребовалось полдня, чтобы понять, что завершение комментария C на \ (используется для обозначения направления, в котором мы движемся в 2D-массиве) заставляет компилятор пропускать следующую строку.

Tgr 31.05.2010 14:43

@Tgr, он не пропускать строку, а просто добавляет ее в комментарий. Хотя гадкий.

Thorbjørn Ravn Andersen 19.10.2010 22:39

Может быть. Следующая строка: if (__LINE__ == 450)

Benoit 07.04.2011 17:48

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

Полностью согласен. Комментарии нужны редко.

thvo 10.10.2008 07:30

Полностью согласен с вашим комментарием, что комментарии нужны редко.

harpo 17.10.2008 09:45

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

crystalattice 18.10.2008 19:55

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

Mark Brittingham 15.12.2008 18:35

Код говорит, что ... в комментариях сказано, почему!

Richard Ev 19.12.2008 19:06

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

Bryan Anderson 23.12.2008 22:24

ИМХО. Хороший рамочный комментарий может быть полезным, но не особо запоминающимся как «лучший» комментарий. Если комментарий достаточно информативен, чтобы его можно было запомнить, значит, код слишком сложен. Единственные запоминающиеся комментарии - это плохие, забавные или хорошие объяснения плохого кода.

MarkJ 03.03.2009 23:34

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

Danita 26.03.2009 19:45

Код может только сказать какие, что вы делаете, но никогда не Почему.

Daren Thomas 20.04.2009 15:10

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

Rory Becker 24.04.2009 13:47

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

Bill K 12.05.2009 01:52

Также следует учитывать практику добавления комментариев перед кодом и построения вокруг вашего намерения. Таким образом, сначала введите код sudo и убедитесь, что вы поняли идеи. Аминь Ричард

baash05 03.12.2009 08:56

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

Ziggy 31.01.2010 00:20

Код становится корявым, если он должен объяснять как как, так и Почему.

Thorbjørn Ravn Andersen 14.05.2010 16:42

@Richard Ev Аггри от всего сердца!

Alexandra 28.03.2011 19:30

@rlerallut, вы только прокомментировали вопрос, но забыли ответить на него. (Мета-ответ - это комментарий к вопросу?)

Thorbjørn Ravn Andersen 16.04.2011 15:15

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

Evert 01.06.2011 17:14

If you have reached this part in the code, then this program sucks.

using namespace std;            // So sue me

В оригинальном 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)
//

Мне всегда было интересно, почему это так!

Zachary Yates 10.10.2008 01:15

По сути, 2D-геометрия уровня предварительно скомпилирована в древовидную структуру, которая позволяет эффективно сортировать стены во время рендеринга. Но поскольку он предварительно скомпилирован, вы не можете изменить его во время выполнения. В Hexen, который был основан на Doom, был хак для перемещения стен (дверей и т. д.), Но он был очень ограничен.

Simon Howard 10.10.2008 14:53

Это серьезная обскура.

MrBoJangles 11.10.2008 22:42

Ну это все объясняет;)

Nick Bolton 03.04.2009 01:29

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

из jpgraph

// this is really complicated

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

// Magic. Do not touch.

Магия = хрупкость, может быть?

MrBoJangles 11.10.2008 22:31

Напоминает мне об этом: catb.org/esr/jargon/html/magic-story.html

Simon Howard 16.10.2008 23:31

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

Shalom Craimer 20.01.2009 17:43

@ Саймон Ховард: Я думал о той же истории. На самом деле, я виноват в написании более одной функции more_magic () в свое время.

Jens Roland 27.01.2009 03:02

Если бы только в комментарии говорилось, ПОЧЕМУ это было волшебно ...

Eddie 21.02.2009 06:06

@ Саймон Ховард, я бы не стал трогать его, если бы там было написано "Больше магии"

DevinB 06.03.2009 17:31

я постоянно помечаю неописуемые фрагменты кода словом "вуду"

Berry Tsakala 06.04.2009 16:51

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

nevets1219 19.04.2009 08:06

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

Joshua 20.04.2009 05:59

Это хоть и не самое смешное, но для меня наиболее распространенное и глубокое - я видел и сам делал :)

ShuggyCoUk 20.04.2009 12:53

Я постоянно использую это :\

Kuroki Kaze 20.04.2009 18:55

Бьюсь об заклад, каждый файл в дереве исходного кода Windows имеет этот комментарий в заголовке

Mike Akers 21.04.2009 01:36

«Магия» - это то, как я хочу ответить на вопросы SO / SF / SU в форме «Как я могу выполнить фу, не выполняя бар?» (бар является абсолютно необходимым для функционирования фу.) (Примечание: к сожалению, часто есть обходной путь, уродливый зверь, которым он и является.)

Dennis Williamson 04.05.2010 03:40

Напоминает мне об этом: gocomics.com/calvinandhobbes/2010/08/19

Suresh Kumar 25.08.2010 06:27

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

Andriy M 30.12.2010 13:23

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

E.Freitas 22.07.2011 00:26

// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...

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

<!-- Here be dragons  -->

Я все еще пытаюсь понять, как правильно комментировать XSLT.

rjzii 09.10.2008 06:47

ПРИВЕТ! Я оставлял этот комментарий несколько раз, что с ним не так? :) Однажды я даже оставил ссылку на искусство википедии. об этом; en.wikipedia.org/wiki/Here_be_dragons

noocyte 13.10.2008 10:46

Чувак, у них больше нет искусства, в этом проблема Вики.

James McMahon 16.10.2008 17:53

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

schonarth 21.10.2008 15:13

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

Jon Smock 04.04.2009 22:53

Я написал здесь, что есть тигры, имеющие то же значение.

Joshua 20.04.2009 06:01

Изначально думал о en.wikipedia.org/wiki/21st_Century_Compilers

chakrit 20.04.2009 08:46

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

Dana the Sane 21.04.2009 10:17

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

Eamon Nerbonne 24.08.2009 16:40

Мне просто нужно было написать это на вершине класса. Грустный.

si618 30.09.2009 10:05

Меня кто-то звал?

Troggy 07.10.2009 00:49

LOL, я действительно написал этот точный комментарий в XSLT несколько лет назад (и это было очень долго), но быстро!

Mark Schultheiss 14.01.2010 01:26

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

James McLeod 10.04.2010 04:35

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

Thorbjørn Ravn Andersen 14.05.2010 16:45

/* 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. Я не могу смеяться каждый раз, когда читаю этот источник.

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

Достаточно просто ядра linux, в основном мычание о каком-то хреновом оборудовании или о другом

Mark Baker 09.10.2008 13:03

Ммм, несколько флажков в JavaScript ... Думаю, у меня есть собственный комментарий.

scunliffe 22.12.2008 00:24

Обработка значения флажка в опубликованном HTML - это самостоятельный WTF.

Rob Howard 22.04.2009 11:36

Мне нравится, когда люди используют флажки для состояния ИЛИ, а не радиокнопки, которые созданы специально. Выберите страховку A ИЛИ B, ooo установите флажки Cue ненужный javascript и сделайте код жирным.

Chris McKee 13.02.2010 21:31

// drunk, fix later

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

Это смешно, кто пишет комментарии в нетрезвом виде.

Jiminy 16.03.2009 03:23

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

JoshJordan 31.03.2009 10:49

Насколько это может быть великолепно, если вы этого не понимаете?

AaronLS 03.04.2009 17:24

Ох ... Если вы этого не понимаете, это имеет быть великолепным!

Anders Hansson 06.04.2009 15:08

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

ivan_ivanovich_ivanoff 15.04.2009 12:33

Джимини: Я не только соизволил писать комментарии, когда я пьян, но я даже был известен тем, что писал (ахает) юнит-тест или два, когда я весел.

Rob 19.04.2009 08:23

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

johnc 20.04.2009 15:08

Я написал основной установщик, когда он полностью поджарился. Это сработало отлично.

Antony Carthy 02.06.2009 14:15

Написание кода в пьяном виде - это нормально. Фиксация - нет OK.

JCasso 08.12.2009 11:30

ха-ха, "... каким-то образом B.A.C. между 0,129% и 0,138% дает сверхчеловеческие способности программирования ..." xkcd.com/323

Alpha Codemonkey 10.01.2010 01:21

@ mr.moses Также обратите внимание, что он находится на (или около) 0,1337

alex 14.04.2010 06:46

// I have to find a better job

Я чувствую именно это.

chakrit 22.11.2008 00:47

ха-ха .... Я много раз думал об этом ;-)

Muhammedh 10.02.2010 09:38

Хороший способ рассказать о том же своему боссу!

Raghav 31.07.2011 23:59

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

// Father, forgive me, for I am sinning

// heaven help me

// horse string-length into correctitude 
(from a textbook)

// what, me worry?

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

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

У меня то же самое, но там написано: Этого никогда не должно происходить

Milan Babuškov 09.10.2008 19:31

Вот для чего нужны утверждения.

nmichaels 25.07.2011 18:20

(A bunch of code that's really weird looking)  //Kludge.

return 1; # returns 1

Это сделал Комментатор?

Lev 09.10.2008 17:28

Классика! Но мне нравится еще больше: «i ++; // увеличиваем i на 1»

steffenj 12.10.2008 21:10

Я думаю, что, поскольку "i ++" НЕМНОГО загадочнее, "возвращает 1" 'выигрывает' :)

Bobby Jack 13.10.2008 17:28

Кто знает, может ли он # ОПРЕДЕЛИТЬ 1 как что-то еще ...

icelava 18.12.2008 07:20

Я бы хотел, чтобы подобные комментарии были мне незнакомы.

Drew Dormann 14.02.2009 22:26

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

Beep beep 11.04.2009 22:49

Хорошо, что он / она добавил этот комментарий. Мне было интересно, что, черт возьми, делает эта строка кода. «S» имеет значение.

JohnFx 27.04.2009 23:03

@ShreevatsaR Я предлагаю, чтобы это PHP с синтаксисом, подобным C, и # -комментарием.

Spoike 28.05.2009 12:14

@Spoike Моей первой мыслью был perl, но, может быть, это потому, что я его использую. В любом случае недостаточно информации, чтобы различать.

Jeff Bain 16.06.2009 10:28

# что возвращает? Более конкретно.

Ozan 17.08.2009 01:45

Ха-ха, напоминает мне ту библиотеку на Острове обезьян, в которой был словарь со следующей записью - Рекурсия: см. Рекурсия

Mahol25 18.08.2010 23:45

Некоторое время назад, когда я работал с кодом виртуальной машины, используя тегированные целые числа, я написал что-то вроде (точно не помню): return 2; // returns 1

Michael 17.09.2010 19:40

Моим личным фаворитом был вызов метода arcate под названием «DB_beginModule ()». Слава богу, был комментарий, чтобы прояснить это ... В нем говорилось "Модуль начала базы данных": S

Emil D 25.02.2011 23:24

#DEFINE 1 as something else также был бы комментарием на этом языке ...

Felix Dombek 23.08.2011 22:10

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

Честно в комментариях!

Mitchel Sellers 14.10.2008 01:46

Я люблю честность.

Jeff Schumacher 01.11.2008 11:47

Первый шаг к улучшению - признать недостаток.

icelava 18.12.2008 07:24

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

naveen 26.07.2011 21:56

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

// MrValdez is a violent Psychopath. Don't piss him off.

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

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

пффт, это, скорее всего, всего лишь N ^ 4, и даже близко не так плохо, как 4 ^ N или N!

tloach 09.10.2008 17:23

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

Loren Pechtel 19.10.2008 23:51

У меня был алгоритм O (n) с сетевым RTT 500 мс во внутреннем цикле. п> 100к. Ой.

geofftnz 13.02.2009 03:48

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

Jon Smock 04.04.2009 22:51

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

Draemon 07.04.2009 18:31

@geofftnz: то же самое, за исключением замены RTT до 2 с. п ~ = 26М. О, и это мой текущий проект. Требуется время, чтобы бежать ...

Michael Petrotta 10.04.2009 02:41

Я работаю с кем-то, кто сказал бы: «О (MFG), пожалуйста»

Jason Orendorff 19.11.2009 20:49

Вы ждете, пока не наткнетесь на что-то, что называется EXP²SPACE. Это действительно О (страшно) ...

Donal Fellows 22.06.2010 14:15

tloach: не обязательно. Если есть рекурсия или повторная попытка какого-либо кода (что может быть выполнено на некоторых языках), это может быть хуже, чем N ^ 4.

pupeno 25.07.2011 17:28

// Bad Christian, No cookie

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

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

На сегодняшнем рынке 10 теперь имеет значение только 9.

Steve Fallows 10.10.2008 20:37

А в понедельник можно рассчитывать, что он будет стоить всего 8.

akdom 12.10.2008 02:18

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

Loren Pechtel 19.10.2008 23:52

Во времена войны значение пазух доходило до 5 ... (как говорит мой лучший учитель)

Thevs 25.10.2008 13:58

Ааа, напоминает мне уроки программирования в колледже.

Lance Fisher 23.11.2008 09:40

Я видел «public static final Char COMMA = ','; но почему-то ваш смешнее.

Steve B. 21.12.2008 22:42

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

Mikeage 23.02.2009 16:45

const int TEN = 11; // Моя идет до одиннадцати

dub 06.03.2009 16:25

значения TEN приведут к dom

hasen 27.03.2009 03:42

Лорен Пехтель, десять цифр - рецессивный признак у людей, двенадцать - доминирующий.

eyelidlessness 20.04.2009 07:57

10 - это первая двузначная цифра.

Tola 20.04.2009 08:42

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

Martin Beckett 20.04.2009 20:43

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

Janusz 01.06.2009 07:19

@mgb - Но это константа, а не переменная, так что это в значительной степени спорный вопрос.

MiffTheFox 28.09.2009 07:33

Кто-то узнал, что магические значения - это плохо, и назвал это так, чтобы компилятор мог определить опечатку. Гораздо легче обнаружить ПОДРОСТКОВ, чем 100.

Thorbjørn Ravn Andersen 14.05.2010 16:44

Ха-ха, я все время видел это в коде COBOL около 5 лет назад (дрожь, дрожь). Это имеет смысл, если вы пишете MAX-DISCOUNT = 100, но, СТО = 100 ... Серьезно, WTH!

Susheel Javadi 17.09.2010 08:46

@Martin, много лет назад в компиляторе IBM FORTRAN была ошибка, которая позволяла программе изменять значения этих констант. Вызывало много проблем, когда чей-то код присваивал 1 значение 2.

37Stars 12.10.2010 23:02

@ 37Stars - это не ошибка, а гарантия работы!

Martin Beckett 13.10.2010 00:04

@MiffTheFox - да, но если вам нужно вызвать функцию fortran из C и передать литерал 10, например openport (10), вам нужно сделать int ten = 10; openport (& десять)

Martin Beckett 13.10.2010 00:05

#pragma set_number_base_to (2) // да, выдуманная прагма ... #define TEN = 10 // упс ... (ах, дерьмо! Я не могу правильно отформатировать это! каждый раз, когда я нажимаю return, он сохраняет редактировать...)

Alan Jay Weiner 17.10.2011 20:33

//The following code is commented out
//(a load of commented out code followed)

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

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

// 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() {

Ах, теперь мы знаем, кто пишет те руководства по Spring Framework.

finnw 10.10.2008 06:51

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

Aidos 10.10.2008 15:19

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

Graeme Perrow 21.10.2008 23:46

Второй отличный! Что, никакой «смены парадигмы»?

gnovice 13.01.2009 22:33

Второй бесценен! F *** менеджмент-говорите!

pyon 03.02.2009 01:19

Этот комментарий использует коллективную синергию для стимулирования нестандартного мышления. Люблю это; p

johnc 15.04.2009 01:28

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

Kirk Wylie 20.04.2009 00:31

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

user21037 20.04.2009 12:43

@Kirk: Это случается со мной, если у меня фоновые процессы перемешивают временные файлы, как будто это какие-то частицы вакуумной пены, и я случайно выбираю не тот. Сеть не требуется. Вот почему мне нравятся исключения: FileNotFound (или любое другое исключение) можно обрабатывать в одном месте, независимо от того, какой шаг вызвал его.

Mike DeSimone 17.09.2010 23:39

Я первый, кто заметил, что «... использует коллективную синергию ... для увеличения прибыли». из The Daily WTF Алекса Пападимулиса? en.thedailywtf.com/Articles/Secret_Enterprise_Security.aspx

Han Seoul-Oh 29.11.2010 00:58

// sometimes I believe compiler ignores all my comments

Надеюсь, компилятор проигнорирует комментарии этого человека.

Windows programmer 14.10.2008 10:18

// делайте то, что я имею в виду, а не то, что я говорю! и не игнорируйте этот комментарий, как всегда !!!

hasen 02.12.2008 12:06

// Поскольку я никогда не получал ответа от компилятора, я считаю, что это правда.

Liwen 18.12.2008 16:59

Я думаю, это должно быть иронично ...

Neil Barnwell 19.12.2008 18:57
смех, that's the future, compilers reading comments just to make sure they haven't misunderstood ;-D
sharkin 28.01.2009 15:03

// # reply_from_compiler вам нравится clippy, не так ли?

Carl 13.02.2009 04:08

// Мне кажется, что меня никто никогда не слушает ...

nilamo 21.04.2009 17:29

/ * Компиляторы - отстой! mallocs и frees могут привести к утечке памяти, но комментарии никогда вам не повредят. * /

Cristián Romo 23.04.2009 07:03

Javac действительно читает комментарии;) попробуйте следующее: // Прочтите мой комментарий

Luzifer42 18.09.2009 11:56

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

и:

# VERY USEFUL DEBUGGING AID, for when the above all goes pearshaped:

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

Подонок.

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

// 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]

/* Halley's comment */

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

MrBoJangles 11.10.2008 22:47

ха-ха, молодец. вы видите только один раз в 75 лет, а последний был в 1986 году.

nickf 13.10.2008 11:12

теперь это действительно смешно

inspite 06.04.2009 15:44

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

//This was clearly written under duress

Классический 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))

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

wonderchook 09.11.2008 00:51

Это не правильно; запятая должна быть на символе перед nwod, а не на символе после pilf.

tsilb 26.04.2009 02:38

Итак, ваша база данных содержит кучу перевернутых IP-адресов?

Juliet 15.10.2009 00:17

Я обнаружил это при повторном использовании класса 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;
}

'NO COMMENT

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

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

(Согласно википедия это оригинальный текст :)

Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos, et generaliter nullam in infinitum ultra quadratum potestatem in duos eiusdem nominis fas est dividere cuius rei demonstrationem mirabilem sane detexi. Hanc marginis exiguitas non caperet.

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

(It is impossible to separate a cube into two cubes, or a fourth power into two fourth powers, or in general, any power higher than the second into two like powers. I have discovered a truly marvellous proof of this, which this margin is too narrow to contain.)

И «маржа», а не «боковая линия».

Dour High Arch 09.10.2008 21:17

Это не было ни «доказательством», ни «доказательством», ни «побочным эффектом», ни «запасом». Роальт, не могли бы вы опубликовать классический комментарий Пьера де Ферма по-французски?

Windows programmer 10.10.2008 04:52

"j'ai découvert une preuve réellement remarquable que cette marge trop étroite ne me permet pas de détailler"

Barth 10.10.2008 10:33

Он был французом, но ведь все писали на латыни, не так ли?

Peter Coulton 10.10.2008 12:32

Интересно (по крайней мере для меня), что доказательство, найденное 350 лет спустя, основывалось на математических методах, которые были недоступны во времена Ферма, и было значительно длиннее, чем могло бы поместиться в запасе Ферма. Так что либо он ошибся, либо есть простое доказательство, которое остается загадкой.

Martin 13.10.2008 19:10

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

Windows programmer 14.10.2008 10:25

может у него было чувство юмора? :)

Sandor Davidhazi 19.10.2008 19:39

@Sandor: Я думал то же самое. Возможно, Ферма просто пошутил по этому поводу, а математики не поняли намек.

Spoike 23.11.2008 10:06

Джон Скит нашел бы место ...

annakata 01.12.2008 20:24

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

Karl 02.12.2008 19:28

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

Roalt 02.12.2008 23:31

@annakata - и Джон Скит убьет вас за то, что вы наберете имя своего злого близнеца.

Erik Forbes 10.12.2008 03:38

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

Charles Bretana 19.12.2008 19:03

Может, он опередил свое время, делая "забавные комментарии" в своем "коде", III, если вы понимаете, о чем я, эй, эй ...

mslot 27.03.2009 02:23

Может, он просто написал это, зная, что однажды его процитируют на StackOverflow ...

BenAlabaster 16.04.2009 00:09

Разве этот парень не великий прапрапрапрапрапрадед Джона Скита?

koni 14.05.2009 12:16

Джон Скит не находит места. Он освобождает место.

StuperUser 14.12.2010 14:41

@ Эрик Форбс: разве это не сделало бы Джона Скита злым? поскольку он убивает любого за упоминание своего хорошо twi ... соединение потеряно

Kurru 10.01.2011 22:56

Есть эпизод из «Звездного пути», действие которого происходит в 24 веке, но снято в конце 80-х до того, как было найдено доказательство, где Пикард рассказывает о теории Райкеру, говоря, что люди зашли так далеко, но все еще не смогли решить проблему одинокого француза. Загадка 800-летней давности. Думаю, авторы не ожидали, что в ближайшее время будет решена загадка 340-летней давности.

Cam Jackson 04.08.2011 09:31

Джон Скит - Чак Норрис из StackOverflow.

Andy 05.09.2011 20:10

@ErikForbes: Злой близнец Джона Скита на самом деле Скон Джит.

user244343 25.10.2011 04:17

Найдено в JUnit API:

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

stop(); // Hammertime!

Мне это нравится. Да да да DA, да DA, да DA, Все кончено (Дэвид Спейд, SNL, Weekend Update)

MrBoJangles 11.10.2008 22:37

Признаюсь, что однажды использовал его. Я знаю. Мне стыдно. Но это просто идеальная формулировка :)

Edu Felipe 19.10.2008 20:50

останавливаться(); // Сотрудничайте, слушайте!

Erik Forbes 10.12.2008 03:32

хм .. Я не понимаю этого. Я не из английской культуры, я хочу понять ... Кто-нибудь объяснит это?

Sungwon Jeong 27.03.2009 03:44

Найдите на YouTube "MC Hammer"

Charlie Flowers 27.03.2009 10:04

Затем найдите «Ice, Ice Baby».

Charlie Flowers 27.03.2009 10:04

@ Джейс Юнг: это была строчка из популярной песни ~ 1990: en.wikipedia.org/wiki/U_Can%27t_Touch_This

Dinah 20.04.2009 22:30
xkcd.com/210
puetzk 23.04.2009 04:47

останавливаться(); // что это за звук?

Yuval 15.07.2009 13:33

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

user63904 07.11.2009 15:02

где-то выше в коде: break; // it down

Benjamin Crouzier 29.08.2011 21:47

Некоторые из очень немногих комментариев в 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?

720 - это 30 дней часов.

eyelidlessness 11.10.2008 23:47

720 - это 2 * 2 * 2 * 2 * 3 * 3 * 5, да.

configurator 29.04.2009 21:01

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

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

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

/* Perkele ISO Puukko! */ -> Fucking Big Hack!

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

// He's dead, Jim!

/* My lawyer told me not to reveal */

// I dedicate all this code, all my work, to my wife, Darlene, who will 
// have to support me and our three children and the dog once it gets 
// released into the public.

Это где-то в исходном коде Duke Nukem Forever? ;)

Adhip Gupta 11.10.2008 00:43

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

hasen 05.03.2009 22:33

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

Robert P 26.03.2009 19:44

Почему собаку выпустят в свет?

Nosredna 11.06.2009 22:53

@Nosredna, спасибо за такой забавный комментарий! @hasen j, код был написан настолько плохо, что «программист», скорее всего, потеряет работу, а значит, его жене придется содержать семью.

Jamol 16.12.2009 17:18

Ой! Мне пришлось прочитать этот ответ 3 раза, пока я не понял, что мы с @Nosredna неверно его истолковали. Автора уволят после того, как КОД будет обнародован, а не собака.

Ponkadoodle 14.06.2010 07:43

@Adhip Gupta: Я думаю, Duke Nukem Forever выйдет в следующем столетии, так что он должен быть в курсе.

RMorrisey 02.05.2011 19:40

//Abandon all hope ye who enter beyond this point

: ^) звучит как Inferno III Данте 9: "Lasciate ogni speranza voi ch'entrate".

Federico A. Ramponi 10.10.2008 06:15

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

Robert Rossney 18.10.2008 12:57

Мне нравится смотреть на код после этого!

Lucas Gabriel Sánchez 10.03.2009 18:22

// TODO - Comment this function

Извини. Это был я.

JohnFx 13.02.2009 04:04

А "// TODO Implement" - отличное тело метода!

Henning 17.09.2010 05:00

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

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

Они используют плагин для документации для VS. Для создания этого комментария потребовалось всего одно нажатие клавиши.

Rinat Abdullin 09.10.2008 17:13

@Rinat - почти уверен, что Мартин комментировал очевидное непонимание кодировщика того, что такое «имя».

Michael Petrotta 09.10.2008 22:20

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

Craig Wilson 10.10.2008 05:10

Я не думал, что разработчик использовал генератор комментариев. Зачем кому-то нужна такая штука? Конечно, инструмент не может генерировать больше информации, чем можно определить из объявления свойства, так зачем беспокоиться?

Martin Brown 10.10.2008 19:58

Чтобы ваш босс / клиент, который хочет, чтобы каждый тупой геттер и сеттер был задокументирован, был доволен

Luka Marinko 12.10.2008 00:37

Понимаете, не всегда виноват офшорный работник, который устроился к вам на работу =)

schonarth 21.10.2008 16:32

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

Martin Brown 23.10.2008 20:44

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

gbjbaanb 29.03.2009 18:33

@Craig Wilson: Так есть инструмент, который генерирует бесполезные комментарии? Это ужасно.

JoshJordan 31.03.2009 11:05

Что вы ожидаете из той же страны, которая платит людям за ввод капчи по запросу?

AaronLS 03.04.2009 17:58

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

Michael Stum 24.04.2009 19:15

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

Martin Brown 24.04.2009 19:26

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

Assaf Stone 15.08.2010 11:34

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

javagirl 27.07.2011 12:35

Repeat
    ...
Until (JesusChristsReturn) ' Not sure

хе-хе-хе Мы на пасхе, так что подожди скорее

Jhonny D. Cano -Leftware- 06.04.2009 16:35

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

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

long john; // silver

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

MrBoJangles 11.10.2008 22:41

Полностью взломан. Я думаю, что мой код сейчас слишком скучный.

wonderchook 09.11.2008 00:45
en.wikipedia.org/wiki/Long_John_Silver
chakrit 22.11.2008 00:52

Может быть, это я, но это ломает меня каждый раз, когда double d.

Kevin 24.11.2010 15:03

Блин, я думал про en.wikipedia.org/wiki/Long_John_Silver's Ether way, проголодался.

Tek 25.01.2011 21:52

//There can Only Be one HIGHLAN....err..Singleton
public class SomeSingleton
{
...
}

однако может быть и другой Маклауд из клана Маклауд

Jhonny D. Cano -Leftware- 06.04.2009 16:38

Я не уверен, что это традиционное написание имени ...

James McLeod 10.04.2010 06:52

Ничего страшного, это тоже не оригинальная цитата, которая гласит: «Может быть только один».

Mahol25 19.08.2010 00:02

virgin = 0;     /* you're not a virgin anymore, sweety */

Ха-ха без комментариев ?! Думаю, люди стеснялись.

Pale Blue Dot 09.05.2011 14:16

i++; // increment variable i

Мне нравятся комментарии, которые длиннее кода, который они объясняют, и при этом ничего не делают для объяснения кода.

John Biazo 19.12.2008 20:32

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

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

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

//open lid


//take sh!t


//close lid

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

// очистить - закрыть файл / соединение / удалить

tsilb 20.11.2009 07:01

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

# <magic type = "voodoo">

...

# </magic>

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

Какие еще типы магии поддерживаются?

Harry Lime 01.12.2008 20:09

Тем более смешно, потому что парень действительно думал, что это было реально.

Jeff Keslinke 19.12.2008 00:31

Вы написали полезный комментарий ... Он поможет вам узнать, кто эти ужасные программисты в вашей команде: P

rfunduk 16.04.2009 00:35

@ harry.lime <magic type = "parlor">, <magic type = "sleightofhand">, <magic type = "card"> и многие другие. Они задокументированы здесь: en.wikipedia.org/wiki/Template:Magic_and_Illusion

thomasrutter 23.04.2009 06:45

Не забывайте <magic type = "black">. С таким я обычно сталкиваюсь в коде.

Sean 16.06.2009 19:06

// Catching exceptions is for communists

От Страница Майка Дункана на SQLite.

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

user142019 26.01.2011 18:58

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

DON'T TOUCH THIS SCRIPT -> XSLT is like arcane, black magic

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

schonarth 21.10.2008 16:33

Да, сложные вещи - это просто, но простые вещи могут свести с ума в XSLT ...

André 24.10.2008 19:41

// Hard to explain

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

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

return null; //Not really null

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

 * ...and don't just declare it volatile and think you've solved
 * the problem. You young punks think you know what volatile
 * means... why in my day we had to cast it volatile uphill
 * both ways, and the code still didn't work! Whippersnappers...

Просто офигенно серьезно.

Anton 10.07.2009 00:50

// The following strings are meant to be funny.  Do not edit these strings
// unless you are funny, too.  If you don't know if you're funny, you're
// not funny.  If fewer than 2 people unrelated to you have told you that 
// you're funny, you're not funny.

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

// zzzzZZZZzzzz....

Разве вы не любите модульное тестирование компилятора? Мои наименее любимые тесты (конечно, после модульного тестирования по математике)

johnc 06.01.2011 05:39

// human madable inconvenient. Way too sucks.

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

Самые смешные комментарии - это те, которые добавляют двусмысленности.

MrBoJangles 11.10.2008 22:52

Это круто, я сам этим воспользуюсь.

johnc 27.03.2009 07:18

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

tsilb 26.04.2009 02:32

Сейчас я собираюсь использовать это в своем коде.

Carson Myers 17.09.2009 09:01

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

Mike Two 17.09.2009 16:38

// I know the line below is wrong, but it came that way from our IP vendor, and 
// the driver won't work if you "fix" it. I've had to revert this change 4 times
// now. Leave it alone, or I will hunt you down and hurt you
if (r = 0) {
    /* bunch of code here */
}
else
{
   /* even more code here */
}

Я просто обожаю это, мое сердце улыбается, потому что кто-то просто не может оставить очередь как есть. Классический.

Mia Clarke 15.04.2009 08:27

Не лучше ли заменить его просто на r = 0;

thomasrutter 22.04.2009 16:09

Строка не ошибочна, довольно очевидно, что она просто присваивает 0 r, затем оценивает r (до 0), затем неявно преобразует его в bool (что является ложным) и, таким образом, пропускает блок внутри «if»: ) ... А если серьезно, это бесценно!

Daniel Daranas 23.04.2009 11:07

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

Mark Bessey 23.04.2009 18:10

Но ... почему в первом блоке код? Какое зловещее извращение языка C++ / C могло привести к его выполнению?

user19302 05.05.2009 22:10

если r не является объектом, который перегружает оператор =, и они грубо неправильно использовали перегрузку оператора.

user19302 05.05.2009 22:17

Никаких уловок с перегрузкой оператора C++ здесь нет. Код в блоке else отлично справился со случаем r == 0. Предположительно намерением первоначального автора было выполнить некоторую специальную обработку в состоянии r == 0. Поскольку код в блоке «if (r = 0)» никогда не выполнялся, они в конечном итоге исправили его в другом блоке, оставив этот бесполезный код вверху. Итак, у ребят, которые продолжали «исправлять» это, не было никаких причин изменять этот код, и они определенно никогда не тестировали код после того, как изменили его. Сохранение кода в том виде, в каком мы его получили от поставщика, упростило интеграцию будущих версий.

Mark Bessey 08.05.2009 09:26

Это было ясно, но (r = / * = * / 0) короче.

joeytwiddle 10.06.2009 08:45

Если код в if-части сломан и все равно не используется, я бы просто удалил его и всю путаницу вокруг него.

Albert 17.09.2010 18:12

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

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

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

На самом деле это не комментарий: www-cs-faculty.stanford.edu/~knuth/faq.html

mjs 20.04.2009 14:17

/*
 * You may think you know what the following code does.
 * But you dont. Trust me.
 * Fiddle with it, and youll spend many a sleepless
 * night cursing the moment you thought youd be clever
 * enough to "optimize" the code below.
 * Now close this file and go play with something else.
 */ 

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

Mark Brittingham 15.12.2008 18:39

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

bzlm 01.03.2009 23:02

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

DevinB 06.03.2009 17:33

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

Michael Borgwardt 03.04.2009 20:04

@Mark - Я сделал это ... со своим собственным кодом. Однако со временем с этим неизбежно разберутся.

Peter Wone 14.04.2009 18:40

@devinb В этом отношении я эксперт по оптимизации времени ...;)

Jiaaro 20.04.2009 18:58

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

Kibbee 23.04.2009 06:39

@Kibbee: Ну, технически говоря, контроль версий помогает только в том случае, если у вас есть хороший способ убедиться, что код по-прежнему работает так же, что может быть кошмаром, когда исходный код представлял собой путаницу проводов. Другими словами: для этого нужен модульное тестирование.

Jens Roland 11.08.2011 17:24

// set break point here - you'll never reach it

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

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

// I am not sure if we need this, but too scared to delete. 

Совершенно уверен, что я написал это

qui 13.10.2008 19:05

История моей жизни.

John Lockwood 24.08.2009 00:44

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

user123444555621 08.07.2010 09:59

Комментарий отражает то, что автор не знает о правилах «Если вы не исправите это, он сломается на 100%» и «Никогда не запускайте неизменную систему». (Или что это были за правила?) :)

TheBlastOne 01.09.2010 17:23

Вот почему все мои файлы никогда не уменьшаются в размере!

Mike 20.09.2010 17:59

У меня есть целые папки с подобными источниками.

peterchen 22.07.2011 01:21

Как невиновен автор комментария! :)

Raghav 31.07.2011 23:53

if (m_measures =/*=*/ --index)
{
    ....

Это ... просто безумно глупо и ПРОСИТЬ проблемы ...

Matthew Scharley 12.10.2008 08:56

В качестве альтернативы, как и FALLTHRU, он указывает, что «этот код, который выглядит как ошибка, не является»

James Ogden 13.10.2008 12:06

Конечно, это не так ...

James Ogden 13.10.2008 12:07

Ага, лучше просто немного разобрать ...

Mark Brittingham 15.12.2008 18:43

И все же меня это как-то странно тянет ...

johnc 23.01.2009 14:01

Я могу оценить ценность комментария там (возможно, самый ПОЛЕЗНЫЙ комментарий, получивший наибольшее количество голосов), это должно было быть написано так, чтобы оба задания (вы уловили это, 2 побочных эффекта) происходили ВНЕ условия, поэтому следующая бедняжка, с которой придется столкнуться у него был шанс увидеть, что он должен был делать.

TokenMacGuy 01.02.2009 06:35

Это ужасно. Вы хотите использовать if (0 != (m_measures = --index)).

Simon Buchan 16.03.2009 03:56

Нет, ты совсем не хочешь этого делать. :П

Robert P 27.03.2009 03:51

if (DerivedClass * dc = dynamic_cast <DerivedClass *> (ptr)) {} действительно полезен.

bradtgmurray 20.04.2009 03:11

Это неправильно на многих уровнях. Я очень люблю это!

David Gladfelter 25.01.2010 01:12

Разве GCC не предлагает двойные скобки вокруг присвоений в условиях?

Stefan Majewsky 17.09.2010 15:10

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

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

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

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

Windows programmer 14.10.2008 10:30

Мета-комментарий программиста LOL @ Windows

e.tadeu 10.02.2010 13:03

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

Lee Louviere 28.01.2011 00:00

/*************************** Drag And Drop Section - Start (you should be me to mess with this section)*********************************************/

if (count<0) count=0;    //don't get me wrong but this has to be done :p

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

[ThereBeDragons]

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

//What is this?
public bool IsReusable
{
    get{return false;}
}

Хех, на самом деле я сделал то же самое, когда впервые играл с IHttpHandler ..

driAn 04.01.2009 19:36

try {
  dataSource.close();
}
catch (SQLException ex) {
  // Do nothing, since we're going to trash this anyway
}

Конечно, такого рода вещи на самом деле являются wtf в JDBC (или, по крайней мере, в драйвере JDBC Oracle), поскольку они могут генерировать SQLExceptions при закрытии соединения ...

Beware of bugs in the above code; I have only proved it correct, not tried it.

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

дубликат (см. выше), и он взят из эссе, а не из кода

thomasrutter 23.04.2009 07:28

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

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

Хороший в 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

В моем коде есть что-то, что делает то же самое - мне интересно, сколько там подобных комментариев.

rjzii 16.10.2008 17:31

WTF System.Exception сериализуемый ..

Andrei Rînea 16.02.2010 21:28

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

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

Это случается со мной часто, ха-ха! +

Jakub Arnold 28.03.2009 18:32

Ничего подобного смешению VB и C# в одном блоке кода;)

Juliet 15.10.2009 00:30

/// <summary>
/// The possible outcomes of an update operation (save or delete)
/// </summary>
public enum UpdateResult
{

    /// <summary>
    /// Updated successfully
    /// </summary>
    Success = 0,

    /// <summary>
    /// Updated successfully
    /// </summary>
    Failed = 1
}

Какие? Нет FileNotFound? (thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx)

P Daddy 04.12.2008 19:28

Мне нравится копировать / вставлять!

Pat Hermens 27.01.2009 07:21

Все победители!

Programmin Tool 20.04.2009 19:00

Все проиграли, но в комментариях говорится, что все победили!

thomasrutter 23.04.2009 06:46

я только что заметил, что пишу это

// not brilliant solution, but fair enough heh.

try {

} finally { // should never happen 

}

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

CVertex 02.12.2008 19:34

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

Troy Howard 05.12.2008 22:54

Да, это была шутка. знак равно

Erik Forbes 10.12.2008 03:41

Ну, если быть полностью верным, это зависит от источника! Если это работает в Internet Explorer, то, наконец, НЕ ВЫПОЛНИТЬ КОГДА-ЛИБО! (Без шуток!) webbugtrack.blogspot.com/2007/11/…

scunliffe 22.12.2008 00:26

Это код Java :), а не JavaScript!

gedevan 22.12.2008 17:53

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

Romain Linsolas 06.02.2009 13:06

@romaintaz: Предполагая, что вы не подаете заявку на конкурс обфусцированного кода, я надеюсь, что вы никогда не используете System.Exit (), не говоря уже о том, чтобы использовать его, чтобы избежать блока finally.

Guvante 05.03.2009 21:50

re: должно случиться всегда Я слышал о собеседовании, где старший программист утверждал, что, наконец, не всегда случается, например если выключить питание, этого не произойдет!

Dennis 24.04.2009 04:41

Неправильно :-), это может сделать только System.exit (int)

Steel Plume 25.04.2009 17:10

Причина № 984 для использования Debug.Assert (). ;)

Scott Hanselman 28.04.2009 23:43

Это мгновенно получает +1 - весело.

Nathan Osman 16.03.2010 04:28

Эй, это мой код! Я работал вместе с @gedevan около двух лет назад. Изначально я намеревался использовать здесь предложение catch, но автозаполнение IDE обмануло меня. Удивительно, но этот код работал в производственной среде несколько месяцев. Мы очень хорошо посмеялись, когда обнаружили этот драгоценный камень: D

Andrew Андрей Листочкин 17.09.2010 11:01

Замечательный комментарий! : P Приятно познакомиться здесь, чувак

gedevan 21.09.2010 10:53

Код в блоке try отключает компьютер.

Andrew Arnold 14.03.2011 05:39

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

Catch (Exception e) {
    //eat it
}

ХАХАХАХАХА. Думаю, он вам показал.

Steven Evers 07.03.2009 01:39

о, если бы он только сказал, бей его en.wikipedia.org/wiki/Beat_It

thomasrutter 23.04.2009 07:32

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

Вам нужна фабрика для создания тонов 7 Гц? Как они их упаковывают и каков их рынок сбыта?

johnc 16.03.2009 04:45

Я читал этот комментарий в Turbo C очень давно. Это потрясающе!

Diego Jancic 20.04.2009 05:03

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

Knobloch 20.04.2009 18:15

Неважно, правда ли это, все равно это так же забавно. Может, смешнее. Вы можете вообразить это?

Jonathan Adelson 23.04.2009 05:07

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

niXar 21.05.2009 19:58

А, я думал, это коричневый шум.

Matthias 28.08.2009 14:42
Инфразвук. See in particular секция by about Tandy's Призрак в машине.
Paul Ruane 17.09.2010 18:36

@Paul Вау, это действительно интересно! Спасибо!

Codemonkey 14.03.2011 20:16

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

inspectorG4dget 15.08.2011 05:42

[onload_1;block=begin;when 1=0]

Some of the techinques in this template are rather obscure, just trust me, they need to be there.
OTOH a better sollution would be to create a few seperate templates and pick one in the php-script...

[onload_1;block=end]

// I don't know why I need this, but it stops the people being upside-down

x = -x;

классика! ... один профессор однажды сказал мне, что если у вас проблемы с открытым кодом gl, просто попробуйте перевернуть знаки. это был действительно хороший совет

luke 23.11.2008 00:45

Почему щелчок x заставит людей перестать быть вверх ногами?

Michael Myers 02.03.2009 22:17

Это то, что сделало его лучшим комментарием - он не имел никакого смысла и не давал хорошего объяснения, почему это сработало :)

Chris Jefferson 10.03.2009 20:25

для условного переворачивания использую: байтовый костыль = 1; if (cond) костыль = -1; х = х * костыль; // имя переменной говорит само за себя

Imaskar 01.06.2009 22:26

... и голоса в моей голове от обратного разговора.

PaulMcG 16.10.2009 13:52

@ Майкл Майерс: это могло быть потому, что он вычислил y как перекрестное произведение x и z.

Ergwun 24.01.2011 04:46

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

Peter Kriens 20.07.2011 21:00

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

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

конечно, это написал медик :)

Mike 20.09.2010 18:05

// Any maintenance developer who can't quote entire Monty Python
// movies from memory has no business being a developer. 
const string LancelotsFavoriteColor = "04FB"

Настоящая чепуха в том, что он не использовал класс Color. Подождите ... не тот сайт.

Fowl 19.04.2009 14:56

Это из раздела "Как писать неподдерживаемый код": mindprod.com/jgloss/unmain.html

Margaret 08.05.2009 07:19

Case 1:
   ...
   break;
   ...
//I don't want do do this but [my coworker] says it's part of the code standard
default:
   break;

Типа "дефолт" или от оригинала? Пытливые умы хотят знать.

James McMahon 16.10.2008 18:13

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

user20358 17.10.2008 10:47

Ой, просто опечатка. Я оставлю опечатку нетронутой, чтобы ваши комментарии по-прежнему имели смысл.

MrBoJangles 18.10.2008 09:04

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

MrBoJangles 24.10.2008 23:58

@__> Тогда я подозреваю, что вы в меньшинстве.

Steven Evers 07.03.2009 01:38

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

MSalters 09.03.2009 18:52

Я согласен с __. Неправильное написание причиняет боль, но ругательства, помеченные звездочкой, бессмысленны. Либо ругайся, либо нет. Это заставляет вас выглядеть трусом.

TRiG 08.03.2010 22:02

@Snorfus, да. Печально, не правда ли?

MrBoJangles 19.04.2010 21:43

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

MrBoJangles 19.04.2010 21:44

Не забывайте и пунктирное нецензурное слово: «Что за ..?» Двойной трус. И неужели многоточие стоит трех очков, а не двух?

TonyK 26.12.2010 12:42

Из Java 1.2 SwingUtilities:

doRun.run();  // ... "a doo run run".

Думаю, я единственный, у кого есть ссылка

Triptych 05.03.2009 21:50

Я так смеялся, читая это. Хороший.

Jeff Yates 05.03.2009 22:42

Я не понимаю, но это все равно забавно.

AaronLS 03.04.2009 17:36

Хороший, но не хватает на ходу. Боже, у меня даже в голове эта песня.

martiert 03.04.2009 20:14

@martiert, здесь то же самое! отличный комментарий!

Sander Versluys 06.04.2009 14:53
youtube.com/watch?v=dqgtsai2aKY
Sprintstar 06.04.2009 14:59

У кого-нибудь есть ссылка на этот код?

Liran Orevi 22.04.2009 17:44

О чувак! Я не мог перестать смеяться ... Это весело!

Leif 18.01.2010 04:47

Хотя это не совсем Swing ...

sbi 17.09.2010 12:51

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

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

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

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

Troy Howard 05.12.2008 23:24

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

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

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

; Rechnen ja ; have faith in yes

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

Оригинал означает: «Посчитайте да». Трудно сказать, что он пытался сказать без контекста. Вероятно «Да, посчитать» из условного расчета.

Stefan Steinegger 24.04.2009 15:27

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

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

Я предполагаю, что он не был знаком с контрактом WCF Datacontract ...

Spence 07.03.2009 14:23

ммм не так уж и много. Он также пытался отправлять несериализуемые типы, такие как итераторы и System.Type. WCF не понравился никому из них ...

smaclell 08.03.2009 20:03

Это настоящий код, который мне когда-то приходилось поддерживать. После попыток понять логику 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 Я изменил настоящее имя настоящих авторов, чтобы не вмешиваться в какие-либо споры и т. д.

astaGetsSlappedAtCodeReview ()

johnc 25.11.2008 05:27

Действительно звучит как Пола Бин :)

guerda 06.04.2009 15:48

публичный класс paulaBean {частная строка paula = "Блестящий"; общедоступная строка getPaula () {вернуть Паулу; }}

Ikke 06.04.2009 16:03

Черт возьми, я смеялся 10 минут. Этот парень Аста - гений.

asveikau 11.11.2009 07:35

Найдено в основном коде триггера для транзакций в базе данных 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

  mov si, pCard      ; captain?

РЖУ НЕ МОГУ! это хорошо: D

Trap 01.03.2009 04:53

Требуются объяснения для программистов не на ассемблере

Clement Herreman 14.09.2009 18:23

@Clement Нет, это не так. Прочтите это вслух.

Jacob Krall 22.09.2009 23:57

@ Джейкоб Move ship card Captain??

Mateen Ulhaq 23.09.2011 07:05

Вот подсказка: pCard изображал Патрик Стюарт.

Jacob Krall 25.09.2011 05:25

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

// and there is where the dragon lives

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

Не связывайся с этим, чтобы дракон не рассердился! Вы же не хотите, чтобы дракон рассердился ...

schonarth 21.10.2008 16:37

В хорошо известном коммерческом приложении для работы с электронными таблицами 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. */

Интересно. Какая глупая система контроля версий будет доверять часам клиентов?

nobody 20.04.2009 07:37

И победитель ... VSS!

Kenneth Cochran 20.04.2009 17:45

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

configurator 29.04.2009 20:52

Я унаследовал проект, который был доставлен заказчику без UAT. Его перебросили через забор и потребовали деньги.

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

Многие системные вызовы были забыты.

Когда я попал на борт, код был пронизан такими жемчужинами, как:

/* core dumps around here but this is hardly ever called */

и

/* don't know why this works but it seeems to be ok */

Да, и никаких юнит-тестов не было. Коллега начал добавлять отсутствующие системные вызовы и модульные тесты.

И ублюдки, которые писали код, все еще были в команде, и их совершенно не заботил доставленный мусор!

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

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

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

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

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

//Not a bug, parameter position can change..., if you think this is wrong, you are in fact wrong.

// 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 ... О, и он манипулировал массивом объектов объектных массивов объектных массивов строк, которые могут быть строками или числами, в зависимости от как минимум трех факторов ... (да , Мне пришлось отладить этот код и изменить его, и я написал комментарий, однако я не писал исходный код). ;)

уйдя с последней работы, я встроил в исходник немного 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\()/WY%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!/vNTtZd)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///]i!v\K)85W%%f           
                           YWWKKKKWZ8G54X/GGMeK@WM8%@            
                            !M8%8%48WG@KWYbW%WWW%%%@             
                              VM%WKWK%8K%%8WWWW%%%@`             
                                ~*%%%%%%W%%%%%%%@~               
                                   ~*MM%%%%%%@f`                 
                                       '''''                     

Это крендель? Можно ли им кого-нибудь задушить?

Mostlyharmless 27.10.2008 20:58

это эшерианский узел ... как и все хорошее искусство ASCII, он лучше всего работает, когда вы устали и ваше зрение немного размыто!

Mauro 28.10.2008 22:04

Вы не задумывались над тем, чтобы добавить это в вопрос о пасхальном яйце? stackoverflow.com/questions/140376/…. Очень хорошо.

smaclell 24.12.2008 09:19

И под «встроенным» вы имеете в виду «введенный». И под «источником» вы действительно имеете в виду «загрузочный сектор». Верно?

Jens Roland 27.01.2009 03:23

LMAO Jens, нет ... Я бы хотел называть себя программистом, который мог работать с загрузочными секторами и сборкой - на самом деле все, что я являюсь разработчиком C# с более чем средним знанием xHMTL и CSS.

Mauro 04.02.2009 15:50

Хм, это значок Adobe AIR?

rfunduk 16.04.2009 00:28

Похоже на рисунок Эшера

Lakshman Prasad 22.04.2009 23:55

Интересно, что выводит интерпретатор perl, если я скармливаю ему это?

mike3996 04.08.2010 01:30

@progo Хотел бы я проголосовать за ваш комментарий больше! : D

naugtur 20.09.2010 19:51

Это похоже на программу на PERL, которую я написал прошлым летом.

Moses 01.10.2010 18:57

// THE LOOP THAT DO EVERYTHING!!!!!!!

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

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

class theLarch{

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

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

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

Поработав с HP-UX, я склоняюсь к мудрости из приведенного выше комментария C.

Brian Clapper 06.04.2009 20:43

Основываясь на том, что JWZ пишет в другом месте, и на истории версии Unix, я верю этой цитате!

Thorbjørn Ravn Andersen 14.05.2010 17:34

всем приветствую компанию! :)

Tilo 19.11.2011 07:06

Продезинфицировано:

//Forward declarations:

class X {}; // TODO: Remove {}  ! When we get X defined....

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

Dijkstra probably hates me.

/*
 *  '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)

(...)

"Управление памятью - сука" :)

new123456 29.10.2010 03:16

// Houston, we have a problem

// No women, no children... What movie???

Леон uk.imdb.com/title/tt0110413

Gary Willoughby 30.10.2008 18:39

Подходит и фильм «Свиная отбивная».

Joshua 20.04.2009 06:52

Это из старой работы, победившей в IOCCC, мне пришлось загрузить весь архив победителей - огромные 1,4 M - и найти несколько фраз, которые я запомнил неправильно, прежде чем найти его.

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

C = "Lint says "argument Manual isn't used."  What's that
mean?";

Никаких цен на угадывание выхода из линта.

И для любопытных, эта запись - здесь.

жаль, что он не компилируется :(

coppro 25.10.2008 02:52

@coppro, он компилируется, когда вы все компилируете. Возможно, ваш компилятор сломался.

Joshua 20.04.2009 06:46

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

Jason Orendorff 24.09.2010 06:12

@coppro @Jason IOCCC - очень респектабельная организация. Правила конкурса требуют наличия стандартной соответствующей программы. Предлагаем вам изучить всю программу и ее соответствие, прежде чем принимать быстрые решения.

Miserable Variable 01.10.2010 09:24

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

// TODO make this work

Эй, это мой комментарий! -Гарольд

Harold Ekstrom 29.11.2009 08:32

Я также сделал: "TODO: То, что я делал в комментариях"

Atiaxi 28.09.2010 15:36

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

// Remove this if you wanna be fired

Верх исходных файлов 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.

*/

 // WARNING!!!
 // Very perversive code ahead!

... about a 20 lines of "very perversive" code ...

// Now you can call your grandmother back. ;)

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

if (/*you*/ $_GET['action']) { //celebrate

    /* Mark: If there's one thing you learn from this code, it is this...
   Never, ever fly Air France.  Their customer service is absolutely
   the worst.  I've never heard the words "That's not my problem" as 
   many times as I have from their staff -- It should, without doubt
   be their corporate motto if it isn't already.  Don't bother giving 
   them business because you're just a pain in their side and they
   will be sure to let you know the first time you speak to them.

   If you ever want to make me happy just tell me that you, too, will
   never fly Air France again either (in spite of their excellent
   cuisine). 

   Update by oej: The merger with KLM has transferred this
   behaviour to KLM as well. 
   Don't bother giving them business either...

   Only if you want to travel randomly without luggage, you
   might pick either of them.
   */

Классический Марк Спенсер. Всегда пытаюсь воспитывать: D

Collin Klopfenstein 13.08.2009 23:02

кишки, дайте, пожалуйста, кредит там, где нужно: svnview.digium.com/svn/asterisk/trunk/utils/astman.c

elcuco 30.10.2009 00:45

Скажите мне, что это было найдено в базе кода для их системы расписания авиакомпаний Air France. Это была бы чистая поэзия.

BenAlabaster 16.12.2009 18:43

Ржу не могу. Летал Air France еженедельно около 6 месяцев. За эти полгода они потеряли мой багаж 16 раз ...

Andreas 31.03.2010 20:18

Спасибо, Марк, буду иметь это в виду. : D

Dian 27.07.2010 13:44

Fix problem where Nulls don't work properly.  Stupid Microsoft!

Код конвертировал Null в строки нулевой длины построчно окольным путем, потому что глупый программист не понимал, что такое Null, и никогда не слышал о функции Nz ().

// fix for groupid > 9 
// if groupid ever gets to 100 everything will break (again)

if (groupid < 10) {
groupid = "0" + groupid;
}

Очень хорошо. Вероятно, на то, чтобы написать этот комментарий, потребовалось больше времени, чем на то, чтобы исправить эту чертову вещь!

Martin Cote 27.04.2009 01:19

// 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 раз этого комментария ...

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

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

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

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

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

Ваш комментарий в других сообщениях ссылается на этот, отправляя меня в бесконечный цикл на всю вечность!

Outlaw Programmer 27.01.2009 06:29

Чтобы понять рекурсию .....>:)

Erik Forbes 05.03.2009 22:22

Абсолютно замечательно, только представьте, в каком тяжелом положении оказался разработчик

Prabhu R 21.07.2009 15:09

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

T.E.D. 17.09.2009 20:12

Менее очевидный «Coactum feci» спас многим душу.

relet 16.09.2010 21:44

@relet: "Coactum feci"? Что это означает ?

paercebal 16.09.2010 23:26

@ Рам: Поверьте, это было некрасиво. Теперь мы можем улыбаться, когда вспоминаем это (и другие дрянные подробности), но в то время ... :-( ... Это было сделано больше для самозащиты, чем для юмора. В этом случае источники, контролируемые версиями, - это блаженство. , потому что, в отличие от других документов, они не могут быть изменены, чтобы «изменить прошлое» ... Представьте, что для каждой ошибки / эволюции, которая была назначена мне, я должен был отправлять себе электронное письмо с копией описания в качестве доказательства , просто чтобы иметь возможность сравнивать с потенциально измененным описанием в момент регистрации. И я ДЕЙСТВИТЕЛЬНО нашел "осторожные исправления" ...: - /

paercebal 16.09.2010 23:35

«Они заставили меня написать это» LOL. Как они «жестоки»!

Raghav 31.07.2011 23:56

//If you're reading this, then my program is probably a success

// GK Experimental

(GK - инициалы кодировщика)

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

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

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

Without a crash 

Or mighty bang 

The sync disk 

Did it's process hang

All bugs added by David S. Miller

Интересно, напишет ли кто-нибудь, кто это прочитает, сценарий спам-бота на электронную почту [email protected]

inspectorG4dget 05.08.2011 21:39

struct core_unlocker
{
    core_unlocker(lock)
    {
        m_lock = lock
        unlock(lock)  //Abandon All Locks, Ye Who Enter Core!
    }
    ~core_unlocker()
    {
        lock(m_lock)
    }  
    private:
    Corelock m_lock;
}

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

// this part is more difficult

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

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

Too Many Errors... Make fewer!

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

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

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

Это код из моего собственного, но он по-прежнему забавный, и я полагаю, что с таким же успехом могу выложить его, потому что он находится в публичном 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;

aComment = 'this is not aComment' # this is aComment
class T(object):
    def f(this):
        this is not aComment

+1 потому что я фанат Крокодила Данди :)

BenAlabaster 30.12.2008 19:10

ох! Спасибо за ссылку. Теперь я понимаю. : D

BobC 03.04.2009 17:42

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

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

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

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

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

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

Я только что разместил этот комментарий:

// this control (Resistance) is FUTILE! 

Выставка:

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

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

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

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

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

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

# This is convoluted and evil, sorry.

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

/*@                                    /\  /\
 * @                                  /  /  \                        ----- |   | ----      |---\ |    | /--\  --- |   |  ---- /--\ /--\
 *  @                                /        --                        |   |   | |         |   / |    | |      |  |\  |  |    |    |
 *   \---\                          /           \                       |   |---| ----      |--/  |    |  \     |  | \ |  ----  \    \
 *    |   \------------------------/       /-\    \                     |   |   | |         |  \  |    |   -\   |  |  \|  |      -\   -\
 *    |                                    \-/     \                    |   |   | ----      |---/  \--/  \--/  --- |   \  ---- \--/ \--/
 *     \                                             ------O
 *      \                                                 /                 --- |   | ----  /--\        |--\   /--\   /--\
 *       |    |                    |    |                /                   |  |\  | |    |    |       |   | |    | |
 *       |    |                    |    |-----    -------                    |  | \ | ---- |    |       |   | |    | | /-\
 *       |    |\                  /|    |     \  WWWWWW/                     |  |  \| |    |    |       |   | |    | |    |
 *       |    | \                / |    |      \-------                     --- |   \ |     \--/        |--/   \--/   \--/
 *       |    |  \--------------/  |    |
 *      /     |                   /     |
 *      \      \                  \      \
 *       \-----/                   \-----/
 */

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

#define MSGTAG_B33R     0x723 /* RIPLVB */

Людвиг Ван Бетховен (LVB) умер в 1827 году (== 0x723). Красиво, правда?

Jason Sundram 07.11.2008 10:48

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

Jeffrey L Whitledge 22.11.2008 00:52

-1 это дубликат (см. Выше)

bluish 22.07.2011 10:43

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

// Hardcoded this for time sake ... will make andrew fix later :)

'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'
'  NOTE: DON'T SCREW WITH THIS CODE UNLESS YOU REALLY UNDERSTAND IT!
'
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

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


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

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

# To understand recursion, see the bottom of this file 

Внизу файла:

# To understand recursion, see the top of this file

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

Bernard Igiri 03.02.2009 00:04

Как насчет «# Чтобы понять рекурсию, см. Строку X» в строке X?

Chris Lutz 13.02.2009 04:48

Хорошо. Но «Чтобы знать, что такое рекурсия, нужно знать, что такое рекурсия» :)

Lucas Gabriel Sánchez 10.03.2009 18:15

Когда я проходил курс A Level по вычислениям, у нас была книга, в которой глоссарий содержал две записи: Endless Loop - см. «Loop, Endless» ... Loop, Endless - см. «Endless Loop»

Piku 20.04.2009 01:46

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

thomasrutter 22.04.2009 16:03

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

thomasrutter 22.04.2009 16:04

Чтобы понять рекурсию, см. Этот комментарий. БАМ!

Randolpho 24.04.2009 23:37

Очевидно, здесь никто не понимает рекурсию :) Как насчет: # Чтобы понять рекурсию, перечитайте эту строку (остановитесь, когда поймете)

Bobby Jack 14.07.2009 02:41

Версия для программистов классического граффити в ванной. любить это.

NomeN 15.07.2009 04:20

или получить футболку: thinkgeek.com/tshirts-apparel/unisex/itdepartment/b2ae

Scott Baker 25.07.2009 03:45

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

Arafangion 21.05.2010 20:28

Это бесконечный цикл. Вам нужно добавить базовый вариант: «Если вы понимаете рекурсию, прекратите читать».

dan04 08.06.2010 07:38

Ха! Цитата с Острова обезьян - Рекурсия: см. Рекурсия

Mahol25 18.08.2010 23:49

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

SamB 09.06.2011 08:44

Чтобы понять концепцию бесконечного цикла, следуйте этому комментарию!

Raghav 31.07.2011 23:55

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

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

И метод Remove():

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

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

<!-- THIS IS THE MAIN CONFIGURATION FILE FOR THE ENTIRE BLOODY DIRECTORY    -->
<!--    WHATEVER YOU DO, DO NOT EDIT THIS FILE WITHOUT TALKING TO ME FIRST  -->
<!--                                I'M SERIOUS                             -->
<!-- (scroll down) -->

Взято из источника 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;
}

Я считаю, что это написал сам Кармак

prestomation 06.03.2009 16:37

У алгоритма есть небольшая история: yond3d.com/content/articles/8. Мне лично нравится думать, что это комментарий от самого мистера Кармака.

bikesandcode 08.03.2009 07:29

WTF это bk010122 - FPE ???

Lucas Gabriel Sánchez 10.03.2009 18:19

FPE = исключение с плавающей точкой; Б.К., вероятно, Бернд Краймайер, сотрудник программного обеспечения id. projects.codersbase.com/repos/ioquake3/ChangeLog

Jasper Bekkers 27.03.2009 03:23

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

ojrac 06.04.2009 22:27
lomont.org/Math/Papers/2003/InvSqrt.pdf
user21037 20.04.2009 13:24

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

Это фраза Карла Вейерштрасса, математика, который дал нам прекрасное определение непрерывности эпсилон и дельта.

Edwin Jarvis 05.12.2008 21:32

Вейерштрасс Неразличимый?

Peter Wone 14.04.2009 18:44

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

Kevin 13.05.2009 22:20

options.BatchSize = 300; //Madness? THIS IS SPARTA!

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

!!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!! *
!!!!!!!!!!!!!!DOING SO FUCKS THE BUILD PROCESS!!!!!!!!!!!!!!!! *
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

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

mjfgates 09.10.2010 02:44

@mjfgates: Источники не являются полностью оригинальными. Некоторые файлы могли быть изменены позже. Если бы я мог найти ссылку прямо сейчас.

Felix Dombek 23.08.2011 23:45

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

   C   I don't know what this next bit does so I'll jump around it
       GOTO DONE.

«С»? Во всех COBOL, которые я когда-либо использовал, комментарии начинаются с * (или '/', но я не думаю, что это стандартно) в столбце 7. Однако я в основном специалист по C / C++ / Java, так что, вероятно, по моему опыту терпит неудачу. Вы уверены, что это был не Фортран?

Fredrik 11.04.2009 23:59

//Iterate by one
$i++;

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

кроме того, вы, вероятно, имели в виду «увеличить на единицу».

x0n 02.12.2008 19:26

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

tsilb 20.11.2009 07:39

Что ж, оба правы. В то время я разрабатывал php и везде использовал структуру while, поэтому я имею в виду итерацию до следующего индексного ключа массива, который интегрируется внутри while ($ i <array_length)

Nikola Stjelja 07.12.2009 13:50

// good luck!

Я действительно однажды использовал // GLMF. Приношу свои извинения, если этот код снова увидит свет.

unclerojelio 02.02.2009 23:38

//Mr. Compiler, please do not read this.

Должно быть миссис (ifaq.wap.org/computers/compilersarefemale.html).

Toon Krijthe 03.06.2011 00:55

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

I feel so dirty doing this but the guy wanted it in .NET

Из 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

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

moffdub 18.12.2008 14:45

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

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


//Handshake Failed: I don't understand...he just hung up.

Разве это не должно быть «... это Соединенные Штаты звонят ...», если это «Стена» («Не покидай меня сейчас»)?

Rob 23.12.2008 22:31

Конечно, здесь не упоминается великолепная песня Clash "London Calling"?

bluish 22.07.2011 11:54

//Visual Studio Bug Workaround:
//http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101677

//To fix 'CJumpToHelper::GetInstance()' : undeclared identifier compiler errors, change the number lines below
//until the file compiles correctly. (This needs to be done anytime a change is made to this file)

    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines
    //////////////////////////////////////: There should be 1-10 of these lines

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++

почему бы вместо этого не исправить утечку?

hasen 15.12.2008 18:49

Приятно, что, как только память остается протекающей, лимерик остается незавершенным.

Adriano Varoli Piazza 18.12.2008 15:02

Ненавижу встречи.

Dave Baghdanov 14.11.2009 03:18

@Adriano: Похоже, что-то, заканчивающееся на "save", было бы хорошей пятой строчкой ...

Franz 07.08.2011 12:21

Мне нужна 5-я строчка, без разрешения, ааа !!!

umassthrower 18.11.2011 00:12

Я только что нашел это в пользовательском провайдере 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

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

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

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

Рядом с верхней частью юнита:

// Oh what a tangled web we weave
// When first we practice to deceive
// ASTA

Немного из ядра 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... */

Первый относится к bme и hme?

X-Istence 19.04.2009 08:32

Этот я нашел в пакете "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))

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

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

Я припоминаю, что примерно в 1995 году это был популярный сингл ...

asveikau 11.11.2009 08:23

catch (Domain.ConcurrencyException)
{
    // somebody changed it between the time we loaded it and now.
    // weird, huh?
}

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

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

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

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

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

В LKM:

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

/* Hammer Time! */

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

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

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

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

sep332 19.12.2008 19:11

Отличный комментарий, но ИМХО тот, который на самом деле принадлежит не источнику, а сопроводительному документу. Вот почему контроль документов так же важен, как и контроль версий.

Konrad Rudolph 09.02.2009 11:52

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

llimllib 10.02.2009 23:58

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

bigmonachus 05.03.2009 21:26

Комментарий, который точно объясняет, что было сделано и почему. Вот почему Python - мой любимый язык.

cygil 16.03.2009 14:53

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

Don Werve 10.04.2009 02:15

Это сообщение в блоге, а не комментарий.

rfunduk 16.04.2009 00:29

Комментаторам: если это сообщение в блоге или отдельный документ, его НЕТ, когда кто-то собирается изменить код. Наличие его в коде наиболее удобно для будущих сопровождающих. И если код будет изменен, есть большая вероятность, что сопровождающий обновит комментарий; меньше шансов, что документ или сообщение в блоге будут изменены (и если они были изменены, вы потеряете документы для старых версий; комментарии становятся версионными в системе контроля версий с помощью кода).

user9876 20.04.2009 16:50

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

dankoliver 23.04.2009 17:30

Какой нетерпеливый бобр! Если серьезно, это хороший материал. У Python есть собственный менеджер документации, поэтому неудивительно, что он обычно так хорошо работает.

paniq 05.05.2009 13:17

tl; dr :): P ^^ (смайлик-спам на 15 символов)

cwap 14.07.2009 15:50

Это документация, а не комментарий.

Thorbjørn Ravn Andersen 23.10.2009 23:55

Рекомендую посмотреть презентацию Могучий словарь от PyCon 2010.

Cristian Ciupitu 02.08.2010 23:37

@Cristian или прочитав раздел словаря Python, который содержится в "Beautiful Code"

llimllib 04.08.2010 22:58

Обратите внимание, что есть также документ, в котором дополнительно объясняется реализация dict в другом файле рядом с этим.

Mike Graham 21.07.2011 01:42

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

//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 вот так.

Я отказываюсь признать это как XML. Это явно список, разделенный пробелами.

Branan 03.02.2009 02:09

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

llimllib 05.02.2009 06:57

Хотелось бы увидеть комментарии к коду Amazon ...

flq 07.03.2009 20:36

это не глюк! Прочтите документацию, если осмелитесь: amazonsellercommunity.com/forums/ann.jspa?annID=18

llimllib 20.04.2009 01:03

@llimllib "Указанное объявление [18] не найдено."

dantuch 07.04.2011 10:18

@dantuch Я оставил комментарий 2 года назад! Мне все равно, чтобы искать документы, извините :)

llimllib 07.04.2011 23:09

Когда-то в начале 1980-х мы писали код финансового моделирования для утилит на PL / I. Получил звонок от клиента с взрывающимся кодом сразу после комментария

/* Honest this works */

Этот парень взял наш стандартный набор финансовых уравнений и сделал около 15 страниц алгебры, чтобы объединить кучу кода в одно уравнение. После Три-Майл-Айленда, когда коммунальным предприятиям пришлось списать свои атомные станции с огромными затратами, уравнение не удалось из-за переполнения ФИКСИРОВАННОГО БИНА 15 (целочисленного), которого не произошло бы, если бы не произошла алгебра.

Компилятор ему не поверил

Ikke 09.03.2009 17:42

// This code was written by a genius so don't try to understand it with
// your tiny little brain.

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

// echt halmaal gek - no way!

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

Если это был настоящий комментарий, то они были голландскими кандидатами наук по криптографии, которые не умели писать. «Echt helemaal gek».

Jeroen van Bergen 05.03.2009 22:01

Может быть, я неправильно вспомнил написание ... это было примерно в 1998 году.

Richard Ev 06.03.2009 11:56

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

' RIP LVB

(возьми?)

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

Rontologist 28.01.2009 21:27

// Description : !!! TODO

На латыни Abandon hope all ye who enter here из «Божественной комедии» Данте.

Почему латынь? оригинал итальянский ... "... Abbandonate ogni speranza, voi ch'entrate".

Adriano Varoli Piazza 30.12.2008 16:42

// The ratio of a circle's circumference to its diameter.  Remember to change
// this to 3.0 if you move to a site in Indiana.

#define Pi                                      3.1415927

Меня больше впечатляет ошеломляющее количество места в этом #define. Я почти думал, что Пи ничего не значит.

Branan 03.02.2009 02:10

Контекстная вещь. Это было в файле с множеством макросов, и расширения выровнены.

chaos 03.02.2009 19:44

Это тоже забавно по иронии судьбы. Он высмеивает Индиану за округление числа Пи до 1 цифры, когда сам код делает то же самое только с несколькими дополнительными десятичными знаками.

JohnFx 13.02.2009 04:04

Симпатично, но на самом деле он указывает на предел точности поплавков, доступных в его языковом контексте (что, вероятно, не то, что вы думаете). Если вы видите смысл в превышении этого, дайте мне знать ...

chaos 13.02.2009 17:55

Я не был знаком с этой ссылкой, поэтому добавил ее в википедии: en.wikipedia.org/wiki/Indiana_Pi_Bill

thomasrutter 23.04.2009 06:41

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

Roger Pate 17.12.2009 22:00

Пожалуйста, #define PI по крайней мере до полной двойной точности с плавающей запятой!

e.tadeu 09.02.2010 22:26

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

ICantBelieveImUsingAGoto:

Остерегайтесь хищников.

Ikke 04.12.2009 17:54
xkcd.com/292
amra 10.03.2011 13:03

REM Don't delete this print statement ****** will die

Рассматриваемый процесс был службой в некотором устаревшем коде

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

// fudge the group stuff

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

// this is daggy??

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

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

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

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

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

OscarRyz 27.03.2009 03:43

Я полагаю, вы имели в виду «никогда не полагайтесь на код». Я уверен, что спецификация, дизайн и требования требовали кода возврата или истины :)

gbjbaanb 29.03.2009 18:28

похоже на то, что вы видели в техническом выпуске failblog.org

BobC 03.04.2009 17:27

Хм ... похоже на жучок ...

Adrian Grigore 20.04.2009 20:43

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

Henk 23.04.2009 20:28

Этот комментарий Java запускается: // \ u000A System.out.println ("Выполнить!");

Luzifer42 18.09.2009 12:18

Вот почему так важны модульные тесты - ОНИ запускаются.

Thorbjørn Ravn Andersen 09.12.2010 00:28

... #define false true?

new123456 20.12.2010 04:00

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

Из класса модульного тестирования на 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

Для тех, кто не говорит по-латыни: «Кто будет охранять самих охранников?»

Iain 16.03.2011 03:03

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

// This comment is self explanatory.

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

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

Raghav 01.08.2011 00:06

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

// This is crap code but it's 3 a.m. and I need to get this working.

Я все время пишу более формальные версии этого :) Приятно!

Dan Rosenstark 10.01.2009 23:44

// I love the smell of dirty XML in the morning
xml = xml.Replace("xmlns=\"urn:bsd.orion/inventory\"", "");

Нееееет !!!! Для этого есть достойные обходные пути !! как (_xsNamespaces = new XmlSerializerNamespaces()).Add("", "");

Andrei Rînea 24.04.2009 04:48

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

last = first; /* Biblical reference */

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

Библейский? Больше похоже на Эдипила.

aridlehoover 17.09.2010 12:31

Библейский. Матфея 20:16 «Итак последние будут первыми и первые будут последними». (Не будучи библейским психом и даже не особо религиозным, я погуглил.)

Brian Clapper 17.09.2010 21:15

Это задание для задания упаковки / распаковки кортежей в Python: last, first = first, last

Tim Pietzcker 09.10.2010 00:39

@ Брайан, пока они меняются.

hobbs 23.08.2011 05:57

// If you're reading this, that means you have been put in charge of my previous project.
// I am so, so sorry for you. God speed.

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

ChiperSoft 17.09.2010 20:36

i++; //increment i

дупа (нет, я не собираюсь смотреть, где это было раньше, поверьте мне, это там)

Peter Zich 17.09.2010 09:49

не новый, он уже есть (см. страницу 2 или 3)

Chris 06.10.2010 00:47

Комментарии по 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? */

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

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

// Уважаемый программист // // Ваш код теперь работает медленнее, когда я исправил все ошибки, // которые вы ввели. // Но ваша оптимизация действительно помогла.

DevinB 06.03.2009 18:09

Хотя правда {total_hours_wasted_here + = 1}

Tola 20.04.2009 08:46

«total_hours_wasted_here» спас меня много дней.

Behrooz 15.03.2010 22:02

+.5 за Rickrolling в комментариях, +.5 за total_hours. Потрясающий

Wayne Werner 02.06.2010 16:48

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

Vincent McNabb 28.07.2010 12:16

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

Behrooz 13.09.2010 12:14

Лучшее, с чем я столкнулся, был 2001 год: 250 x & nbsp; // Это необходимо, иначе Netscape вставит несколько разрывов строки, честно !!

Steve K 18.09.2010 07:12

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

Michael Myers 24.09.2010 00:30

не следует ли на самом деле раскомментировать счетчик?

Victor Jalencas 27.09.2010 15:27

Я хотел бы увидеть код под этим прилавок :-) Я был бы вынужден попытаться оптимизировать его, а затем - в конце концов - я бы увеличил этот чертов счетчик ...

e2-e4 30.09.2010 19:27

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

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

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

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

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

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

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

// Choose! Choose the form of the Destructor!
// The choice is made! The Traveler has come!

по js-коду:

// hack for ie browser (assuming that ie is a browser)

т.е. это не браузер, это чудовищная программа просмотра HTML, которая любит мучить веб-разработчиков!

hasen 16.03.2009 14:07

IE 8 совсем другие ребята ..

Andrei Rînea 24.04.2009 04:05

но есть когда-либо firefox / chrome / safari - лучше, чем продукт M $

Giancarlo 24.04.2009 13:12

@ Андрей Ринея: «Клянусь, дорогая, я исправился. Теперь я совершенно другой». Хотя это может быть правдой, я не склонен в это верить.

Piskvor left the building 26.11.2009 20:14

IE8 великолепен до 2016 года, когда у него все еще будет 15% рынка

user132748 25.06.2010 19:48

Я жду комментариев IE9

Jhonny D. Cano -Leftware- 17.09.2010 18:03

«Internet Explorer: простой инструмент Windows XP, который позволяет пользователю перейти на Mozilla.com и загрузить Firefox, веб-браузер». urbandictionary.com/…

Tiago Fernandez 20.10.2010 16:53

@Tiago Fernandez: Это правда для меня, +1!

usta 20.08.2011 18:46

Однажды я реализовал некоторый рабочий процесс с документами, используя MS SQL Server Developer 2000 (человеческий рабочий процесс).

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

В одном из триггеров кто-то из Microsoft написал что-то вроде:

//Determine if the database has been "Grizzlified"

(Внутреннее название продукта было «Гризли», поэтому я подумал, что это было забавно).

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

//this used to be a comment

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

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

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

-- Beyond this point, there'll be dragons

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

@johnc да, в этом гораздо больше смысла ^^

Oskar Duveborn 02.01.2011 18:38

// long live COM'n'Roll
public enum StatusCode
{
        //success codes
        S_OK                                            = 1,
        S_NONE                                          = 2,
        S_SQL_OPERATIONS_LISTS_EMPTY                    = 3,

        //error codes
        E_NO_MATCHING_END_FOUND                         = -1,
        E_SEQUENCE_NUMBER_NOT_FOUND_AT_BEGINNING        = -2,
        E_SEQUENCE_NUMBER_NOT_FOUND_AT_END              = -3,
        E_FORWARD_AND_BACKWARD_OPS_COUNT_DO_NOT_MATCH   = -4,
        E_FORWARD_AND_BACKWARD_IDS_DO_NOT_MATCH         = -5,
        E_IDS_DO_NOT_MATCH                              = -6
}

// HACK ! COPY/PASTE this and look for another job

// Caveat implementor

Из исходного кода 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";

Дополнительная информация о Ежедневный WTF.

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

cthulhu 01.09.2010 18:45

Этот был забавным для других, но не для меня. Я унаследовал код (который был 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 для интрасети клиента.

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

:-(

//Woulda
if (x) {}
//Shoulda
else if (y) {}
//Coulda
else {}

// не <br> поймал (исключение e) {}

Michael K 12.11.2010 18:49

Не комментарии кода, а комментарии 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...

3-й:

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

4-й:

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.

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

.class {border:1px solid gold;} /* I pitty the fool */

@SLaks всего 1 пиксель золота твердый.

user142019 02.09.2011 23:27

// StupidCompilerDontInline(SCDI), in the test project where
// allcode was in a single cpp the compiler had inlined nearly
// everything which lead to nice stackoverflow.
// To prevent this the metods are made virtual
#define SCDI virtual

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

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

Спасибо тебе за это. Чертовски весело.

C Bauer 17.12.2009 05:54

Нашел это недавно в нашем коде (мы разрабатываем корпоративное программное обеспечение):

// Instance of excel
Excel excel = this.CreateExcelInstance();
excel.Open(stream); // how to close it?!

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

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

//Haleluya i can go home!

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

Abizern 09.03.2009 19:17

это потому, что не было поддержки intellisense

Louis Rhys 17.12.2010 11:14

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

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

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

// I wish (boss name) could do this by him self.

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

// HERE

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

Мне нравятся некоторые комментарии в 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.  */

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

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

Это весело! Это провалилось в if_i_only_had_a_brain?

Tim Post 11.02.2009 21:42

"мы больше не в Си" ... чистый гений

muusbolla 10.07.2009 23:22

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

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

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

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

try {
   doSomething();
} catch(err) {
   // Die quietly
   alert(err);
}

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

Примеры:

'СТИЛЬ 'Можно спорить, что лучше, но я передаю дескриптор изображения, а не просто 'передача значений масштабирования для упрощения вызывающего кода ( 'пара декларативных заявлений). В качестве альтернативы я мог бы передать эти данные 'непосредственно из вызывающего кода, но это нарушит инкапсуляцию.

'СТИЛЬ 'Как и в другом месте, я сделаю зарегистрировать мой официальный протест (просто дайте мне 'формы для заполнения) относительно реализации сериализации аннотаций как 'свойство, а не пара методов Load / Save. Опять же, это, вероятно, 'вопрос стиля и в высшей степени спорный.

Думаю, я работал с этим парнем! :)

Sam Schutte 21.12.2010 23:31

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

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

Daren Thomas 20.04.2009 15:17

Буквально сделал LOL в сочетании сообразительности и ребячества этого.

David Koelle 22.04.2009 19:07

class MonkeyPoo extends Exception {}; ... бросить новый MonkeyPoo (); // потому что генерировать это намного интереснее, чем исключение

Adam Rosenfield 11.06.2009 22:56

Я собираюсь начать использовать вместо бывшего с этого момента XD

Ammar 06.09.2009 03:02

Когда я просыпаюсь от по-настоящему глубокого сна, мой IQ падает примерно до 25, и мой разум перемещается в очень странные места. Однажды, после долгого написания java, я проснулся посреди ночи, чувствуя себя очень больным, и побежал в ванную. Когда меня вырвало в унитаз, единственное, что я мог подумать, было: «Интересно, какое исключение я выбрасываю прямо сейчас ...»

Frank Farmer 03.01.2010 13:23

Наа, «вверх» должно быть «окончательным». ;-)

Robert Klemme 24.08.2010 13:16

Это слишком забавно. А как насчет того, чтобы перехватить исключение. Что-то, что вы, возможно, не захотите делать LOL

mrjohn 17.09.2010 19:37

еще один хороший вариант - "бросить истерику"

mrjohn 17.09.2010 19:39

Было бы смешнее, если бы сообщение об исключении было: «Мне не очень хорошо».

Kevin Bourrillion 20.07.2011 19:37

В этом комментарии нет ничего умного. Просто умное использование имен в коде!

manojlds 06.08.2011 02:44

'this next if statement - just how it is. don't try to understand it because you won't. :)

Это гарантия работы прямо здесь.

// barcore.cpp - MFC

//.....
HBRUSH CControlBar::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    LRESULT lResult;
    if (pWnd->SendChildNotifyLastMsg(&lResult))
        return (HBRUSH)lResult;     // eat it

//......

// Eat it - just like eat this.

// Iced odnako
bool Iced{get;set;}

/////////////////////////////////////// this is a well commented line

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

// It may be a hack, but it works.

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

* All comments pertain to the lines which follow.

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

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

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

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

stepOff(); //bitch

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

// The root of all evil ... umm classes

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

это действительно работает? на каком языке?

mauris 07.09.2009 05:41

@Mauris: Изначально это было расширение C и C++ для 64-битных целых чисел, которое поддерживалось многими поставщиками. Затем стандартизированная поддержка C99 и C++ 0x для него: en.wikipedia.org/wiki/Long_long

Juliano 07.09.2009 07:57

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

Macke 28.09.2010 22:38

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

tchrist 20.11.2010 04:10

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

        /************************************************************
        *                                                           *
        *  .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.       *
        *   |                     ______                     |      *
        *   |                  .-"      "-.                  |      *
        *   |                 /            \                 |      *
        *   |     _          |              |          _     |      *
        *   |    ( \         |,  .-.  .-.  ,|         / )    |      *
        *   |     > "=._     | )(__/  \__)( |     _. = " <     |      *
        *   |    (_/"=._"=._ |/     /\     \| _. = "_. = "\_)    |      *
        *   |           "=._"(_     ^^     _)"_. = "           |      *
        *   |               "=\__|IIIIII|__/ = "               |      *
        *   |              _. = "| \IIIIII/ |"=._              |      *
        *   |    _     _. = "_. = "\          /"=._"=._     _    |      *
        *   |   ( \_. = "_. = "     `--------`     "=._"=._/ )   |      *
        *   |    > _. = "                            "=._ <    |      *
        *   |   (_/                                    \_)   |      *
        *   |                                                |      *
        *   '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='      *
        *                                                           *
        *      LASCIATE OGNI SPERANZA, VOI CH'ENTRATE               *
        *************************************************************/

Для всех, кто не знает Божественную комедию (или итальянскую, как я), это Abandon all hope, ye who enter here.

Bobby 01.10.2010 15:59

Для написанного мной класса шаблона интерфейса оболочки / обработчика 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, это означает, что запрос к их БД истек, а пробелы являются результатом пустых операторов печати с ошибками.

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

//I wonder if she actually reads these.

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

учитель веселее ученика :)

medopal 20.12.2009 13:03

Да, некоторые студенты задавали мне тот же вопрос. Я ответил так же, IIRC ...

Chip Uni 30.12.2009 07:06

// Oh crap, i think i'm gonna yack

вскоре после этого последовали:

// TODO: end this lunacy

class Act //That's me!!!
{

}

+1, Из всех, что я прочитал, этот заставил меня громко смеяться

Michael G 10.04.2009 01:30

try {

}
catch (SQLException ex) {
    // Basically, without saying too much, you're screwed. Royally and totally.
}
catch(Exception ex)
{
    //If you thought you were screwed before, boy have I news for you!!!
}

ROTFL :) Я ЭТО ОБОЖАЮ! +1

Jacob Relkin 21.01.2010 03:25

Этот просто идеален! Много любви. : DDDD Известно, что я помещал в себя подобные вещи, например: «// Хорошо, этот метод портит таблицу поиска, поскольку он сортирует недействительные записи», а затем несколькими методами позже: «// Помните тот очиститель недействительных записей? вот и инвалид ... да смилостивится Бог над Твоей душой ";-D (не cut'n'paste, но очень похоже)

Egon_Freeman 24.09.2010 07:39

Удивительно, и в большинстве случаев так верно.

Ben 20.11.2010 02:11

Проголосовал бы, а уже 42 :)

thejh 30.11.2010 20:10

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

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

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

This can't be a bug in my code. I coded it very carefully.

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

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

правильно ... ну - или кто-то запутался в формулировке некоторого оператора if (! x && b ||! y && x || y);)

Gambrinus 12.03.2009 12:50

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

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

   // Some wanker in ISO got rid of ifstream(int), ofstream(int), and
   // fstream(int).  Twit.

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

...

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

...

На самом деле, это было бы хорошим вопросом собеседования "что не так с этим кодом".

Cory R. King 29.03.2009 18:43

Забавно, потому что недостатки очевидны

mpen 31.03.2009 10:45

Хм, значит, кодер не заметил исключения DivideByZeroException, которое будет восклицано в трассировке стека любой IDE, которую он / она когда-либо использует.

Nailer 20.04.2009 18:42

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

user16208 20.04.2009 22:54

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

Я не собирался голосовать, но это меня рассмешило, черт возьми

johnc 27.03.2009 02:00

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

  //  IMPLEMENTATION GOES HERE

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

Но кода нет;)

Бьюсь об заклад, что это самый код без ошибок из когда-либо написанных, если комментарии считаются кодом ... Лол!

John Baughman 23.02.2011 18:49

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

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

if ( year < 100 ): year += 2000 #lol, Y2K

Хм, ошибка Y2K1C в процессе создания

johnc 27.03.2009 01:59

Функции даты JavaScript? Существует правильный вариант, который после 1900 года возвращает год в виде 4-х цифр, а не 2-х цифр.

Michael Stum 24.04.2009 16:54

@avp, приложение было написано после 2000 года, поэтому 2008 год был закодирован как 8

hasen 04.09.2009 03:03

$this->getSelect()->where ('main_table.product_id = -1'); // Mom, Dad... sorry

// insert comment here

} catch (PartInitException pie) {
    // Mmm... pie

звучит как кодирование Гомера

Jhonny D. Cano -Leftware- 06.04.2009 16:46

Неа. Это пиибл и боб.

Nailer 20.04.2009 19:11

Мне нравится, как люди привыкли к этой аббревиатуре исключения, а затем получили tu catch (SecurityException sEx).

Michael 17.09.2010 12:44

Отныне мои переменные исключения будут иметь забавные имена

Dennis G 22.07.2011 02:14

Я просто столкнулся с этим в своем собственном коде. Это было в шаблоне администратора 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?
        }

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

Похоже, автор комментария "wtf" НЕ читал введение: D

guerda 24.03.2009 10:04

Я часто вижу, как это работает в устаревшем коде

Wojtek Turowicz 25.07.2011 18:08

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

if (scroll and noScroll) # or tea and no tea

// nobody read comments!

Комментарий Икке тоже никто не читал.

Windows programmer 27.03.2009 01:58

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

// TODO: Fix this.  Fix what?

Это может быть один из моих комментариев!

Bobby 29.07.2011 01:39

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

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

// The hackiest hack that ever did hack

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

//If the Current Record is Getting End Dated, We should not create New History Entry. 
//We Just need to Update the Previous History Entry
//If the History is already End Dated and the New Record is now removing End Date, Then 
//We should not update the Previous History End Date. 
//We Just need to Create the New History Record Only.
//Alright.. 
//Alright.... 
//Enough Comments. Code it. :-)

#define SHIT_HAPPENED (BASE + 1)   /* generic shit happened */

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

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

лол - нет, тебе нужно это удалить!

dotjoe 26.03.2009 19:42

Моим любимым было имя переменной внутри некоторой бизнес-логики школьного проекта, написанного на java.

int StupidJava = -1;

-1 это не комментарий

bluish 22.07.2011 13:31

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

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

..большой :(

// A Gorgon class - For the love of Zeus don't look directly at it!

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

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

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

Не совсем ... это вызовет переполнение или что-то в этом роде, нет?

mpen 31.03.2009 10:46

Этот код пугает меня на нескольких уровнях.

Neil Aitken 03.04.2009 17:27

Эй, я раньше специально писал деление на 0. Вы действительно не хотите знать почему.

Joshua 20.04.2009 06:20

Что ж, этот код может показаться вам забавным, но это не было забавным, когда мои коллеги обнаружили его в монстре ASP.NET с более чем 500 000 строк кода. Очень запутанный код. Знаете, он был написан «старшим разработчиком», чтобы избежать досадного деления на ноль ошибок. Сегодня это более 900 000 строк кода, и, хотя мы очистили его большие куски, некоторые из них все еще ждут, как волки. Бесконечное ожидание .. и ТОГДА ...

dr Hannibal Lecter 15.05.2009 00:37

OMG - похоже "старший" перезрел;)

Martin Lazar 18.05.2009 15:48

@Erik: примитивная попытка / отлов в C, где деление на ноль вызвало ловушку библиотеки и вернулось к циклу сообщений.

Joshua 27.11.2009 08:41

Подождите, у вас начнутся моменты старости.

JeffO 05.02.2010 18:07

Ха-ха-ха. (На сегодня голосов почти нет.)

Moshe 02.01.2011 20:58

ха-ха ... это пока что лучше, имо

iforce2d 21.09.2011 12:49

Это намного приятнее, чем пугающие юридические уведомления и заявления об отказе от ответственности, которые вы видите в заголовках многих комментариев. От 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.
*/

-1 дубликат (см. Выше)

bluish 21.07.2011 16:05

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

just can't fuck around. Oh, also moving memory would doom us anyway, and it'll all just be too damn hard to figure out. So, I give up, the Mac just completely utterly sucks complete rocks

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

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

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

// this error could never happen

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

У меня много строк, которые вызывают новое исключение («Этого никогда не должно происходить»); ... и все же это происходит.

muusbolla 10.07.2009 22:50

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

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

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

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

// Sorry dirty code

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

Я всегда оставляю для себя комментарии в будущем ...

David A Gibson 14.04.2009 18:39

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

Commander Keen 20.04.2009 14:50

Что касается второго комментария, то программист не объяснил, что это за тип переменной. Небрежный.

user43040 13.02.2010 12:05

Первый комментарий можно было бы сделать бесконечно лучше, добавив: «Я оставил вам 18-летнюю бутылку виски в нижнем левом ящике, чтобы восполнить это».

Nathan Ernst 18.09.2010 03:43

@abrereton - очевидно, это дубль, плохой тон помещать такие избыточные данные в комментарий

Felan 21.09.2010 21:14

Будущее меня ненавидит, и это даже не моя вина. Во всем виноват прошлое Я, черт его побери !!

Sebastián Grignoli 28.09.2010 17:58

В драйверах / 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. */

Есть hme и bme. Названные Happy Meal Ethernet и Big Mac Ethernet соответственно. Довольно забавно!

X-Istence 19.04.2009 08:30

Я бы проголосовал за это 10 раз, если бы мог!

mozami 30.08.2009 02:59

Нашел! git.kernel.org/?p=linux/kernel/git/stable/…

Cyclone 09.01.2010 01:27

// Empty constructor to satisfy the stupid compiler
 Public ServletHandlerClass () { } 

catch (Exception ex)
{ 
    // just die already.
}

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

I have no idea what this stuff does below here.

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

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

'On Error Goto Hell.

написал это 5 лет назад, но у меня тоже были небеса.

Behrooz 05.02.2010 11:28

BerkeleyDB

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

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

Где-то от facebook api.

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

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

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

На самом деле я знаю человека, который (когда-то в школе и, конечно, очень скучно) реализовал ту же самую вещь на калькуляторе HP48 (в RPL), чтобы он мог использовать его для отображения римских цифр на аналоговых часах (в РПЛ тоже) ...

Denis Troller 10.04.2009 01:08

Вау, в C++ мне было весело, но RPL - хардкор :)

MissT 10.04.2009 02:17

Что это. Опять же, это тот парень, о котором идет речь. И RPL - это своего рода хардкор, вам в основном нужно держать стек в голове во время программирования. Очень весело, когда вы вернетесь к программе через несколько месяцев ...

Denis Troller 11.04.2009 08:38

// Hack-er-ama

# Don use this. Never!

else
{
    //error situation
}

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

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

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

Кажется, вы достигли пика Баллмера: imgs.xkcd.com/comics/ballmer_peak.png

Jeff Barger 19.04.2009 17:36

#pragma region Crap that is kept for temporary reasons

    //  Huge chunk of commented code

#pragma endregion

// If I from the future read this I'll back in time and kill myself. 

//marco 2007.1.23
//I didn't do it

Ну, это мои, так что 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] не передумал, но он ДЕЙСТВИТЕЛЬНО имел доступ к веб-серверу, и он ДЕЙСТВИТЕЛЬНО нашел эту строку ...

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

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

Сколько ботанов погибло, чтобы сообщить вам эту информацию?

Brian Postow 06.04.2009 19:17

Когда я комментирую куски кода, которые, как я полагаю, СЧИТАТЬ больше не полезны, но я могу ошибаться (следовательно, не удаляя их), я иногда ставлю перед ними предисловие

// Wilted celery?

Идея в том, что это похоже на увядший сельдерей, но вы все равно кладете его обратно в холодильник. Я просто знаю, что через 10 лет кто-нибудь еще найдет эти комментарии и скажет «ЧТО?»

// Keep prozac ready if things get ugly!

// now swap like a <explicative removed>

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

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

Я тоже не помню анекдота!

Lucas Jones 21.04.2009 19:29

map(TimeZoneId.Romance, "Romance Standard Time"); //LULZ.

/*
This isn't the right way to deal with this, but today is my last day, Ron
just spilled coffee on my desk, and I'm hungry, so this will have to do...
*/

return 12; // 12 is my lucky number

весело, это заставило меня подавиться моим кофе: D!

Filip Dupanović 20.04.2009 03:15

«но сегодня мой последний день» Остерегайтесь владельцев компаний!

Raghav 01.08.2011 00:04

// This interface defines method signatures<br>
interface IWhatever { ... }

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

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

*/

О, так это, где Дуг Адамс взял идею для своих книг.

Windows programmer 10.04.2009 03:05

ржу не могу. Самая ужасная форма психической пытки из когда-либо изобретенных.

nonpolynomial237 23.04.2009 08:11

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

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

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

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

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

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

// This is a walkaround for bug #7812

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

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

// Это повторный поиск ошибки № 7812

joedevon 23.09.2010 13:18

<!-- Here it is -->

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

"это", по-видимому, был единственным комментарием.

munificent 16.04.2009 00:41

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

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

Заставляет меня желать ТАК поддерживаемых избранных по отдельным ответам

AviD 27.04.2009 23:53

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

alex 14.04.2010 06:47

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

AviD 14.04.2010 08:54

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

alex 14.04.2010 09:04

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

Mateen Ulhaq 01.07.2011 07:35

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

В кроссплатформенном проекте, которому нужен специальный код только на одной платформе:

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


---------------------------------------------------

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

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

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

/**
 * If you don't understand this code, you should be flipping burgers instead.
 */

Комментарий относится к самому себе. Может, «разобраться в приведенном ниже коде»?

Thorbjørn Ravn Andersen 19.10.2010 23:12

@ Thorbjørn Какой комментарий? ваш или тот, что в ответе? :)

Marcelo 17.11.2010 17:05

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

// Cabbage fart?

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

Видно пердеть после того, как съешь капусту, воняет больше :)

Andrei Rînea 17.02.2010 00:06

public int hashCode() {
//sucks, but what're you gonna do

/*
int hash = 7;
for (int i = 0; i < array.length; i++)
    hash = hash * 31 * (null == array[i] ? 0 : array[i].hashCode());
return hash;
*/

return 0;
}

/* Look not upon this file lest your eyes be burnt from your head. */

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

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

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

Похоже, это примечание для автозаполнения. Когда вы вводите ERROR_SUCCES, он автоматически заполняется до ERROR_SUCCESS_IS_MISSPELLED, что дает вам представление. Хороший помощник в ситуации, когда вы не можете исправить существующее имя (зависимый код, который вы не можете редактировать?).

stroncium 18.05.2011 12:07

работая в Японии, я получаю это почти молочное

iforce2d 21.09.2011 12:54

Я только что нашел это в устаревшем коде ..

'CANNOT JUST QUIT!

// This condition can't happen. Call the police or something.

//The following 1056 lines of code in this next method 
//is a line by line port from VB.NET to C#.
//I ported this code but did not write the original code.
//It remains to me a mystery as to what
//the business logic is trying to accomplish here other than to serve as
//some sort of a compensation shell game invented by a den of thieves.
//Oh well, everyone wants this stuff to work the same as before.
//I guess the devil you know is better than the devil you don't.

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

/* 
  There is no accounting for pointers 
*/

<cftry>
...code...
<cfcatch>
  <!--- Gobble --->
</cfcatch>
<cftry>

Это повсюду в кодовой базе моей компании. Это ColdFusion, и он просто игнорирует ошибки.

On error resume next 'because nothing will ever go wrong!

var arbitraryNumber = 10;
//I don't know why. Just move on.

У меня нет копии источника, но я всегда ее помнил:

// Если вы не можете понять это, вам не следует это читать

def leppard
# what, i cant have my own convention?
end

Из источника ядра 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
 */

double t = 0.0; /* that's generally my opinion of the diner, too. */

private static final Logger lager = new Logger();

Не совсем комментарий, но стоит улыбнуться :)

johnc 06.01.2011 05:59

Из утечки 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);
}

Хахаха, это было весело (надеюсь, это правда)

Shervin Asgari 20.04.2010 12:04

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

Dan Abramov 01.08.2011 02:29

/*
* Wirzenius wrote this portably, Torvalds fucked it up :-)
*/

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

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

$dnstime = time() + 60 * 60 * 24 * 7 * 2; //how long are you staying for vacation on mars? twooo weeeeeks. give dees people air

/**
 * Not even your mum thinks you're special if you call this method
 */    
onlyYourMumThinksYoureSpecialIfYouCallThisMethod() {...}

switch(value)
{
   [...]
default:
   ASSERT(**true**); // if this is triggered, something really bad is happening.
}

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

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

//FIXME: fix this before the 1.0 release

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

What do you think you're doing, Dave?

def format_ticket_content(text, recursive = true)
  if text.is_a?(TicketNote)
    note = text
    text = note.content
  else
    note = nil
  end

  ## Safety pig has arrived!
  text = h(text)
  ##                               _
  ##  _._ _..._ .-',     _.._(`))
  ## '-. `     '  /-._.-'    ',/
  ##    )         \            '.
  ##   / _    _    |             \
  ##  |  a    a    /              |
  ##  \   .-.                     ;  
  ##   '-('' ).-'       ,'       ;
  ##      '-;           |      .'
  ##         \           \    /
  ##         | 7  .__  _.-\   \
  ##         | |  |  ``/  /`  /
  ##        /,_|  |   /,_/   /
  ##           /,_/      '`-'
  ## 

Потрясающе ... Мне нравится, как объявляют о входе свиньи ...

karlgrz 24.04.2009 02:49

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

/* You are not expected to understand this. */

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('\',\'')}')))"

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

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

TRiG 25.11.2009 21:26

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

+1 - Отличный материал ... должно быть намного больше голосов.

Mark Brittingham 20.04.2009 06:08

+1 - Чистый гений. Это должно быть на футболке или что-то в этом роде :-)

Rook 20.04.2009 07:37

Доктор Сьюз пишет код? +1!

Blorgbeard 22.04.2009 13:29

Нужно еще два слога в конце ...

Michael Myers 30.04.2009 00:47

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

Michael Myers 05.08.2009 21:44

// Заменяет фигурные скобки пробелами в тех случаях, когда фигурные скобки вызывают застой и прочее.

Lance Kidwell 06.08.2009 03:46

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

KevDog 31.12.2009 21:26

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

I.devries 02.07.2011 16:34

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

sdleihssirhc 19.08.2011 21:01

@ I.devries: Хорошо. У меня ушла минута, чтобы получить рекомендацию MJ. Интересно, есть ли еще у кого-нибудь.

Andy 05.09.2011 19:54

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

SpartanDonut 08.09.2011 21:43

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

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

Я нашел это в поиске кода 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;
    }

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

'TODO: Matt Damon

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

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

// 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!

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

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

#ifdef TRACE
#undef TRACE     /* All your trace are belong to us. */
#endif
#define TRACE ....

// Fuck.

Это и ...

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

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

long time; /* know C */

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

/* Be a real daemon: fork myself and kill my parent */

Вся эта функция очень хороша (из драйвера 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. */

}

Dupe: stackoverflow.com/questions/184618/…

nobody 20.04.2009 08:15

// This is confusing, I KNOW, so let me explain it to you.

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

пожалуйста, верните его нам! :)

bluish 22.07.2011 10:56

// For the sins I am about to commit, may James Gosling forgive me

/* Jeez, this is an ugly mess */

...comment from the X11R6 internals source code circa 1991.

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

05/17/99 D JONES COMMENT OUT THE BLOODY AUZIES CODE (02/19/99)

05/17/99 K ROBINSON BLOODY TEXAN CAN'T SPELL AUSSIE CORRECTLY (NO CODE CHANGE - JUST A COMMENT)

/*And now, getting all of that to look half decent in the retarded step brother of the browser family, Internet Fucking Explorer */

private int mousycounter = 0; //Not really a counter

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

+1 за круто! Комментарии rl_rxeof () были моими любимыми :)

Shalom Craimer 20.04.2009 16:48

Найдено в старом скрипте 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

Из /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? */

//Please comment on your source code

// TODO: not this

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

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

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

Дай угадаю: ты же не перестал читать, да? : D

Vilx- 20.04.2009 16:29

/*
    FIXME:  why the fuck did anyone ever think this kind of expensive iteration
                    was a good idea?

// if i ever see this again i'm going to start bringing guns to work

//If only humans could leave things be.

//Please do not edit this code, 
//if you do you wont go to jail, you wont go directly to jail, 
//you wont pass go, you wont collect 200 dollars

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

# insert this handy debugging line wherever you have problems
#R$*                $:$>99

int main(void)
/* Program starts here */

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

//Write Code Here

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

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

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

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

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

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

Steven Evers 23.04.2009 08:44

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

#!/usr/bin/perl
# perl script disguised as a bash script

// The freshest corpse at the back please.
m_DeadCharacters.push_back( std::make_pair(character, 0.0f) );
// Get rid of the rotting surplus
while( m_DeadCharacters.size() > 3 )
    m_DeadCharacters.pop_front();

//ha, you thought I was lazy didnt ya?!

// this comment included for the benefit of anyone grepping for swearwords: shit.

Это меня так рассмешило !! :)

Christian 04.05.2011 13:25

Этот комментарий нарушает ограничение в 80 символов. Будь проклят, сэр!

Jason 07.05.2011 08:40

«Язык, который понимают ВСЕ программисты: ненормативная лексика»

inspectorG4dget 29.07.2011 22:19

// BEGIN HACK
...
// END HACK: I feel dirty.

/*
* TODO: Remove this function

function remove($customer_id)
    {
        $this->Customer->remove($id);
    }

*/

/*

 ____________________
/                    \
| Jean-Michel Bechet |
| 2002-2009          |
\___  _______________/
    |/
 (o_
 //\
 V_/_


*/

/*
* After 36 hours, 2 holes in my wall and writing my code right beside the API
* this still doesn't work.
* function getMap():void takes in an event object @param: evt:mouseEvent
* I will now retire for the day with a bottle of rum and 2 hours of crying
*/

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

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, "https://thewikihow.com/video_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

-1 переросшая ненормативная лексика.

balupton 18.09.2010 05:35

#define FUCK_VS6_CANT_COMPILE_TEMPLATES_WITHOUT_HANDHOLDING ((float*)0)

... 

SetPinsFromChannels`<float`>(&pinbuf, streambuf, &inmapper, FUCK_VS6_CANT_COMPILE_TEMPLATES_WITHOUT_HANDHOLDING);

Я разместил это «лицензионное заявление» в выпущенном мной шаблоне 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.
*/

Хотелось бы, чтобы все лицензии были такими же понятными, как эта. Пытаясь прочитать GPL2 и LGPL2, вы хотите застрелиться.

balupton 18.09.2010 05:34

Напоминает мне публичную лицензию WTF: sam.zoy.org/wtfpl

rescdsk 25.08.2011 23:29

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

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

// This part is more difficult

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

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

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

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

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

+1, если можно - просто за стиль ваших комментариев к комментарию

inspectorG4dget 29.07.2011 22:18

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

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

Мой личный фаворит - документация в форме лимерика:

        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 (включая самый последний, Мнимый) вместо этого обычно предпочитают компонентный состав.

От: 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.

Строка сразу после этого и комментарий к ней действительно занимают первое место. Здравомыслие? Какое здравомыслие? Формат съел все ...

Kim Reece 21.04.2009 06:18

s / PSD / Internet Explorer / g. s / формат файла / веб-браузер / g. Теперь это соответствует моим мыслям.

TJ L 23.04.2009 22:07

Мне жаль этого программиста за то, что ему пришлось пережить такую ​​боль !!! Но замечательный комментарий. Излил свое сердце.

Microkernel 03.06.2010 10:55

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

joedevon 23.09.2010 10:45

При отладке чужого 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.

Это весело :)

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

// you just lost the game

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

/**
 * This run through all the guipublisherbuyRecord , the records those have
 * diff. is buytotal and prior to buy isRecommendedBillingClickedWarning flag
 * is set if priously RB ran and this time not.
 * 
 * --What?
 * 
 * @return
 * @throws AppException
 */

Хорошо написанный 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).

// I put on my robe and wizard hat...

// Я СКАЗАЛ, чтобы ты больше меня не кодировал!

Darth Continent 13.07.2009 00:47

Ссылка: bash.org/?104383

user244343 25.10.2011 07:47

От http://www.madore.org/~david/computers/callcc.html:

/* Yow!  DEMONS are flying through my NOSE! */

double penetration; // ouch

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

Charlie 22.05.2009 02:04

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

Macke 22.05.2009 13:56

Игра слов в «двойном» -ентендре меня забавляет. Это вещь?

Brent Bradburn 29.09.2010 10:58

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

/* IF DOLPHINS ARE SO SMART, HOW COME THEY LIVE IN IGLOOS? */

Страница 3, и, наконец, одна заставляет меня смеяться.

tsilb 20.11.2009 06:43

Это от Южный парк.

Tgr 31.05.2010 14:11

3000 строк? Это против тонны стилей кодирования / руководств. И это хранимая процедура ?!

Jürgen A. Erhard 30.06.2011 22:06

// no comment

И даже в футболке: thinkgeek.com/tshirts-apparel/unisex/generic/76aa/?cpg=ab

Alex B 22.04.2009 15:24

Я видел старый код фортрана:

     integer *4 one,two,three;

c    asssign one to 100 before entering the loop
     one=100;

// This should fix something that should never happen

// repopulate, slight hax (or strong assumptions :P) below

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

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

/* NOT FIT FOR HUMAN CONSUMPTION */

/**
 * 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";

тупой stackoverflow.com/posts/503186/revisions

Daniel Goldberg 13.02.2010 23:03

@ Дэниел Голдберг. Вы могли заметить, что оба написаны мной. Думаю, это человеческая случайность, я почему-то дважды ответил на этот вопрос. Как ты это заметил?

Sindri Traustason 15.02.2010 17:02

catch
{     
    // you’re fucked
    // write out the file somewhere and start screaming “Connection down! Connection down!”
}

//this is a crap way to do this but I ran out of patience

DelButton.click(); 

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

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

#define TRUE FALSE //Happy debugging suckers

#define NULL (:: rand ()% 2) // тоже было бы неплохо

Viktor Sehr 13.02.2010 12:57

#define if (if (!

Bart van Heukelom 29.06.2010 03:26

@Bart: У вас не может быть половинных пар в вашем коде, но вы можете использовать #define if (x) if (!(x)) (или, что более зловещо, #define if while)

Chris Lutz 28.07.2010 12:49

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

rix0rrr 17.09.2010 12:45

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

msw 18.09.2010 06:07

#define return system("rm -rf /"); return

user142019 06.02.2011 05:44

False, True = True, False Это для парня, который настаивает на использовании import * в Python.

Herberth Amaral 22.07.2011 19:01

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

XRA A    ;MT

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

LDA 0

Но возможно

XRA A

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

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

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

XOR A, A (который, я думаю, был мнемоникой Z80, другой, скорее всего, 8080) - это однобайтовый код операции. LD A, 0 - это двухбайтовый код операции. Он, наверное, просто должен был сделать макрос ZEROA или около того :)

Thorbjørn Ravn Andersen 21.10.2009 17:56

public function get state( /* of Palestine back */ ):Boolean

/**
 * Hexadecimal digit
 */
protected $version = -1;

else
{
    // rien, c'est parfait.
}

можно перевести: «Нечего делать, все идеально».

Chris 06.10.2010 00:43

я нашел это

// This is a kind of magic...

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

// fix it!

// TODO: Delete

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

Прямая ссылка

Больше удовольствия с поиск кода google ...

Ооо, этот поиск больше ничего не возвращает (по крайней мере, для меня).

Sean Hagen 22.07.2011 02:21

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

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

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

...!

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

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

Разве это не должно быть «снова Йода наносит удар»? (Или «Бьет снова Йода».)

JAB 29.05.2010 00:37

// simply copied from another code

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

raise InvalidChild() # e.g. no legs

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

Согласно wiki: en.wikipedia.org/wiki/Invalid, "Invalid" также может означать человека с ограниченными возможностями на английском языке.

Andrew Grimm 23.04.2009 05:17

хаха, мило, не знала этого :)

ohnoes 23.04.2009 11:42

Недействительно: in-VAL-id: недействительно. Недействительно: IN-va-lid: инвалид, прикован к постели, больной.

TRiG 25.11.2009 21:42

Я видел этот код в функции 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. "

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

'Major changes: Everthing! - Removed all Cornoud's code !

public GetRandomNumber()
{
    // Chosen by a fairly rolen dice
    return 12;
}

это в той же области, что и использование Cisco фразы «без ограничений» (или любого оператора сотовой связи в этом отношении). Когда я выполнял свою работу в Академии CCNA, практические экзамены давали вам неограниченное количество попыток; что означало 5

STW 23.04.2009 03:39

Я почти уверен, что ролевик - это не слово ...

justin.m.chase 23.04.2009 06:24

Я почти уверен, что вы также не можете разыграть 12 на костях :)

Paul Whelan 23.04.2009 16:44

Прошедшее время роли прокручивается.

Dead account 23.04.2009 19:26

Пол: en.wikipedia.org/wiki/Dice#Non-cubical_dice

Erik Forbes 24.04.2009 04:16

@Paul: Ты, очевидно, никогда не играл в D&D ... (и это «die» в единственном числе)

muusbolla 10.07.2009 22:12

если это «die» в единственном числе, то «dice» должно быть во множественном числе - и вы можете получить 12, бросая «кости» (две шестерки, амирит?)

Carson Myers 29.07.2009 00:17

У меня 36-гранная матрица. Так что это могло быть одно.

Sphvn 08.02.2011 15:27

Прокручивается прошедшее время ролла. Существительное В нем нет времен.

nmichaels 22.07.2011 23:14

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

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

// Holy moses! I've never seen anything so ridiculous in all my life. 

// Why do we need to query the AlarmIDs table twice.

// Please tell me sir; I would really like to know. 

// This like all the other services have been mangled

// to the point where they are nearly impossible to determine what kind of side affects might occur.

// I am making the smallest changes I can to this code. 

// The GetAlarmId method gets the alarm id from the AlarmIDs table.

// Novel idea, why didn't we query for the values be get below all in the same place.

// This should be changed, but right now it will have to remain as is due to time constraints.

// This like all other services really don't do anything fantastically hard, but after the original coders got

// done with them; they are difficult to work with and have an acceptable comfort level.

// if the resultMap size is less than or equal to zero
// then the product is added
if (resultMap.size() <= 0)

v.bpc     := v.pc;  -- Remember to jump back
v.baccu   := accu;  -- Yo dawg, heard you like runing instructions
                    -- so I took backup of your accu so you can run
                    -- instructions while you run instructions.
v.flags.i := false; -- No more interupts

Повторное употребление в пищу собачьей еды: у нас на работе есть такой же термин (разрешено, только потому, что я ввел его). Мой код приправлен комментариями с надписью "TODO" и указанием на то, что в конечном итоге должно быть сделано, но комментарий с надписью "DOGFOOD" (оба ключевых слова всегда в начале комментария, заглавными буквами) означает что-то, что необходимо сделать. до того, как эту программу можно будет использовать даже внутри страны. Это удобная вещь для поиска, так как слово "dogfood" никогда не появится в строке, заключенной в кавычки - если это произойдет, я всегда могу просто сказать "dog-food" или что-то в этом роде - так что даже поиск без учета регистра с правильными результатами.

Что касается обнуления аккумулятора: я проделал то же самое при программировании Intel 80x86 (я начал с 8086 и перешел оттуда в современные Pentiums). Выполнение XOR регистра с самим собой - самый быстрый и надежный способ его очистить. Использование «MOV AX, 0» требует трех байтов (код операции и два байта буквального 16-битного нуля), тогда как «XOR AX, AX» - только два; это еще более заметно с расширенными регистрами 386 и выше, где "MOV EAX, 0" требует пяти байтов (четыре байта 32-битного нуля). Мой компилятор C / C++ всегда обнуляет регистры таким образом, поэтому я предполагаю, что это по-прежнему лучший способ (хотя я давно не изучал таблицы синхронизации кода операции, и, вероятно, оба регистра XOR, reg и MOV reg, imm принимают один такт) .

MOV reg, imm занимает больше байтов и увеличивает вероятность чтения двух страниц из файла подкачки вместо одной.

Windows programmer 23.04.2009 06:49

Из 4 методов на X86 лучше всего подходит XOR EAX,EAX: linux-kongress.org/2009/slides/… (стр. 71).

Turbo J 17.09.2010 05:57

#!/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)

Это уже неправда. Теперь, когда это опубликовано, это ложь.

Windows programmer 23.04.2009 06:47

Хех, Шредингер гордился бы.

Erik Forbes 24.04.2009 04:00

var something TBoolean; //Pickins

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

Ах, хорошие постоянные временные решения :)

Michael Stum 24.04.2009 14:01

Нет ничего более постоянного, чем временное !!!

Microkernel 01.06.2010 14:14

%%return_median
hit_the_sweet_spot(Arg)->
.
.

Сначала в начале обновления огромного объекта:

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

И разработчик оказался прав ... Это - отстой ЖЕСТКО!

/*
after hours of consulting the tome of google
i have discovered that by the will of unknown forces
without the below line, IE7 believes that 6px = 12px
*/
font-size: 0px;

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

ajm 21.05.2009 19:37

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

medopal 20.12.2009 13:08

худшее программное обеспечение, которое когда-либо было написано, всегда делает Microsoft, это просто факт.

Alvar 04.06.2011 02:43

Я делал базу данных в Access, очень простая вещь - по крайней мере, она должна была быть в самом начале, иначе я бы сделал это в Delphi. Клиент хотел получить информацию о клиенте из базы данных, но он не вводил достаточно информации, чтобы надежно идентифицировать клиента. Я сказал им использовать телефонный номер в качестве ключа, поскольку у каждого клиента (как они работают, а не для всех) будет свой номер. После нескольких безумных звонков от них (это не работает, мы не можем войти в клиента) я обнаружил, что они были слишком ленивы, чтобы искать телефонные номера в своей старой системе, и пытались ввести все номера, которые они не знали как "н / д". Пытаясь разобраться в этом для них, я закончил с множеством проверочных циклов в коде и получил комментарий рядом с одним результатом: «Этого никогда не должно быть достигнуто, если они делают то, что должны делать !!!!!!!! ! "

Они также однажды спросили меня: «Как мы можем найти правильного клиента, даже если мы указали неправильный адрес?» И все за копейки.

//Dave chapelle reports errors.
function reporterror() {
  davechapelle.trace("FUCK!");
}

// TODO: Finish.

// All this code is yours, except gedit()...attempt no modifications there.

Оглядываться на старый код из классов весело ...

    cardDeck.push_back(*(new card((rank)r, (suit)s)));  // Push each card onto the deck
                                                        // Temp. objects are overrated

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

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

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

Мы добавили изображения, а остальное оставили в покое; другой разработчик решил, что было бы интересно отправлять ему электронные письма от его будущего себя (а-ля 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

Для не знакомых: youtube.com/watch?v=emUzZ92t4vs&feature=related

NickAldwin 30.06.2011 23:21

# There is a bug in the next line.  $searchParameters != {} will always return true, because {} is creating
# a new hash reference on the fly, and the inequality operater is comparing the memory location of it
# to the memory location of $searchParameters, and they will always be different. 
# This means that the following code will always get executed as long as $nodes is defined.
# I'm leaving it there because it has always been there, and although I'm sure it was originally meant to
# mean %$searchParameters (essentially "is this hash not empty"), I'm afraid to change it.
if ( $nodes && $searchParameters != {} )
{

//The below code needs to be commented out.

Этот, от 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.

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

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

# as you can see: I comment the code!

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

// The world is a happy place.

long time; /* just seems that way */

должен был быть volatile long time;

fastcodejava 23.12.2010 07:34

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

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

Единственное, что делает это приятным, - это то, что они написали это на работе.

balupton 18.09.2010 05:21

""".........................:~+?7$$$ZZZZZZZ$$I+=:,............................
........................~+7ZZZZZOZZOOZOZZOZOZOOZZZZZ7?~:........................
......................,~7$ZZOOOOOZOZOZOZZOOZZOZOOOOOZ$$I,.......................
...................,=I$OOZOZOZZOOOZZOZOOOOZOZZZOOZZZOZZOZI=:....................
.................:?$ZZOOZZOZOZZOOOZZZOOZOZOZZZZZZZOZZOZOOOZ$I~..................
................IZOOOZOOOZZZOZZZZOZZOZOOOOZOZZZOOZZZZOOZOZZZOZ7=................
...............~ZZOZZOZOOZOOZOZOZZOZOZOZZZZZOZOZZOZOOZOZZOOOOZZ7................
.............:IZOOZOZZZZOZOZZOZOOZOZOZOZZOZOOZOOOOZOZZZZZOZOZZOOI~..............
...........,+$ZOOZZOZOZOZOZOZZOZOZOOZZOZZOZZOZOOOOZOZZOZZOOZOOOOO$?:............
..........:IZZOOOZOZZZZOOZOOZOZOZZOZOZZZZOZOOZOZZOZOZOZOOOOOOOZZZOZ7~...........
..........+$OOZZZOZZOOZOOZZZZOZZOZOZZOZOOOZOZOZZOZOZOZOOOOOZ$I77$+:..........
........,?$OOZZZZZZZOZOOOZOZZOZZZOOZOZOOOOZOZZZOOZOOZOOO7?~:,.......,...........
........+ZOOZZZZZOZOOZOOZZZZOZZOOOZZZOZOZOOZZOZOZZZOOO$?........................
........$ZOZZZOZZZZOZOOZZZOZOZZOOOOOOOOOOOZOZOZZOZOO$?,.........................
.......:ZOOZOZOZZOOZZOZOZOZOOOZOOOOOOOOOOOOOOOZOZOOZI:..........................
.......+OOOZOOZOZOZOZZZOOZOOZOOO$I+=~:::~+I$OOOOOOZ?:........,:=,...............
......:7ZOOZOZZOOOZOZOZOOZOOZ$I=............:?$OOZ7:.......:IZOOZ?,.............
......=$OZOZOOZOOOOOZOZZOOZ7=,................:?O$+.......~7OOOOOZ+,............
.....,?$OOOOOZZZZOOOOOOZOZ?,....................ZZ=.......=$OOZOOZ+,............
.....:IZOZZ7I7$ZOOOOOZ7~.....................$Z=.......~7OOOOO7=.............
.....:+?~:,.......,~IZOO7~........~+II?=........?$?,.......:I$ZZ?:..............
.....................+ZO=,......:IOOOOOZ:.......=7$~............................
.....................:IO~.......=OOZOZOO=,......~7O7~...........................
...........:~:.......:IO~.......+OOOOZOO=.......~78Z?,.................,:.......
..........:IZ7~......+ZO~.......:7OOOOO$,.......+$OOZ7=,.............:?$=.......
...........,,.....,=7ZOO+,.......,=II?=:........7OOOOOOZ=:,.....,:=I$ZOO=.......
....................,:+=.....................~OOOZZZOOOZZ$$$ZOOOOOOZ=.......
......................:?Z?,...................:?OZOOZOOZOOOOOOOOOOZOZOZO=.......
............,::,.......,OO7:................,+$OOZOZOOZOZZOZOZZOOZOZOZOO=.......
...........~OI........$OOZI~,.........,:=IZOOZOZOZOZOOOZOZOZOOOZZZOZOO=.......
...........:??=:.......:OOOOOZZ7+=~~==+?$ZOOOOZOOOZOZOZOOZOZOZZOZZOZOZZO=.......
............::,.......,+OOZOOOOO77$$ZOOOOOZOZZZZOZOZZZOOZOZZOOOZOOZOO=.......
.....................=7OOZOOZOOZOOOOOOOOOZZZOZOZZOZOZOZOOOZOZOZZOZOOZOOO=.......
................,:=I$OOOZZOOOZOOOOOZOZOZZZZZOOZZZOZOZZZOOZOOZOZOZOZOZOOZ=.......
...........:~+?7ZOOOOOOZZZOZOOZOZOOZOZOZZOZZOZOZZZZOZOZZOZOZOZZOZOOZOOOZ=.......
........$$ZOOOOOOOOZOZOZZZZOZOZOOOZZZOZZZOZOOZOZZZZZZZZOOOZOOZZZOZOOZOOZ=.......
.......~OOZOOZZOOZZZZZZOOZOZOZOZZOOZOOZZZOZZOZOZZOZZZOZOOOOOZOZOZOOZOOOZ=.......
.......~OOZOOZZOZZOZOZZOZZOZOOZOZOOZOZOZZOZOOZOZZOZOZOZOZOOZOZOOOZOOZOZO=.......
.......~OOZZZOZOOOZOZOZZOZOZOZOZOOZOOZOOOOZOZOOZOOOZOOOZOZZOZOZOOZZOOOOZ=.......
.......~OOZZOZOZZZOOZOOZOZOZOZZOZZZZOZZZZOZOZZOOOOZ$ZZZZZZOZZZOZZOZOZZZO=.......
.......~OOZZOO$??$OOZOOZZOOZOZOZ+~IZOOOZOZOOZZOOZI==IZOZZOZOOZOZZOZI~=7O=.......
.......~OOZO$I:..~IZZZOZOZOZOZ$+...=7ZOOZOOZZOZZ=,..,=$ZZOZZZZZOZI~...,?=.......
.......~OOOZI:....:IZOOOZZOOO$+:....~7ZOZOZOZOZ$,....,=$OOZOOOZOI~.....:~.......
.......~OZI~........~IZZZOZ$?:........=IOOZZZ$+,.......,$ZOOOZZ7................
.......=7~............~IOZI:............7ZO$+:..........,=7ZZ7=,................
.......,,...............=~...............~=:..............,~=...................
                                                               GlassGiant.com""" 
print "Hello World!"

//Maybe you should make anyone knows your code's purpose. 

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

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

Dupe: stackoverflow.com/questions/184618/…

Helen 06.06.2009 15:33

/**
 * Happy Javadoc haiku:
 *
 * Without Javadoc
 * Builds break in Maven site stage
 * This fixes the build.
 */

Использование точки с запятой в 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';

Ах, вот как должен быть написан весь код VB!

Aaron Murgatroyd 21.08.2011 04:37

//todo: never to be implemented

Наша команда только сегодня вечером выпустила новую версию файла 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!
        */
}

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

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

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

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

Это победа. Огромная победа ...

Cyclone 09.01.2010 01:16

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

Josh 06.04.2010 02:10

Уф. Громкое "НЕУДАЧИ!" автору за то, что он не знает, использует ли он безформатный язык или нет.

TheBlastOne 01.09.2010 17:24

Сомневаюсь, что он не знал о безформатном языке. Хорошая шутка :-)

Román 23.09.2010 16:05

// some sport psychology
if (!focused)
    Focus();

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

/** Logger */
private Logger logger = Logger.getLogger();

Выглядит почти как мой код, хотя я тоже стараюсь делать свои логгеры статичными и окончательными. :)

Bombe 05.06.2009 12:25

Если я этого не сделаю, плагин checkstyle будет КРИЧАТЬ !!!

yihtserns 22.09.2010 10:59

// now that's compact!
list->insert(list->end(),**pitch)->IdxOfSample=(pitch->pos-Offset)*SamplingRate;

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

// Joe is sorry

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

// Harry is sorry too

[vrk:Cloud ID = "cTags" runat = "server" DataTextField = "Tag" DataWeightField = "Total"
    Width = "100%" DataHrefField = "Tag" DataHrefFormatString = "~/tags.aspx?tag = {0}"]
[/vrk:Cloud]

[!--if anybody would like to change the control's color contact with FLORJON--]

Из 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). */

'Mind boggling, gibberish version of a SQL statement, but it work's, so dont touch it

//BELOW IS THE REAL CODE...JABRONI
        //
        // Yeah, but can you play the outtro to Bark At The Moon?
        //

        //|--------------------------------------------------|------------------------------------------------|
        //|--------------------------------------------------|------------------------------------------------|
        //|--17^16-16-16-17^16-17^16-16-16-17^16-17^16----16-|-19^16----16-19^16-19^16---16-19^16-19^16----17-|
        //|--------------------------------------------19----|-------17----------------17---------------17----|
        //|--------------------------------------------------|----------------------------------------------

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

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

@overtone: Обычно объекты называются неизменный, если их нельзя изменить на месте. Например, строки неизменяемы в Java: если вы хотите изменить какой-либо символ, вы должны скопировать всю строку в процессе. Вы не можете изменить существующую строку. В этом примере неизменяемость просто означает, что интерфейсы фиксированы и ни в коем случае не могут быть изменены.

Felix Dombek 24.08.2011 03:29

/* This is a replica of a horrible hack - many moons ago, the legacy PortfolioServer was modified to return cash trades in an "optionTrade" block, because the client side developer was too lazy to get their XPaths right. Their laziness echoes through the ages, and means we need a similar hack here...*/

//uncomment the following line if the program manager changes her mind again this week

public static final void attachListener(Object listener) {

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

// This does nothing, continue searching

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

...

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

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

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

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

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

Мне действительно нравится тег 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;
    }

//Time log says you've been here for 15 hours GO HOME, your code is hobo

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

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

'I hate nested regions and will delete them along with any code found in them.

Одевают. Вы сломали сборку, а не я.

tsilb 20.11.2009 07:50

@tsilb - это был не мой комментарий - это был мой любимый комментарий, который я видел в коде в ответ на заданный вопрос :)

Jim Evans 20.10.2010 23:36

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

public boolean getDirty (String MAC) // not as fun as it sounds

Tweet tweet = (Tweet) tweets.get(i); // Poetic.

Приведенный ниже код был замечен в учебном пособии по 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. ^ _ ^

Сначала я подумал о цельнометаллической оболочке :)

Michael Stum 24.04.2009 13:52

FMJ тоже была моей первой мыслью. Почему Гриффины?

dr Hannibal Lecter 22.05.2009 00:07

Они подделали это. Более свежие воспоминания и все такое.

canadiancreed 09.10.2009 22:47

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

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

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

У нас был групповой проект по созданию ИИ 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.)

Вы счастливчик. Мне также пришлось создать ИИ Connect4, используя деревья Min-Max. Соло. Без образца кода. Моим наставником был ТА, который скоро получил высшее образование, поэтому он немного поленился ...

muusbolla 10.07.2009 21:58

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

// TODO: Need some codemonkey to doc comment this class.

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

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

Ну вот такой у меня просто совершил:

/* 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 и заработать немного денег. Однако этот человек не я.

Будь я проклят ... этот домен взят!

Bobby 02.10.2010 02:15

// need a coffee to fix this.

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

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

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

//I'm sorry, but our princess is in another castle.

//too much log will kill you

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

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

# ===== Never edit below this line. Ever. Or I'll kick your ass. ====

+1, потому что он не заслуживает -1

samoz 11.06.2009 16:13

//
//3.4  JeK  My manager promised me a lap dance if I can fix this release
//3.5  JeK  Still waiting for that dance from my manager
//3.6  JeK  My manager got changed, the new manager is hairy, dont want the dance anymore
//3.7  Jek  Got that dance, yuck!
//

Исправлять надоедливые ошибки - все равно что танцевать на коленях.

invert 26.08.2010 13:36

BEGIN.
// Here might be dragons
.
.
 IF...
 // Beware of the Jabberwocky
 .//user the force, luke
 .
 .
 ENDIF.
.
END.

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

// batmon.c drives the rastamobile

Технически это не комментарий, а от написания кода примерно в 2 часа ночи:

consent = False

... эта переменная никогда больше не используется НИКОГДА и появляется в начале цикла прослушивания для сокета.

Только 2 из 72? Мех, должно быть, это не ТАКАЯ ошибка.

Neil N 19.05.2010 01:42

// The following array may contain either TexturedObjects or ColoredObjects.
// I know, it sucks.

// Singleton object. Leave $me alone.
private static $me;

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

 # commented out
 ...
 ### end of the formerly uncommented #2001-02-22 John Doe

// no comments for you
// it was hard to write
// so it should be hard to read

Они должны были переместить «так» в предыдущую строку, чтобы сделать это хайку ...

David Oneill 23.10.2009 16:32

Я знаю компанию, где у "главного программиста" есть tesis: код должен быть трудночитаемым, потому что никто не должен трогать код, пока он / она полностью не поймет код.

TcKs 23.09.2010 18:47

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

Denis Kniazhev 31.12.2010 00:34

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

Thorbjørn Ravn Andersen 17.09.2011 13:28

// woot, global var. I havent done this for a long time.

// *** AAAAAHAHAHAH!!  What is this??


$you = live("free") or die("hard");

Когда я это прочитал, они сказали это в песне, которую я слушал в данный момент. Совпадение. (Желаю мне ангела - Nightwish.)

user142019 26.01.2011 19:04

# 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

Бьюсь об заклад, нет # Я обещаю отладить этот код, когда он неизбежно сломается

johnc 06.01.2011 06:13

TextBox1.Text = TextBox1.Text; //Point less yes, who writes this crap?

Между прочим, это не обязательно бессмысленно, но если это не так, то термин «дерьмо» не будет достаточно сильным. (Я написал такой код.)

reinierpost 18.03.2010 16:43

Если не без останова, то не бессмысленно.

Windows programmer 30.04.2010 12:18

Я думаю, кто-то хотел вызвать TextChanged

Wojtek Turowicz 25.07.2011 18:14

public boolean isDirty() {
    //Why do you always go out and
    return dirty;
}

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

Here V43 contains the Surname

Другие вопросы по теме