- 1
s.replaceAll("(\\/\\.\\.\\/)+", "/").replaceFirst("^((\\.)+\\/)+", "");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+115
s.replaceAll("(\\/\\.\\.\\/)+", "/").replaceFirst("^((\\.)+\\/)+", "");
вот такие вот суровые паттерны
как я это увидел - мне сразу вид двух друзей переханных трактором вспомнился
String s="../../../a./../../files/file1.rar"; // надо убрать строки вида "../"
+163
long GetMicroseconds();
CTvoid cLog::GetTime (char * acLocal, time_t tTime)
{
struct tm ltLocalTime;
struct tm * ptLocalTime;
tTime = time (NULL);
ptLocalTime = localtime_r (&tTime, <LocalTime);
sprintf(acLocal,"%04d%02d%02d %02d%02d%02d-%06ld",
ptLocalTime->tm_year+1900,
ptLocalTime->tm_mon+1,
ptLocalTime->tm_mday,
ptLocalTime->tm_hour,
ptLocalTime->tm_min,
ptLocalTime->tm_sec,
GetMicroseconds());
}
long GetMicroseconds()
{
struct timeval timeVal;
if (0 == gettimeofday( &timeVal, NULL ))
return timeVal.tv_usec;
return -1;
}
cLog::__Write(...)
{
/* ... */
tTime = time(NULL);
GetTime (acDataTime, tTime);
/* ... */
}
R&D дали задание добавить микросекунды ко всем таймстемпам в логах.
сказано - сделано.
ну ведь никто не говорил что таймстемпы должны быть еще и консистентными.
ЗЫ ну и time() надо вызвать раза два-три - для надёжности.
−126
start() {
echo "starting Adaptec Storage Manager agent ..."
kill `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
sleep 2
kill -9 `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
sh /usr/StorMan/StorAgnt.sh >/dev/null 2>&1 &
sleep 1
echo
}
stop() {
echo "stopping Adaptec Storage Manager agent ..."
kill `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
sleep 2
kill -9 `ps axwww | grep java | grep StorMan | grep ManagementAgent | cut -b 1-6` 1>/dev/null 2>&1
sleep 1
echo
}
Кусок скрипта для RAID от фирмы Adaptec. Боюсь смотреть, что они там в java накодили.
+144
# Подключаем MySQL класс
a_import('libraries/mysql');
$db = new MySQL();
$db->debugging = TRUE;
$db->connect();
$db->charset('utf8');
Код взят из CMS http://mobilecms.ru/
Нет чтобы объявить свойства приватными, а начальные параметры передать в конструктор
+168
$action=$_GET["action"];
...
if($action==1){ ... }
if($action==2){ ... }
...
if($action==9){ ... }
if($action!=1 &&
$action!=2 &&
$action!=3 &&
$action!=4 &&
$action!=5 &&
$action!=6 &&
$action!=7 &&
$action!=8 &&
$action!=9) print("<html><body bgcolor=".'"#000000"'." color=".'"#FFFFFF"'."><div align=".'"center"'."><h1><b>Ошибка! Такой страницы нет!</b></h1></div><!--*copyright*--></body></html>");
crazy code
+167
<?php
/*///////////////////////////////////////////////
Эта функция инклюдит файл.
Все, что этот файл отправляет на вывод,
не уходит на вывод, а возвращется этой функция
Для работы, функция использует функции ob,
которые работают с буфером, поэтому
использовать их для друхих целей нужно очень
аккуратно и только, если вы знаете,
как все это функционирует
///////////////////////////////////////////////*/
function s_file ( /*string-путь к файлу*/ $path )
{
ob_start() ; //Запускает буферизацию вывода
require ($path) ; //Запускает файл по адрессу
return ob_get_clean () ; //Возвращает содержимое буфера или FALSE при ошибке
}
?>
+164
LONG bShutdownCounter;
Существует много баталий на тему венгерской нотации, есть много за и много против, но это - просто шедевр :)
+130
public static string[] cInt = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
...
bool cont = true;
int i=0;
string ss = "";
...
while ((cont) && (i < e_number.Text.Length))
{
if (Array.IndexOf(cInt, e_number.Text[i].ToString()) > -1)
{
ss = ss + e_number.Text[i];
num = Convert.ToInt32(ss);
}
else { cont = false; }
i = i + 1;
}
if (ss == "")
{ num = 0; }
Это повергло меня в ужас. Проверка, введено ли в e_number числовое значение и преобразование его в int.
+169
public function Add()
{
$db->query ('DELETE FROM ' . $this->_table . ' WHERE clientId=' . $this->clientId . ' AND memberId=' . $this->userId);
$db->query ('INSERT INTO ' . $this->_table . ' SET clientId=' . $this->clientId . ', memberId=' . $this->userId);
return true;
}
без комментариев
−168
piarra=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
piarrb=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
result = []
for i in range(len(piarra)**2):
result.append(0)
def decr(a):
if a[-1]>0:
a[-1]-=1
else:
a.pop()
decr(a)
a.append(9)
if a[0]==0:
a.remove(0)
while piarra != [0]:
decr(piarra)
for i in range(len(piarrb)):
result[-1-i]+=piarrb[-1-i]
while(sorted(result)[-1]>9):
for i in range(len(result)):
if result[i]>9:
result[i]-=10
result[i-1]+=1
while result[0]==0:
result.remove(0)
sqrstr=''
for i in result:
sqrsrt+=`i`
print sqrstr
Пи в квадрате. Оцените нетривиальность решений.