- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
TBufferPipe* buffPipe = new TBufferPipe();
ASSERT(buffPipe->Open(1, 1024))
try
{
buffPipe->~TBufferPipe();
ASSERT(true);
}
catch(...)
{
FAIL("\n\tBuffer Pipe Destructor failed\n");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 5
−15
TBufferPipe* buffPipe = new TBufferPipe();
ASSERT(buffPipe->Open(1, 1024))
try
{
buffPipe->~TBufferPipe();
ASSERT(true);
}
catch(...)
{
FAIL("\n\tBuffer Pipe Destructor failed\n");
}
Из юнит-тестов к проекту по пересжатию мобильного трафика одной иностранной компании.
Проверка на то, что с буфером всё в порядке.
−4
static Singleton * g_pInstance = NULL;
Singleton* Singleton::sharedInstance()
{
if (g_pInstance)
return g_pInstance;
else {
g_pInstance = new Singleton();
if (g_pInstance->init()) {
return g_pInstance;
} else {
delete g_pInstance;
g_pInstance = NULL;
}
return g_pInstance;
}
}
Ещё из жизни синглтонов. Даёшь больше return'ов!
+16
// in .h file
class Singleton
{
public:
Singleton();
~Singleton();
private:
static Singleton* m_Instance;
friend Singleton& GetInstance();
};
inline Singleton& GetInstance()
{
assert(Singleton::m_Instance);
return *Singleton::m_Instance;
}
// in .cpp file
Singleton* Singleton::m_Instance = NULL;
Singleton::Singleton()
{
assert(!m_Instance);
m_Instance = this;
}
Singleton::~Singleton()
{
m_Instance = NULL;
}
Вот такую реализацию синглтона увидел в одном проекте.
ЗЫ: Для его корректной работы, в main было написано конечно же:
main() {
Singleton* s = new Singleton;
...
delete s;
}
+8
void SaveEncryptedFile( const char *text, int len, const char* filename )
{
char* pEncryptedText = new char[strlen(text)+1];
string x1 = "you'll";
string x2 = "never";
string x3 = "get a";
string x4 = "password";
char l_pBuf[255];
sprintf(l_pBuf,"%d",30*11/3);
string result = x1+x2+x2+x1+l_pBuf+x3;
encryptString(text,pEncryptedText,result.c_str(),strlen(text),result.length()); // там внутри xor
FILE* pFile = fopen(filename, "wb");
if (pFile)
{
fwrite(pEncryptedText,sizeof(char),len,pFile);
fclose(pFile);
}
delete[] pEncryptedText;
}
Нашёл в рабочем проекте. Для "расшифровки" файла используется ещё одна такая же функция.
+174
const char * strtime(const time_t * t){
tm tt;
const int dt_len = 60;
char str_dt[dt_len];
localtime_r(t, &tt);
strftime(str_dt, dt_len, "%d.%m.%Y %H:%M:%S", &tt);
std::string str(str_dt);
return str.c_str();
}
Код, как ни странно, работал несколько лет, пока проект не трогали и байты не сместились. Неудивительно, что код вместо времени стал возвращать имя функции, из которого вызывался.