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

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

518 ответов

// 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.
2
ответ дан 2 revs, 2 users 96%Alex 23 November 2019 в 00:15
поделиться
// Jay knows what's going on here, but will he remember in a year? Not very likely, this code sucks, but it works so do not change it.

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

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

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

if (scroll and noScroll) # or tea and no tea
2
ответ дан 2 revs, 2 users 80%anon 23 November 2019 в 00:15
поделиться

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

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

2
ответ дан 2 revs, 2 users 50%D N 23 November 2019 в 00:15
поделиться
/*************************** Drag And Drop Section - Start (you should be me to mess with this section)*********************************************/
2
ответ дан 2 revs, 2 users 67%TariqKhanani 23 November 2019 в 00:15
поделиться
Get This hack!

На строке ассемблерного кода, после страниц непрокомментированного кода.

2
ответ дан 2 revs, 2 users 89% 23 November 2019 в 00:15
поделиться
-- Beyond this point, there'll be dragons

я нахожу его более привлекательно иллюстративным с более длинным ^^

высказывания
2
ответ дан 2 revs 23 November 2019 в 00:15
поделиться
//Please comment on your source code
2
ответ дан 23 November 2019 в 00:15
поделиться
private int mousycounter = 0; //Not really a counter
2
ответ дан 23 November 2019 в 00:15
поделиться

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

If bFound Then
     'I love it when I write kick ass code like this
Else
  .
  .
2
ответ дан 23 November 2019 в 00:15
поделиться

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

// 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!
2
ответ дан 23 November 2019 в 00:15
поделиться
/*
    FIXME:  why the fuck did anyone ever think this kind of expensive iteration
                    was a good idea?
2
ответ дан 23 November 2019 в 00:15
поделиться

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

# insert this handy debugging line wherever you have problems
#R$*                $:$>99$1
2
ответ дан 23 November 2019 в 00:15
поделиться
DataRow[] foundrows = FilterCalendarEntriesBecauseDotNETIsFuckedUp(tbtemp,CalDate);

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

2
ответ дан 23 November 2019 в 00:15
поделиться
// TODO: Delete
2
ответ дан 23 November 2019 в 00:15
поделиться

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

// fix it!
2
ответ дан 23 November 2019 в 00:15
поделиться
'Major changes: Everthing! - Removed all Cornoud's code !
2
ответ дан 23 November 2019 в 00:15
поделиться
'I hate nested regions and will delete them along with any code found in them.
2
ответ дан 23 November 2019 в 00:15
поделиться

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

/* I don't know how you can ever get here so I'll have to fix it later */
2
ответ дан 23 November 2019 в 00:15
поделиться

Я обнаружил, что

// This is a kind of magic...
2
ответ дан 23 November 2019 в 00:15
поделиться
// if the resultMap size is less than or equal to zero
// then the product is added
if (resultMap.size() <= 0)
2
ответ дан 23 November 2019 в 00:15
поделиться

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

  1. Слияния N-Way не очень распространены. Мы придумали некоторые соглашения об именах ветвей, которые позволяли нам писать сценарии, которые облегчили процесс «разработки релизов» (я использую страшные кавычки, потому что у нас не было инженера релизов), и люди создавали частные ветви функций, но мы редко возникла проблема с объединением более двух ветвей (см. следующую).
  2. (и № 3). У нас был центральный репозиторий на сервере разработки по трем причинам: (a) Машина разработки имела RAID5 (более отказоустойчивый) и ночные резервные копии (рабочие станции dev не работали ночью), (б) производственные выпуски были построены на сервере разработки, и (в) наличие центрального репозитория упрощенных сценариев. В результате N-way слияния просто не произошло. Самое близкое, что у нас было к N-way, это когда кто-то сливался в боковом направлении, а затем в вертикальном.

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

Обновление: наши соглашения были в основном такими:

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

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

Обновление : любой, кто следит за такими вещами, уже знает об этом, но Винсент Дрейссен написал твердое и довольно всеобъемлющее (но не исчерпывающее) исследование ветвления и выпуска с использованием Git . Я настоятельно рекомендую использовать его процесс в качестве отправной точки, потому что по двум причинам:

  • многие команды делают это таким образом или используют какой-то близкий вариант (включая Linux, Git и многие другие команды проекта OSS), что означает этот метод был протестирован и настроен для достижения успеха в большинстве случаев. Вы вряд ли столкнетесь с проблемой, с которой не сталкивались и не решали в рамках ограничений этой модели.
  • Из-за вышеизложенного, почти любой инженер с опытом работы с Git поймет, что происходит. Вам не нужно будет писать подробную документацию о фундаментальной природе вашего процесса выпуска; ты'
2
ответ дан 23 November 2019 в 00:15
поделиться

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

// TODO: Need some codemonkey to doc comment this class.
2
ответ дан 23 November 2019 в 00:15
поделиться

Приведенный ниже код был замечен в учебном пособии по 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. ^ _ ^

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

Из 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). */
2
ответ дан 23 November 2019 в 00:15
поделиться
// now that's compact!
list->insert(list->end(),**pitch)->IdxOfSample=(pitch->pos-Offset)*SamplingRate;
2
ответ дан 23 November 2019 в 00:15
поделиться
%%return_median
hit_the_sweet_spot(Arg)->
.
.
2
ответ дан 23 November 2019 в 00:15
поделиться

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

// Иисус и этот код имеют одну общую черту: оба были воскрешены

2
ответ дан 23 November 2019 в 00:15
поделиться
// for 8 or 12 threads this does not affect much.
// Strange are the situations if not understood properly.
// Yoda strikes again

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

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

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

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

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

...!

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

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