- 1
- 2
_defaultLog
#include "stdafx.h"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+54
_defaultLog
#include "stdafx.h"
Это первые две строчки в C++ файле. Сам файл включен файл проекта. Ошибок компиляции нет. Сегодня удалю эту первую строку. В комментариях к комиту с этим изменением в свн написано: "Исправление дидлока".
+56
bool XIsEmptyString( LPCTSTR str )
{
CString s(str);
s.TrimLeft();
s.TrimRight();
return ( s.IsEmpty() || s == _T("") );
}
Кажется разработчика настиг приступ паранойи.
Взято из библиотека XMLite
+155
if (!self.options.cat_main) {
counter = self.renderSingleGame(game_id, cat, cat.name, counter);
} else if (cat_id === self.options.cat_main) {
counter = self.renderSingleGame(game_id, cat, cat.name, counter);
}
гениально!
+51
class PrimitiveList : public QList<Primitive>
{
public:
using QList<Primitive>::QList;
PrimitiveList mid(int pos, int length = -1) const
{
auto &&list = QList<Primitive>::mid(pos, length);
return static_cast<PrimitiveList&&>(list);
}
};
Необычное использование move семантики.
+158
<span class="n2"><?//$productAttr
if ($cpage->title == 'Поршневой насос') {
echo $cpage->title;
}
else {echo $nm." ".$cpage->title; }?></span>
if(isset($productA) && !empty($productA)){
echo '<span class="tehno" style="font-size:12px; text-align: left; heifht:90px;">';
foreach($productA as $k => $v){
if($v['product_id']==$cpage->id){
if(!empty($v['ProductAttrValue'])) {
if ($v['AttrName'] == 'Вес') { $prep = 'кг'; }
else if ($v['AttrName'] == 'Дальность подачи по горизонтали') { $v['AttrName'] = 'Дальность подачи'; $prep = 'м'; }
else if ($v['AttrName'] == 'Производительность') { $prep = 'м3/ч'; }
else if ($v['AttrName'] == 'Высота подачи') { $prep = ''; }
echo $v['AttrName'].': '.$v['ProductAttrValue'].' '.$prep.'<br>';
}
}
}
echo '</span>';
}
И такого кода по всему проекту ооооооочень много =(
+98
class CSVSave
{
char separator = ';';
public void SaveCSV(string pathfile, IEnumerable<Product> list )
{
using (var sw = new StreamWriter(pathfile, false, Encoding.GetEncoding(1251)))
{
foreach (var prod in list)
{
string line =
prod.Manufacturer + separator +
prod.Name + separator +
prod.Type + separator +
prod.Url + separator +
prod.Imgurl + separator +
prod.Sex + separator +
prod.Volume + separator +
prod.Box + separator +
prod.Price + separator +
prod.availability + separator +
prod.Desk;
if ((prod.Family != null) || (prod.QuantityPurchased != null) || (prod.Application != null) || (prod.Flavornotes != null) || (prod.Production != null)) line += separator;
if (prod.QuantityPurchased != null) line += prod.QuantityPurchased + separator;
if (prod.Family != null) line += prod.QuantityPurchased + separator;
if (prod.Production != null) line += prod.QuantityPurchased + separator;
if (prod.Application != null) line += prod.QuantityPurchased + separator;
if (prod.Flavornotes != null) line += prod.QuantityPurchased + separator;
line=line.Trim(separator);
sw.WriteLine(line);
}
sw.Close();
}
}
}
+149
var_dump(0); // int(0), OK
var_dump(0x0); // int(0), OK
var_dump(00); // int(0), OK
var_dump(0.0); // double(0), OK
var_dump(0.0e1); // double(0), OK
var_dump(0e1); // double(0), WTF?
PHP воспринимает экспоненциальную нотацию как double, будьте начеку
+136
/* To the unenlightened: This sets the 20 MSBs to 0 for sanity's sake. */
return four_bytes_to_uint32(four_byte_array) & ~(~0 << 12);
Так приказали K&R.
+133
if (wParam == MI_CMDLINEBEGIN)
return xstrcpyW((void *)lParam, wpCmdLineBegin);
if (wParam == MI_CMDLINEEND)
return xstrcpyW((void *)lParam, wpCmdLineEnd);
if (wParam == MI_SHOWMODIFY)
return moCur.dwShowModify;
if (wParam == MI_STATUSPOSTYPE)
return moCur.dwStatusPosType;
if (wParam == MI_STATUSUSERFORMAT)
return xstrcpynW((void *)lParam, moCur.wszStatusUserFormat, MAX_PATH);
if (wParam == MI_WORDBREAKCUSTOM)
return moCur.dwWordBreakCustom;
if (wParam == MI_PAINTOPTIONS)
return moCur.dwPaintOptions;
if (wParam == MI_EDITSTYLE)
return moCur.dwEditStyle;
if (wParam == MI_RICHEDITCLASS)
return moCur.bRichEditClass;
if (wParam == MI_AKELADMINRESIDENT)
return moCur.bAkelAdminResident;
if (wParam == MI_DATELOGFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateLogFormat, 128);
if (wParam == MI_DATEINSERTFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateInsertFormat, 128);
if (wParam == MI_AKELUPDATEROPTIONS)
return xstrcpynW((void *)lParam, moCur.wszAkelUpdaterOptions, MAX_PATH);
if (wParam == MI_URLCOMMAND)
return xstrcpynW((void *)lParam, moCur.wszUrlCommand, MAX_PATH);
if (wParam == MI_TABNAMEFIND)
return xstrcpynW((void *)lParam, moCur.wszTabNameFind, MAX_PATH);
if (wParam == MI_TABNAMEREP)
return xstrcpynW((void *)lParam, moCur.wszTabNameRep, MAX_PATH);
if (wParam == MI_ONTOP)
return moCur.bOnTop;
if (wParam == MI_STATUSBAR)
return moCur.bStatusBar;
if (wParam == MI_KEEPSPACE)
return moCur.bKeepSpace;
if (wParam == MI_WATCHFILE)
return moCur.bWatchFile;
if (wParam == MI_SAVETIME)
return moCur.bSaveTime;
if (wParam == MI_SINGLEOPENFILE)
return moCur.bSingleOpenFile;
if (wParam == MI_SINGLEOPENPROGRAM)
return moCur.dwSingleOpenProgram;
if (wParam == MI_TABOPTIONSMDI)
return moCur.dwTabOptionsMDI;
if (wParam == MI_EXECUTECOMMAND)
И такого больше сотни строк.
Akelpad.
+158
var result = {success: true};
var arr = sumParam(info, null, null, /<td[^>]+class="rate"[^>]*>([\s\S]*?)<\/td>/ig, replaceTagsAndSpaces, html_entity_decode);
//Доллар/Гривна
AnyBalance.trace(arr[0]);
AnyBalance.trace(arr[1]);
AnyBalance.trace(arr[2]);
AnyBalance.trace(arr[3]);
//Евро/Гривна
AnyBalance.trace(arr[4]);
AnyBalance.trace(arr[5]);
AnyBalance.trace(arr[6]);
AnyBalance.trace(arr[7]);
//Рубль/Гривна
AnyBalance.trace(arr[8]);
AnyBalance.trace(arr[9]);
AnyBalance.trace(arr[10]);
AnyBalance.trace(arr[11]);
result.USDpok = parseFloat(arr[2].replace(',', '.'));
result.USDpro = parseFloat(arr[3].replace(',', '.'));
result.EURpok = parseFloat(arr[6].replace(',', '.'));
result.EURpro = parseFloat(arr[7].replace(',', '.'));
result.RUBpok = parseFloat(arr[10].replace(',', '.'));
result.RUBpro = parseFloat(arr[11].replace(',', '.'));
AnyBalance.setResult({
success: true,
USDpok: result.USDpok,
USDpro: result.USDpro,
EURpok: result.EURpok,
EURpro: result.EURpro,
RUBpok: result.RUBpok,
RUBpro: result.RUBpro
});
Провайдер для одного балансового приложения, я просто не сдержался, пришлось даже зарегистрироваться)