- 1
*new
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−40
*new
Самая соль.
+66
if (mysql_num_rows(mysql_query("SELECT * FROM `usermail` WHERE `email` LIKE '%".$_POST['email']."%' "))) {
# email уже есть
} else {
# новый email
}
Проверка на наличие email в таблице. Через SELECT * и LIKE !!!
+66
/**
*
* check for collection object
* @access public
* @param string $session_path
* @param string $session_name
* @return boolean
*/
public function open($session_path, $session_name)
{
$result = false;
if ($this->__mongo_collection != NULL)
{
$result = false;
}
return $result;
}
Недавно искал класс для хранения сессий в базе данных и нашел его тут
http://www.phpclasses.org/browse/file/34711.html (для тех кто не видит смотрим тут http://pastebin.com/xuQav8nD)
При внимательном просмотре нашел этот кусок кода :)
+124
BufferedReader file = null;
boolean moreData = true;
//set the parameters
this.textureDir = textureDir;
//open a file
try{
file = new BufferedReader(
new InputStreamReader(
(new FileInputStream(filename))), 50000);
} catch (Exception e) {System.err.println("kan model niet laden"); moreData = false;}
//read shapes until no more data
while(moreData)
{
Shape3D shape = readShape(file);
if(shape != null)
{
tg.addChild(shape);
}
else
{
moreData = false;
}
}
try{
file.close();
file=null;
} catch (IOException e)
{
System.err.println("file " + filename + " could not be closed!");
}
Интересный способ обработки ошибок ввода-вывода.
Естественно, при неудачном открытии файла вываливается по NullPointerException.
+87
public static final String HTTP = "http://";
public static final String HTTPS = "https://";
public static final String HTTP_UP = "HTTP://";
public static final String HTTPS_UP = "HTTPS://";
public static final String HTTP_UP_1 = "Http://";
public static final String HTTPS_UP_1 = "Https://";
private static final String STUPID_PROTOCOL = "http://http://";
private static final String STUPID_PROTOCOL_1 = "ttp://";
private static final String STUPID_PROTOCOL_2 = "hhttp://";
из утилит по проверки урлов
−119
select a, trim(both ',' from max(SYS_CONNECT_BY_PATH(b, ',')))bb from (
select count(1) over (partition by a order by /* Важно:*/ a,b /*!*/)rn, a, b from (
select a, b from (
select 1 a, 'a' b from dual union all
select 1 a, 'b' b from dual union all
select 2 a, 'c' b from dual union all
select 2 a, 'd' b from dual union all
select 2 a, 'e' b from dual union all
select 3 a, 'f' b from dual
) order by dbms_random.value
)
)
start with rn=1 connect by nocycle prior a=a and prior rn+1=rn
group by a;
Задача на агрегацию с конкатенацией строк. Можно решить правильно - через свой агрегирующий объект, а можно так, "не по правилам" ))
+161
$('button').not('.noBind').bind('click',function(){
if(...)
{
if(...)
{
return false;
}
}
document.location=$(this).attr('rel')
});
Сидели ломали голову, отчего все кнопки на странице куда-то ломятся, а тут такое наследство откопалось. В js-ке, которая грузится всегда.
+135
public TOscillPanel getOscillPanel(String nameTable, XmlNodeList parameters, String idCHPU)
{
var actions=new Dictionary<string, object>
{
{"addParamOscill", new Action<string, string>(addParamOscill)},
{"removeParamOscill", new Action<string, string>(removeParamOscill)},
{"includeRealTimeMode",new Action<string>(includeRealTimeMode)}
};
return (new TOscillPanel(nameTable, parameters, actions));
}
//...
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, idParameters);
}
else
{
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, idParameters);
}
Это практически единственные и основные упоминания в коде контейнера _actions.
Говорила же мне мама: "возьми динамически типизированный язык", а я её не слушал. Не мне конечно же. Код из очень крупного частного проекта.
Динамически типизированный язык тут конечно же не нужен. Просто создаем трудности, а потом стоически их решаем.
−36
//установка режима реализма
void includeRealTimeMode()
{
TSerialCommand^ command = gcnew TSerialCommand;
command->cmd = CMD_CONTROL;
command->sc1 = SC_REAL_TIME_MODE;
command->sc2 = NULL; //_portManager.oscillFrequency;
_portManager.sendCommand(command);
}
Команда включает (активирует) режим реального времени.
C++\CLI
+134
public static DataSet GetSomeDataSet()
{
DataSet ds = null;
object locker = new object();
lock (locker)
{
if (ds == null)
{
// тут инициализация ds
return ds;
}
else return ds;
}
}
Метод из работающей проги. Возпроизвёл по памяти, но суть именно такая.
Насколько понимаю, человек хотел результаты работы метода кэшировать в локальную переменную.
Да ещё и lock на локальную переменную, который никогда не используется.