#define SHIT_HAPPENED (BASE + 1) /* generic shit happened */
//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. :-)
# let's pretend we are free, for a while
Найденный этим перед классом. То, что следовало, было (наивной) попыткой реализовать ORM. Я все еще не понимаю, почему он записал это.
try
{
...
}
catch(Exception ex)
{
//if this happens the world is going to end...
}
теперь предположение, что произошло...
Для кэш-памяти обертка/обработчик соединяет интерфейсом с классом шаблона, который я записал, мне реализовали следующий метод.
/**
* Do not use, ever - left in place for testing purposes
*/
function I_David_WillHuntYouDownAndHurtYou_Badly_IfIFindThisUsedAnyWhereInTheAppLibrary(){
...
}
Это было в основном супер функцией уничтожения, чтобы сказать всем indvidual сервисам кэш-памяти полностью сбросить себя и запуститься с отдельных счетчиков пространства имен, которые я использовал для ключей (напр. {_counter_key значение} _. {_counter_key значение})
Другая незначительная новелла, которую я записал, была для автоматизированного загрузчика для поставщика данных, детализируя, насколько я ненавидел этого поставщика и пошел на многое постулирования, что пакетная система их инфраструктуры была выполнена песчанкой, работая на колесе и после такого количества оборотов колеса, следующая задача с очередями будет запущена. Это было записано в течение 6 месяцев добавления дополнительной обработки исключений, estoric проверки как (если мы получили 768 байтов \s символов, который значит запрос для их приведенного к таймауту DB, и пробелы являются результатом пустых операторов печати отказа.
Для одного проекта у нас был pwlib как зависимость, и в то время это - порт FreeBSD, был несколько завинчен так, я должен был создать его вручную из источника. Это не удалось сразу же, и я должен был изучить код; была некоторая сложная иерархия классов с частями кода, сгенерированного макросами и его родительским объявлением класса, запущенным с
// The root of all evil ... umm classes
Что-то, что я видел в программе КОБОЛа, которая парализовала меня со страхом
* All comments pertain to the lines which follow.
, Что это означает?
Кому-то было так неудобно с комментарием, что они должны были записать метакомментарий?
Кто-то имел привычку помещать комментарии ниже соответствующие нормы и был сказан поместить комментарии выше? Как это происходило?
Что-то я видел в.h файле несколько лет назад.
// It may be a hack, but it works.
Это было [только 111] комментарий, мы нашли в продукте смарт-карты что предыдущий работодатель выкупленный. Загрузка встроенного C и ассемблера, записанного набором голландской криптографии PhDs
// echt halmaal gek - no way!
(Это означает что-то как "действительно абсолютно глупый"..., который не помог нам ни один)
Я просто нашел этого в пользовательском поставщике 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
Несколько лет назад я работал в большой кодовой базе, которая не имела никакого поблочного тестирования для разговора о.
был метод, проложенный под землей глубоко в коде, который выполнил некоторые календарные вычисления. Это было несколько повреждено, должен был иметь дело с переходом на летнее время очень неуклюжим способом из-за некоторых неудачных обстоятельств.
Мы должны были зафиксировать его пару раз, и каждый раз, когда мы найдем что-то поврежденным спустя несколько месяцев после этого.
После пребывания в течение целого дня, фиксируя его и анализируя его, я поместил код в управление исходным кодом, наряду с комментарием, в котором было сказано что-то вроде этого:
// 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}
В конечном счете, моя команда была привлечена со стороны. В некоторые дни интересно, что произошло с этим кодом:)
Найденный в основном триггере кодируют для транзакций в базе данных 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
первая строка функции JavaScript:
// this part is more difficult
WTF?
// this is really complicated
без других комментариев
Это не строго говоря комментарий, но...
Это была середина 1990-х, и я работал над большой миграцией: маленький поставщик программного обеспечения, большой клиент, большое давление. У нас было много материала стойки ворот смещения; проектом было очень трудно управлять. Я был ключевым разработчиком, но в новинку для системы, и другой разработчик был владельцем/основателем поставщика.
После нескольких месяцев не совсем создания крайних сроков и не совсем удовлетворяющий клиент, владелец/основатель навлек другого разработчика, который работал удаленно. (Я собираюсь рисковать и говорить, что у нового разработчика были меньшие навыки и опыт, чем я.)
ну, новый парень внес некоторые изменения в коде, что я уже продолжил работать, и затем месяц, или два позже я вернулся в той же области кода, и были переменные, которые я не видел прежде. С именами как StupidMark
.
Чувак, это просто не правильно. Я имею в виду, существуют соображения работы в команде, но также и: в этой среде имена переменной могут обнаружиться в сообщениях об ошибках периода выполнения. я просто говорю.
, По-моему, в то время, код нового парня не получал нас намного ближе к поставляемому продукту так или иначе, который заставил оскорбление ужалить немного больше.
в конце довольно длинного и замысловатого набора циклов с условием продолжения и если блоки, рассматриваемый разработчик вставил этот заключительный комментарий:
else
{
// wobbly wilson said this would *never* happen!!
}
лаконичная смесь остроумия и сарказма:)
// Empty constructor to satisfy the stupid compiler
Public ServletHandlerClass () { }
BerkeleyDB
/*
* Chaos reigns within.
* Reflect, repent, and reboot.
* Order shall return.
*/
return (DB_RUNRECOVERY);
Посмотрите этого:
'On Error Goto Hell.
//FIXME: fix this before the 1.0 release
они были на версии 4
Я плакал, когда читал эту статью в проекте Мне дали поддержать.
//Write Code Here
Я все еще съеживаюсь:)
// 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();
//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
/*
* 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
*/
From an absolutely lovely project I worked on up until recently (yes, I admit, some of those are mine, but I won't tell you which):
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...
What he meant was that he's splitting the string by carriage returns to render separately.
// unlock shit (duh, this comment is useless)
pixelBuffer->unlock();
// :HACK: remove me after demo is shipped
Of course, it's still in there ;)
// it's 4am and I can't think of a decent error message.
// my lead just fell asleep at his desk, so I can't ask him.
// [name] went home because he didn't want to get divorced.
// and so it's little ol' me, sitting here, comin up with an
// error message for something that should never ever happen.
ASSERT0(in_len == max_in, "http://www.youtube.com/watch?v=oHg5SJYRHA0");
// you want hungarian, you GET hungarian!
for(int fcknglpidxcntvrI = 0; fcknglpidxcntvrI < len; fcknglpidxcntvrI++)
bool bKillSomethingAlive = false; // beating the dead horse instead
Of course, we also have a nice collection of interesting ways to say "Hack":
// 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
// 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"; }
}
}
Как я люблю игру слов.