- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
struct base {
template <class Foo>
base() {}
};
struct derived {
derived()
: base::base<int>() // why not?? WHHYYYY?
{}
};
base b1 = base::base<int>();
base b2<int>();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+14
struct base {
template <class Foo>
base() {}
};
struct derived {
derived()
: base::base<int>() // why not?? WHHYYYY?
{}
};
base b1 = base::base<int>();
base b2<int>();
долбанный комитет
им проще запретить, чем продумать нормальный способ вызова шаблонного конструктора
+71
String currentDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date());
accountNumber.append(String.valueOf(1900 + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getYear()));
accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMonth()));
accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getDate()));
accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getHours()));
accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMinutes()));
accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getSeconds()));
ну а чо, зато внушительно выглядит
−110
- (void)shutdown {
...
// shutdown routine
...
[self retain];
dispatch_async(_decodeQueue, ^{
[self cleanup];
});
}
- (void)cleanup {
[self release];
}
Старый-добрый memory management.
Между прочим, код из платной библиотеки...
+7
template<typename T>
class Enumerable
{
public:
Enumerable() : enumerableInProcess(false) { };
virtual void begin() = 0;
virtual void end() = 0;
virtual bool enumeration(T* item) = 0;
protected:
bool enumerableInProcess;
};
template<typename T>
class List : Enumerable<T*>
{
public:
class ListItem
{
public:
friend class List;
T item;
ListItem(T item) : item(item), next(nullptr), previous(nullptr)
{
}
private:
class ListItem* next;
class ListItem* previous;
};
/* ... */
void begin()
{
if(enumerableInProcess) {
throw Exception("Error Enumerable!");
}
enumerableInProcess = true;
enumerationItem = first;
}
bool enumeration(T** item)
{
if(enumerableInProcess) {
if(enumerationItem != nullptr) {
(*item) = &(enumerationItem->item);
enumerationItem = enumerationItem->next;
return (true);
} else {
(*item) = nullptr;
return (false);
}
} else {
throw Exception("Error Enumerable!");
}
}
bool enumeration(ListItem **listItem)
{
if(enumerableInProcess) {
if(enumerationItem != nullptr) {
(*listItem) = enumerationItem;
enumerationItem = enumerationItem->next;
return (true);
} else {
(*listItem) = nullptr;
return (false);
}
} else {
throw Exception("Error Enumerable!");
}
}
void end()
{
if(!enumerableInProcess) {
throw Exception("Error Enumerable!");
}
enumerableInProcess = false;
}
private:
const int size;
int count;
ListItem *first;
ListItem *last;
ListItem *enumerationItem;
};
void list_t_1()
{
List<int> list(8);
List<int>::ListItem *item;
list.add(1);
list.add(2);
list.add(4);
list.add(8);
list.add(16);
list.begin();
while(list.enumeration(&item))
{
printf("%i\n", (item->item));
}
list.end();
}
+14
bool Item::IsBoundByEnchant() const
{
// Check all enchants for soulbound
for (uint32 enchant_slot = PERM_ENCHANTMENT_SLOT; enchant_slot < MAX_ENCHANTMENT_SLOT; ++enchant_slot)
{
if (enchant_slot > PRISMATIC_ENCHANTMENT_SLOT || enchant_slot < PROP_ENCHANTMENT_SLOT_0) // not holding enchantment id
continue;
if (uint32 enchant_id = GetEnchantmentId(EnchantmentSlot(enchant_slot)))
if (SpellItemEnchantmentEntry const* enchantEntry = sSpellItemEnchantmentStore.LookupEntry(enchant_id))
if (enchantEntry->slot & ENCHANTMENT_CAN_SOULBOUND)
return true;
}
return false;
}
Взял из эмулятора World of WarCraft Trinity 4.3.4 ветка.
Все говно в 6 строчке
PERM_ENCHANTMENT_SLOT = 0
MAX_ENCHANTMENT_SLOT = 15
PRISMATIC_ENCHANTMENT_SLOT = 6
PROP_ENCHANTMENT_SLOT_0 = 10
+123
if(elementNode != null) {
//attachGrowingEffectAnimation(elementNode);
String shadowMode = elementNode.getUserData(JMEScene3D.SHADOW_MODE);
if(shadowMode != null) {
if(shadowMode.equals(JMEScene3D.SHADOW_MODE_RECEIVE)) {
shadowNodesMap.put(ShadowMode.Receive, elementNode);
}
}
if(elementNode != null) {
pyElementsNode.attachChild(elementNode);
}
}
Ну правда, а вдруг сам по себе станет не null?
+135
public static string GetCommandLineParameter(string ParameterName)
{
ParameterName = ParameterName.ToLower();
string ParameterIdentifikator = ParameterName.ToLower() + "=";
string RetVal = null;
foreach(string Arg in Environment.GetCommandLineArgs())
{
string ArgLower = Arg.ToLower();
if(ArgLower.IndexOf(ParameterIdentifikator) == 0)
{
RetVal = Arg.Substring(ParameterIdentifikator.Length, Arg.Length - ParameterIdentifikator.Length);
return RetVal;
}
}
return RetVal;
}
читаем параметры из командной строки
+47
# GET /dialog([0-9]+)
Public Static Function Dialog($senderId){
$user = Session::Restore();
IF($user){
$users = Collection::Get('users', 'UserModel');
$sender = $users->Find( Query::Equal('id', $senderId) );
IF(sizeof($sender) > 0){
$sender = $sender[0];
$profile_view = self::Profile($sender->id);
$mails = Collection::Get('mail', 'MailModel');
$in = $mails->Find( Query::All( Query::Equal( 'tid', $user->id ), Query::Equal('fid', $sender->id) ) );
$out = $mails->Find( Query::All( Query::Equal( 'fid', $user->id ), Query::Equal('tid', $sender->id) ) );
$dialog = array();
ForEach($in as $inMsg){
IF(!$inMsg->read)
{
$inMsg->read = 1;
$inMsg->save();
}
}
ForEach( $in as $message ){
IF(!isset($dialog[$message->time]))
$dialog[$message->time] = array();
$dialog[$message->time][] = array('type'=>'in', 'message'=>$message);
}
ForEach( $out as $message ){
IF(!isset($dialog[$message->time]))
$dialog[$message->time] = array();
$dialog[$message->time][] = array('type'=>'out', 'message'=>$message);
}
ksort($dialog);
$profile_view->Set('ProfileContent', 'dialog.php')->Set('dialog', $dialog);
return $profile_view;
}
throw new ForbiddenException( l('Sender is not found') );
}
throw new ForbiddenException( l('User is not authenticated') );
}
+135
if (parameter == null)//если ведомость доков...
{
cmd.Connection = dbc;
cmd.CommandText =
"SELECT RTRIM(n.Element) + ' '+ RTRIM(e.Naim) " +
"FROM tb_Element e, tb_ElementName n " +
"WHERE n.id = e.id " +
"AND e.GostTU ='" + head.Text.Substring(0, head.Text.IndexOf(" ")) + "'";
dbc.Open();
naim = cmd.ExecuteScalar().ToString();
dbc.Close();
cmd.CommandText =
"SELECT " +
" LTRIM(RTRIM(s.NameProject)) " +
",LTRIM(RTRIM(n.Element)) + ' '+ LTRIM(RTRIM(e.Naim)) " +
",LTRIM(RTRIM(d.Obozn)) " +
"FROM " +
" tb_document d " +
",tb_specificationproject s " +
",tb_element e " +
",tb_elementname n " +
"WHERE " +
"d.pinsp = s.pinsp " +
"AND e.pin = s.pinsp " +
"AND n.id = e.id " +
"AND s.NameProject IN " +
"( " +
namelist +
") " +
"ORDER BY d.Pinsp ";
dbc.Open();
dbr = cmd.ExecuteReader();
counter = 0;
template = File.ReadAllLines(System.Windows.Forms.Application.StartupPath + "\\doclist.xml");
while (template[counter].Trim() != "</Table>")
{
if (template[counter].Trim() != "<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">%name%</Data></Cell>")
{
filedata.Add(template[counter]);
}
else
{
filedata.Add("<Cell ss:MergeAcross=\"4\" ss:StyleID=\"s67\"><Data ss:Type=\"String\">" + naim + "</Data></Cell>");
}
counter++;
}
tail_start = counter;
counter = 8;
tmp = "";
while (dbr.Read())
{
if (tmp != dbr[0].ToString())
{
tmp = dbr[0].ToString();
//Определяю высоту строки
CalcHeight = " ss:Height = " + '"' + Convert.ToString(rowHeight * (1 + dbr[1].ToString().Length / 10)) + '"';
filedata.Add("<Row" + CalcHeight.Replace(',', '.') + ">");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[1].ToString().TrimEnd() + "</Data></Cell>");
}
else
{
filedata.Add("<Row ss:Height = \"" + Convert.ToString(rowHeight).Replace(',', '.') + "\">");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"Number\">" + (counter - 7).ToString() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
}
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\">" + dbr[2].ToString().TrimEnd() + "</Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("<Cell ss:StyleID=\"s100\"><Data ss:Type=\"String\"> </Data></Cell>");
filedata.Add("</Row>");
counter++;
}
counter = tail_start;
while (counter < template.GetLength(0))
{
filedata.Add(template[counter]);
counter++;
}
}
Суровый промышленный код. Выгружаем в эксель данные из БД.
+22
template<class T>
class Box
{
private:
explicit Box(const Box&);
Box& operator = (const Box&);
public:
explicit Box()
: m_value(0)
{}
explicit Box(T* value)
: m_value(value)
{}
~Box()
{
std::auto_ptr <T> toDelete(m_value);
}
T* Release()
{
T* const result(m_value);
m_value = 0;
return result;
}
void Reset(T* value)
{
std::auto_ptr <T> toDelete(m_value);
m_value = value;
}
private:
T* m_value;
};