- 1
- 2
const void* const relay(const TrigClass& Overloading=*((TrigClass*)(NULpoter))){
if(&Overloading==NULpoter){
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+169
const void* const relay(const TrigClass& Overloading=*((TrigClass*)(NULpoter))){
if(&Overloading==NULpoter){
+188
typedef enum
{
FFALSE = 0,
TTRUE,
MMAYBE
} Truth_t;
ну почти квантовое программирование.
ЗЫ да, это из С++ программы.
+175
class BalanceValue
{
/* ... */
BalanceValue( int pFamilyGroupId,
int ContractId,
int pProfileId,
int pSncode,
long pPurchaseSeqNo,
int pBundledProductId,
time_t pCreationDate,
time_t pNextresetDate,
char pState,
double pAggregate,
double pCredit,
double pInitialCredit,
double pReservation,
char pColor,
double pProrateFactor,
int pCurrencyId,
int pUomId,
time_t pSnapshotDate,
unsigned long pSequenceNumber,
time_t pValidFrom,
time_t pValidTo,
int pPricingAlternative,
int pCocTariffId,
time_t pLastresetDate,
double pLateCallAggr );
/* ... */
void getAllValues( int& pContractId,
int& pProfileId,
int& pSncode,
long& pPurchaseSeqNo,
int& pBundledProductId,
time_t& pNextResetDate,
char& pState,
double& pAggregate,
double& pCredit,
double& pInitialCredit,
double& pReservation,
char& pColor,
double& pProRateFactor,
int& pCurrencyId,
int& pUomId,
time_t& pSnapShotDate ,
unsigned long& pSequenceNumber,
time_t& pValidFrom,
time_t& pValidTo,
int& pPricingAlternative,
int& pCocTariffId,
time_t& pLastResetDate,
double& pLateCallAggr );
/* ... */
};
чудо интерфейс. 25 параметров у конструктора, 23 параметров (рефернсы!) у геттера. кто больше?
ЗЫ как оба реализованы можете сами догадатся. и еще несколько других методов в подобном стиле.
ЗЗЫ да, есть и нормальные геттеры.
ЗЗЗЫ нет, другого конструктора нету.
ЗЗЗЗЫ нет, разнести значение по мелким структурам, более приемлимым человеческому мозгу, народ не догадывается. не наш так сказать стиль. (да, есть естественная групировка параметров по источнику откуда они берутся.)
+159
#include <math.h>
#include <iostream>
using namespace std;
void main()
{ int month,day;
cin>>month,day;
int den=1;
switch(month)
{ case 1: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<den;}
break;
case 2: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==28){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 3:cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 4:cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==30){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 5: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 6: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==30){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 7: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 8: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 9: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==30){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 10: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 11: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==30){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
break;
case 12: cout<<"month: "<<month<<endl<<"day: "<<day+1;
if(day==31){cout<<"month: "<<month+1<<endl<<"day: "<<den;}
}
cin.get();
cin.get();
}
+165
ASSERT(mStartSamples.size() == mFades.size() == mIsFadeIns.size() == inOutBlock->GetNumChannels());
ASSERT(iGainData.size() == mSizes.size() == inStartSamples.size() != 0);
Краткость - сестра таланта
+148
int getGKnumber()
{
return 7000;
}
просто гет :)
+153
if(FirstDot == 0 && LastDot == 0)
NoDots = true;
else
if(FirstDot != 0 && LastDot == 0)
throw gcnew System::Exception("Левый коррелятор начал работу, правый - нет.");
else
if(FirstDot == 0 && LastDot != 0)
throw gcnew System::Exception("Правый коррелятор начал работу, левый - нет.");
else
if(FirstDot != 0 && LastDot != 0)
if(FirstDot == LastDot)
NoDots = true;
else
NoDots = false;
else
throw gcnew System::Exception("WTF?");
Нужно определить, есть на графике точки или нет. Человек решил подстраховаться и рассмотреть все возможные (и невозможные) варианты.
+147
char c;
cin>>c;
if (c == 'a') cout<<'a';
if (c == 'b') cout<<'b';
if (c == 'c') cout<<'c';
//....
if (c == 'z') cout<<'z';
классика
+171
const_cast<TRefalAbstract*>(this)=new TRefal();
+171
// Файл settings.cpp
#define SETTINGS_READ
#include "Settings.h"
#undef SETTINGS_READ
#include "Settings.h"
#endif
// ----------------------------------
// Файл settings.h
#ifdef SETTINGS_READ
#define _XML_OPTION_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {/*XML.IntoElem();*/ XML.GetData(value); /*ShowVar(value);ShowVar(_CRT_WIDE(#name));*/ /* XML.OutOfElem();*/}
#define _XML_OPTION_ATTR(name,value) XML.GetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {XML.IntoElem();
#define XML_NODE_START_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {
#define XML_NODE_STARTS(name,value) if (XML.FindElem(name)) {
#define XML_NODE_START_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);XML.IntoElem();
#define XML_NODE_START_VALUE_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);
#define XML_NODE_END() \
XML.OutOfElem(); \
}
#define XML_OPTION_VALUE(name) _XML_OPTION_VALUE(name,name)
#define XML_OPTION_MEMBER_VALUE(prefix, name) _XML_OPTION_VALUE(name, prefix##.name)
#define XML_OPTION_ATTR(name) _XML_OPTION_ATTR(name,name)
#define XML_OPTION_MEMBER_ATTR(prefix, name) _XML_OPTION_ATTR(name, prefix##.name)
#define COLOR_TO_PINT(c) (*(int*)&##c)
#else
// SAVING MACROSES
#define _XML_OPTION_VALUE(name,value) XML.AddElem(_CRT_WIDE(#name),value) ; /*XML.OutOfElem();*/
#define _XML_OPTION_ATTR(name,value) XML.SetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) XML.AddElem(_CRT_WIDE(#name)); {XML.IntoElem();
// ( еще десяток макросов)
#endif
#ifdef SETTINGS_READ
bool CSettings::MacroLoadSettings(CMyXml &XML)
{
#else
bool CSettings::MacroSaveSettings(CMyXml &XML)
{
#endif
TCHAR szFont[1024];
CString Font;
XML_NODE_START(Settings);
XML_NODE_START(General);
XML_OPTION_MEMBER_VALUE(Settings,Language);
XML_OPTION_VALUE(ExplorerContextMenu);
#ifndef SETTINGS_READ
HotkeysStr= Settings.Hotkeys.toString();
FontToString(&LogoSettings.Font,Font);
#endif
XML_OPTION_VALUE(HotkeysStr);
#ifdef SETTINGS_READ
Settings.Hotkeys.DeSerialize(HotkeysStr);
StringToFont(Font, &LogoSettings.Font);
#endif
#endif
XML_NODE_END();
// ..............................................
XML_NODE_END(); // end of settings
XML_NODE_END(); //
return true;
}
Фееричный пример повторного использования кода с помощью директив препроцессора.
Создано с целью совместить в одном месте чтение/запись настроек программы (с риском что-нибудь забыть) из XML файла.