- 1
http://pastebin.com/iiPnyk59
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+138
http://pastebin.com/iiPnyk59
еще раз про "кораблядство", или зверская антимат-регулярка на 12706 символов
вы не поверите, но оно работает!
линк на пастебин, потому что сюда не влезло, а если укорачивать, то работать не будет )
+147
var credtype = new Array();
credtype['A~'] = 'Страховка - финлизинг';
credtype['A0'] = 'АвтоКредит за 30 мин';
credtype['A1'] = 'Авто в кредит - основной';
credtype['A2'] = 'Кредит на аванс';
credtype['A3'] = 'Кредитные каникулы(авто)';
credtype['A4'] = 'Залог авто (ПУФК)';
credtype['A5'] = 'Стандартный автокредит <br/>(без страховок)';
credtype['A6'] = 'Упрощённый автокредит <br/>(без страховок)';
credtype['A7'] = 'Кредит без страховки (новые)';
credtype['A8'] = 'Кредит без страховки (Б/У)';
credtype['A9'] = 'Стандартный Б/У авто <br/>(с резервированием)';
credtype['AA'] = 'Авто <br/>(прочие под залог автотранспорта)';
credtype['AB'] = 'приобр. Авто Б/У';
credtype['AC'] = 'покупка а/м Пежо (Илта) - схема 1';
credtype['AD'] = 'Авто Б/У с площадок банка <br/>(некомис)';
credtype['AE'] = 'Авто <br/>(Б/У с ежемесячной комиссией)';
credtype['F2'] = 'Эконом-кредит отсрочка <br/>(Фокстрот)';
credtype['F3'] = 'Потребительская корзина <br/>(Фокстрот)';
credtype['F4'] = 'Фокстрот <br/>(меньше цена до 1500грн)';
credtype['F5'] = 'Фокстрот <br/>(меньше цена от 1501 до 3000грн)';
credtype['F6'] = 'Фокстрот <br/>(меньше цена от 3001 до 4500грн)';
credtype['F7'] = 'Фокстрот <br/>(меньше цена от 4501 до 6000грн)';
// …
// Еще несколько десятков похожих строчек.
// …
credtype['FP'] = 'Ипотека с резервированием<br/>(упрощенный)';
credtype['FQ'] = 'Кредитование охранников';
credtype['FR'] = 'Акция 0% <br/>(ДОМОТЕХНИКА)';
credtype['FS'] = '10*10*10 <br/>(ДОМОТЕХНИКА)';
credtype['FT'] = 'ПРОСТОЙ <br/>(ДОМОТЕХНИКА)';
credtype['FU'] = 'ДОМИАШНИЙ <br/>(ДОМОТЕХНИКА)';
credtype['FV'] = 'МОБИЛЬНЫЙ со справкой <br/>(ДОМОТЕХНИКА)';
credtype['FW'] = 'МОБИЛЬНЫЙ без справки <br/>(ДОМОТЕХНИКА)';
credtype['FW'] = 'МОБИЛЬНЫЙ без справки <br/>(ДОМОТЕХНИКА)';
credtype['FX'] = 'ГИБКИЙ /10-19.99/ <br/>(ДОМОТЕХНИКА)';
credtype['FY'] = 'ГИБКИЙ /20-39.99/ <br/>(ДОМОТЕХНИКА)';
credtype['FZ'] = 'ГИБКИЙ /40/ <br/>(ДОМОТЕХНИКА)';
credtype['G0'] = 'ГИБКИЙ /40/ <br/>(ДОМОТЕХНИКА)';
credtype['G1'] = 'жильё в кредит - основной';
credtype['SZ'] = 'Событийное на заработки';
credtype['TP'] = 'Только паспорт <br/>(Приват Кредит)';
credtype[''] = '';
function getCreditName(creditType) {
var ct = credtype[creditType];
if(ct != null)
return ct;
return '';
}
Код на сайте украинского ПриватБанка.
+159
private function cp1251_utf8($sInput) {
$sOutput = "";
for ( $i = 0; $i < strlen( $sInput ); $i++ )
{
$iAscii = ord( $sInput[$i] );
if ( $iAscii >= 192 && $iAscii <= 255 )
$sOutput .= "&#".( 1040 + ( $iAscii - 192 ) ).";";
else if ( $iAscii == 168 )
$sOutput .= "&#".( 1025 ).";";
else if ( $iAscii == 184 )
$sOutput .= "&#".( 1105 ).";";
else
$sOutput .= $sInput[$i];
}
return $sOutput;
}
protected function utf8_strtr($str, $from, $to = '') {
$str = iconv('UTF-8', 'cp1251', $str);
$str = $to ? strtr($str, $from, $to) : strtr($str, $from);
return iconv('cp1251', 'UTF-8', $str);
}
public function date_rus($str) {
$str = str_replace('Jan', 'Янв', $str);
$str = str_replace('Feb', 'Фев', $str);
$str = str_replace('Mar', 'Мар', $str);
$str = str_replace('Apr', 'Апр', $str);
$str = str_replace('May', 'Май', $str);
$str = str_replace('Jun', 'Июн', $str);
$str = str_replace('Jul', 'Июл', $str);
$str = str_replace('Aug', 'Авг', $str);
$str = str_replace('Sep', 'Сен', $str);
$str = str_replace('Oct', 'Окт', $str);
$str = str_replace('Nov', 'Ноя', $str);
$str = str_replace('Dec', 'Дек', $str);
return $str;
}
пара функций из одного интересного проекта =)
перекодировка с подвыпердоворотом, перевод даты на русский без компромисов
+78
/**
* @param loginName
* @return
* This method is create a LoginName as Input data
*/
public String getLoginName(String loginName)
{
String userQuery="select u.LoginName from User u";
Recordset rs_user=null;
rs_user = CustomExternalServiceImplUtil.getInstance().executeQuery(userQuery);
List<String> userList = new ArrayList<String>();
while(rs_user.moveNext()){
userList.add(rs_user.valueFromIndex(0).toString());
}
int i=1;
String result = loginName;
for(int j=0; j < userList.size(); j++){
if(userList.get(j).equals(result))
{
result = loginName+i++;
j=0;
}
}
return result;
}
Рефаткоринг чужого кода. Минут пять втуплял, что же тут вообще делается. Еще столько же придумывал, как же это привести в божеский вид с сохранением прежней функциональности.
+162
public function editSetting($group, $data, $store_id = 0) {
$this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$store_id . "' AND `group` = '" . $this->db->escape($group) . "'");
foreach ($data as $key => $value) {
if (!is_array($value)) {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'");
} else {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'");
}
}
}
Всё оттуда же (Open Cart).
Оно бы вроде и ничего, если бы не id и автоинкрементом в таблице "setting". Вот так вот, каждый раз сохраняя настройки, мы прибиваем стопицот старых значений и заводим столько же совершенно новых, которые, тем не менее, в большинстве своём ничем не отличаются от старых.
+86
private static void slowDownABit() {
for (int i = 0; i < 100; i++) {
new Thread() {
@Override
public void run() {
for (int i = 0; i < 10000000; i++) {
double d1 = Math.random() + 1;
double d2 = Math.random() + 1;
double d3 = Math.random() + 1;
double d4 = Math.random() + 1;
double d = d1 * d2 / d3 / d4 * Math.sin(Math.random());
}
}
}.start();
}
}
+159
if (isset($this->request->post['config_image_manufacturer_height'])) {
$this->data['config_image_manufacturer_height'] = $this->request->post['config_image_manufacturer_height'];
} else {
$this->data['config_image_manufacturer_height'] = $this->config->get('config_image_manufacturer_height');
}
if (isset($this->request->post['config_image_additional_width'])) {
$this->data['config_image_additional_width'] = $this->request->post['config_image_additional_width'];
} else {
$this->data['config_image_additional_width'] = $this->config->get('config_image_additional_width');
}
if (isset($this->request->post['config_image_additional_height'])) {
$this->data['config_image_additional_height'] = $this->request->post['config_image_additional_height'];
} else {
$this->data['config_image_additional_height'] = $this->config->get('config_image_additional_height');
}
if (isset($this->request->post['config_image_related_width'])) {
$this->data['config_image_related_width'] = $this->request->post['config_image_related_width'];
} else {
$this->data['config_image_related_width'] = $this->config->get('config_image_related_width');
}
if (isset($this->request->post['config_image_related_height'])) {
$this->data['config_image_related_height'] = $this->request->post['config_image_related_height'];
} else {
$this->data['config_image_related_height'] = $this->config->get('config_image_related_height');
}
if (isset($this->request->post['config_image_compare_width'])) {
$this->data['config_image_compare_width'] = $this->request->post['config_image_compare_width'];
} else {
$this->data['config_image_compare_width'] = $this->config->get('config_image_compare_width');
}
Всего лишь небольшой кусок кода из админки OpenCart-а.
Люди! OpenCart - гамно.
−99
begin
# etc
rescue Exception => e
case e
when LinkedIn::Unauthorized
account.invalidate_token if !account.invalid_token?
raise InvalidTokenException.new(account.primary, provider_name)
when LinkedIn::InformLinkedIn, LinkedIn::Unavailable #LinkedIn::Unavailable represents 502..503 error codes & LinkedIn::InformLinkedIn represent 500
raise UnexpectedApiException.new(provider_name)
else
handle_api_exception(e, e.message)
end
end
элегантный отлов ексепшнов
+101
i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
i := i shr 1; // после этой строчки i становится равно 2147483644
i := (-7) shr 1; // после этой строчки i становится равно 4
Delphi7 такой Delphi7...
http://www.gamedev.ru/code/forum/?id=138759&page=25#m367Тарас любит дельфи.
+159
$("html > body a#order_check").click(function(){
if($("html > body a#order_check").is(".active") && !$("html > body div#order_check_b").is(":hidden")){
$("#order_check").removeClass("active")
$("#order_check_b").hide()
}
if(!$("html > body a#order_check").is(".active") && $("html > body div#order_check_b").is(":hidden")){
$("html > body #order_check").addClass("active")
$("html > body #order_check_b").show()
}
})