- 1
- 2
- 3
- 4
while(!pVec.empty())
{
pVec.pop_back();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+48.5
while(!pVec.empty())
{
pVec.pop_back();
}
Сей артефакт остался в коде ввиду лености переписывать его в 100 файлах сразу после удаления того, ради чего собственно затевался while(!pVec.empty()) ... прямо скажем - отлов ЭТОГО занял немало времени и нервов... тк на первый взгляд оно должно... а что ты видишь в этом коде, %юзернейм% ?
+50.7
namespace inter {
template<typename X>
struct tplClass {
private:
X _priv;
public:
tplClass(const X _generator) {
this->_priv = _generator;
return;
}
tplClass(const tplClass<int>& _a) {
this->_priv = _a.get();
return;
}
const X get(void) const {
return this->_priv;
}
};
template<typename X>
const tplClass<X> operator+(const tplClass<X>& _lha, const tplClass<X>& _rha) {
return tplClass<X>(_lha.get()+_rha.get());
}
}
int main(int argc, char* args[], char* envs[]) {
tplClass<int> a(5);
tplClass<double> b(3.1);
tplClass<double> c = a + b;
return 0;
}
1. Всё упрощено до невозможности. Описано только то, что необходимо для узрения говнокода.
2. Несмотря на то, что решение существует в очень известной книжке, я напоролся на говнокод лично, пока программу писал. Искал несколько дней проблему... Ну да... Бывает...
3. Говнокод заключается в том, что данный код не компилируется.
P.S. Если видите, что где-то есть дыра, то говорите, возможно я опечатался (злобная администрация исправить не даст), возможно в данном коде плюг опущен, возможно дыра у меня в голове. Конструктивная критика приветствуется.
P.P.S. Если вы решили просто написать, что (C++ == "говно") is true , то, пожалуйста, прошу вас как людей порядочных и воспитанных, имеющих совесть и ум, пройдите мимо. Если у вас нит ни ума, ни совести, ни порядочности, то можете писать про "естественную говнистость" C++, милости прошу.
+66.8
// Найдено глубоко в продакшн-коде некоего транслятора:
HRESULT hr = S_OK;
try {
hr = ParseSection(sourceTemplate, output, CS_IF);
}
CATCH_CG_EXCEPTION(this, hr)
CATCH_CG_EXCEPTION_END
// далее смотрим определения этих чудо-макросов
#define CATCH_CG_EXCEPTION(gen, hr) \
catch (CHierCGException* e) { \
(gen)->WriteExceptionMessage(e); \
if (e->m_bContinue) { \
if (e->m_useHRESULT) hr = e->m_hResult; else hr = E_FAIL; \
} \
delete e; \
if (!(e->m_bContinue))
#define CATCH_CG_EXCEPTION_END \
throw; \
}
Исключительно говнистая обработка исключений :-)
+68
char *GetNumRenderedObjectsString() { char *mString = new char [128]; itoa (mNumRenderedObjects, mString, 10); return mString; };
char *GetNumDiscardedObjectsString() { char *mString = new char [128]; itoa (mNumDiscardedObjects, mString, 10); return mString; };
Отличная работа с памятью.
+66.7
mNewFrame->SetName (new char [MAX_TOKEN]);
strcpy (mNewFrame->GetName(), mXFrame->Attribute("name"));
Умелая работа со строками....
+56.3
bool a,b;
...
if(a>b)
{
...
Увидел в одной либе... Си++ странный язык. Паскаль проще...
1)Скомпилируеться ли?
2)Что это значит?
+61.8
const int size=8;
class Bin
{
public:
Bin();
private:
char first[size];
char second[size];
};
Bin::Bin()
{
for (int s=0;s<=size;s++, first[s]='0');
}
Вот вам смешно? А я пару часов думал почему при заполнении одного вектора меняется другой...
+56.1
UINT aScrollMode = 0;
m_pScrollH->GetInfo(&aScrollMode, 0, 0);
if (!(aScrollMode & M_INVISIBLE))
{
...
}
Рефакторю довольно большой проект (5 Мб исходников). Единственный способ спросить у контрола (любого из имеющихся) привожу выше.
+63.6
class WordCount{
private:
string _t;
vector <int> _w;
int wc(){
string tw;
int s = 0;
for(int i = 0; i < _t.size(); ++i){
if(_t[i] == ' '){
tw.clear();
for(int j = s;j < i;++j){
tw += _t[j];
}
size_t z = 0;
for(int k = 0; k < i - s; ++k){
int jj = 1;
for(int d = 0; d < k; ++d)
jj *= 10;
z += jj * static_cast<int>(_t[k]);
}
bool sa = true;
for(int az = 0; az < _w.size(); ++az)
if(_w[az] == z) sa = false;
if(sa)_w.push_back (z);
s = i+1;
}
}
if(s < _t.size() ){
size_t z = 0;
for(int k = s;k < _t.size();++k){
int jj = 1;
for(int d = 0; d < k; ++d)
jj *= 10;
z += jj * static_cast<int>(_t[k]);
}
bool sa = true;
for(int az = 0; az < _w.size(); ++az)
if(_w[az] == z) sa = false;
if(sa)_w.push_back (z);
}
return _w.size();
}
public:
int WordCount(string text){
_t = text;
return wc();
}
};
Клас, который должен был подсчитывать кол-во уникальных слов в строке.
Наслаждайтесь, господа!
+63.4
void RoomFactory::roomCreated(Siis::Room* room,bool created)
{
if(!created)
{
rooms_.remove(room->peer()->jid().bare());
delete room;
}
}
Не индус...