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

360
задан 14 revs, 11 users 61% 17 September 2011 в 14:54
поделиться

518 ответов

Санированный:

//Forward declarations:

class X {}; // TODO: Remove {}  ! When we get X defined....
1
ответ дан 2 revs, 2 users 80% 23 November 2019 в 00:15
поделиться
if(count<0) count=0;    //don't get me wrong but this has to be done :p
1
ответ дан 2 revs, 2 users 67%TariqKhanani 23 November 2019 в 00:15
поделиться
'this next if statement - just how it is. don't try to understand it because you won't. :)

Это - обеспеченность работой тут же.

1
ответ дан 2 revs, 2 users 80% 23 November 2019 в 00:15
поделиться

Имел программиста, работающего на меня, после того как тот помещенный "Стиль" комментирует всюду по его коду, где он шифровал свои внутренние дебаты о конкретных деталях реализации и взять последние слова на прощанье, когда он был отвергнут на конкретном решении кодирования.

Примеры:

'СТИЛЬ 'Это спорно, который лучше, но я передаю дескриптор изображения, а не просто 'передачу масштабирующихся значений для хранения кода вызова более простым ('несколькими операторы объявлений). С другой стороны, я мог передать эти данные 'участники непосредственно из кода вызова, но это нарушит инкапсуляцию.

'СТИЛЬ, 'Поскольку я сделал в другом месте, я буду регистрироваться, мой официальный протест (просто дают мне 'формы для заполнения) относительно реализации сериализации аннотации, поскольку 'свойство, а не пара Загружает/Сохраняет методы. Снова, это - вероятно, 'вопрос стиля и чрезвычайно спорный.

1
ответ дан JohnFx 23 November 2019 в 00:15
поделиться

Найденный этим недавно в нашем коде (мы разрабатываем программное обеспечение предприятия):

// Instance of excel
Excel excel = this.CreateExcelInstance();
excel.Open(stream); // how to close it?!

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

1
ответ дан User 23 November 2019 в 00:15
поделиться
// 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
1
ответ дан Andreas 23 November 2019 в 00:15
поделиться

Я когда-то реализовал некоторый рабочий процесс документа с помощью Разработчика SQL Server MS 2000 (человеческий материал рабочего процесса).

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

В одном из триггеров, кто-то в Microsoft записал что-то вроде:

//Determine if the database has been "Grizzlified"

(Внутреннее название продукта было "Серо", таким образом, я думал, что это было забавно).

1
ответ дан Sam Schutte 23 November 2019 в 00:15
поделиться

От Joomla! источник:

// fudge the group stuff
1
ответ дан 3 revs, 2 users 78% 23 November 2019 в 00:15
поделиться

// Description : !!! TODO

1
ответ дан Nicolas 23 November 2019 в 00:15
поделиться

Когда-то в начале 1980-х мы писали финансовый код моделирования для утилит в PL/I. Получил вызов от клиента с кодом, аварийно завершающимся прямо после комментария

/* Honest this works */

, парень взял наш стандартный набор финансовых уравнений и сделал приблизительно 15 страниц алгебры для объединения набора кода в одно уравнение. После Три-Майл-Айленд, когда утилиты должны были списать свои атомные станции по огромным затратам уравнение, отказавшее из-за ФИКСИРОВАННОГО МУСОРНОГО ВЕДРА 15 (целочисленного) переполнения, которого не будет происходить, если бы алгебры не произошло.

1
ответ дан 2 revs, 2 users 80%sagavia 23 November 2019 в 00:15
поделиться
/* Hammer Time! */

я понятия не имею, почему или носил ли он штаны парашюта из рипстопа при записи кода

1
ответ дан John Channing 23 November 2019 в 00:15
поделиться

Около вершины единицы:

// Oh what a tangled web we weave
// When first we practice to deceive
// ASTA
1
ответ дан Jim McKeeth 23 November 2019 в 00:15
поделиться

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

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

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

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

1
ответ дан Gordon Mackie JoanMiro 23 November 2019 в 00:15
поделиться
// GK Experimental

(GK, являющийся инициалами кодера)

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

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

1
ответ дан Gabriël 23 November 2019 в 00:15
поделиться
Fix problem where Nulls don't work properly.  Stupid Microsoft!

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

1
ответ дан Paul Coddington 23 November 2019 в 00:15
поделиться

В 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);
}
1
ответ дан Esko Luontola 23 November 2019 в 00:15
поделиться

Я наследовал проект, который haad поставил клиенту без любого UAT. Это был dropkicked по забору и деньгам, которые требуют.

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

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

, Когда я стал встроенным, код был пропитан такими драгоценными камнями как:

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

и

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

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

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

1
ответ дан Rob Wells 23 November 2019 в 00:15
поделиться

я просто заметил меня, пишущий это

// not brilliant solution, but fair enough heh.
1
ответ дан Kasper 23 November 2019 в 00:15
поделиться

вот 4 ни в каком порядке:

// Father, forgive me, for I am sinning

// heaven help me

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

// what, me worry?
1
ответ дан Michael Easter 23 November 2019 в 00:15
поделиться

Хороший в 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
1
ответ дан hmcclungiii 23 November 2019 в 00:15
поделиться
// Sorry dirty code
1
ответ дан Amr Elgarhy 23 November 2019 в 00:15
поделиться

Когда я комментирую блоки кода, что я ДУМАЮ, больше не полезны, но я мог бы быть неправ относительно (следовательно не удаление их), я буду иногда снабжать их предисловием с

// Wilted celery?

Причем идея состоит в том, что это похоже на сельдерей, который поникается, но Вы откладываете его в холодильнике так или иначе. Я просто знаю, что 10 лет с этого времени кто-то еще найдет эти комментарии и скажет WTF?

1
ответ дан Brian Postow 23 November 2019 в 00:15
поделиться
else
{
    //error situation
}
1
ответ дан Elroy 23 November 2019 в 00:15
поделиться
#pragma region Crap that is kept for temporary reasons

    //  Huge chunk of commented code

#pragma endregion
1
ответ дан Elroy 23 November 2019 в 00:15
поделиться

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

I have no idea what this stuff does below here.

Другой программист оставил серию вложенных пространств имен, которые действовали как which-way-book, так, чтобы Вы могли развернуть в пространства имен в идее и выбрать свои действия.

1
ответ дан AaronLS 23 November 2019 в 00:15
поделиться

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

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

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


---------------------------------------------------

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

1
ответ дан Rosuav - Chris Angelico 23 November 2019 в 00:15
поделиться
/* Look not upon this file lest your eyes be burnt from your head. */

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

1
ответ дан Bob Cross 23 November 2019 в 00:15
поделиться

У меня нет копии источника, но я всегда запоминал ее:

// Если вы не можете понять это, вы не должны читать это

1
ответ дан 23 November 2019 в 00:15
поделиться

// Нижеследующий код необходимо закомментировать.

2
ответ дан 23 November 2019 в 00:15
поделиться
// simply copied from another code
2
ответ дан 23 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: