- 1
- 2
cd TempDir
del /f /q /s *
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+66
cd TempDir
del /f /q /s *
Когда-то давно написал батник для автоматизации каких-то работ по удалению временных файлов. Там были переходы посложнее между папками, чем сдесь, но для илюстрации соли фейла подойдет и это.
Однажды моё предположение о существовании некоторых папок неоправдалось. И некоторые из комманд типа cd TempDir сфейлили. Естественно, на ошибки результат их выполнения я не проверял и при ерроре не выходил из батника. Запустил я в тот роковой день батник и смотрю - что-то очень долго удаляется директория временных файлов...
Подскос пошёл весь логический диск с данными. :D
В результате той комбинации не сфейлевших комманд cd текущем каталогом оказался корневой каталог диска.
Естественно, батник до наших дней не дошёл, тк был на этом логическом диске и слава богу. :D
+166
if (!defined('MODX_CORE_PATH')) {
$modx_core_path= 'Z:/home/local/revo/core/';
define('MODX_CORE_PATH', $modx_core_path);
}
if (!defined('MODX_PROCESSORS_PATH')) {
$modx_processors_path= 'Z:/home/local/revo/core/model/modx/processors/';
define('MODX_PROCESSORS_PATH', $modx_processors_path);
}
if (!defined('MODX_CONNECTORS_PATH')) {
$modx_connectors_path= 'Z:/home/local/revo/connectors/';
$modx_connectors_url= '/connectors/';
define('MODX_CONNECTORS_PATH', $modx_connectors_path);
define('MODX_CONNECTORS_URL', $modx_connectors_url);
}
if (!defined('MODX_MANAGER_PATH')) {
$modx_manager_path= 'Z:/home/local/revo/manager/';
$modx_manager_url= '/manager/';
define('MODX_MANAGER_PATH', $modx_manager_path);
define('MODX_MANAGER_URL', $modx_manager_url);
}
if (!defined('MODX_BASE_PATH')) {
$modx_base_path= 'Z:/home/local/revo/';
$modx_base_url= '/';
define('MODX_BASE_PATH', $modx_base_path);
define('MODX_BASE_URL', $modx_base_url);
}
CMS MODx Revolution
core/config/config.inc.php
Захотел потестить новую версию, про которую на оф.сайте рассказываются расчудесные вещи. Только поставил, а чё-то как-то уже стрёмно.
+159
$one = $_POST["one"];
$two = $_POST["two"];
$three = $_POST["three"];
$total = $_POST["total"];
$total = $_POST["total1"];
function Action($a, $b, $act)
{
switch($act)
{
case "add":
return $a+$b;
case "sub":
return $a-$b;
case "mult":
return $a*$b;
case "div":
return $a/$b;
}
}
/*Это проверка на то, какое действие выполняется первое
total или total1(Если total равен умножению или делению то он и первый.
А все остальное его не интересует)*/
if ($total == "mult" || $total == "div")
{
$result = Action($one, $two, $total);
$result = Action($result, $three, $total1);
}
else
{
$result = Action($two, $three, $total1);
$result = Action($result, $one, $total);
}
echo $result;
+155
if(file_exists("templates/".$config->design."/amxbans.css")) {
$smarty->assign("design",$config->design);
}
Ненавижу женскую логику.
+109
procedure RemoveDir(path: string);
var
sr: TSearchRec;
begin
if FindFirst(path + '\*.*', faAnyFile, sr) = 0 then
begin
repeat
if sr.Attr and faDirectory = 0 then
DeleteFile(path + '\' + sr.name);
else
RemoveDir(path + '\' + sr.name);
until
FindNext(sr) <> 0;
end;
FindClose(sr);
RemoveDirectory(PChar(path));
end;
История такова, писал я как-то программу по курсовому. (Это было еще года два-три назад, когда я про юнит тесты и различные технологии проектирования и разработки ничего не знал.) По задумки программа распаковывала некие файлы во временный каталог рядом с приложением и по завершению работы с ними удаляла эту папку вот этим методом. Итак, запустил я эту подпрограмму на выполнение для проверки ее работоспособности и смотрю в файловом менеджере, что папка успешно удалилась и все ок. Но вдруг студия начала жаловаться что нет каких-то файлов, я смотрю в файловый менеджер и вижу что файлы проекта программы исчезают буквально на глазах! Естественно я резко убиваю программу и далее начинаю восстанавливать исходники. Благо, что делал бэкапы и эта подпрограмма проработала все ничего, а ведь последствия могли быть еще больше. А мораль такая, нужно быть предельно внимательным, когда работаешь с удалением какой-либо информации.
P.S. Нужно добавить проверку между 10 и 11 строкой:
if (sr.Name <> '..') and (sr.Name <> '.') then
+113
function FUNC(XD: TXMLDocument; L: ShortString): IXMLNode;
var
c: integer;
ln: IXMLNode;
s: ShortString;
begin
c:=0;
while c <> XD.DocumentElement.ChildNodes.Count-1 do
begin
if VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id']) = L then
begin
ln:=XD.DocumentElement.ChildNodes[c];
c:=XD.DocumentElement.ChildNodes.Count-1
end else
begin
c:=c+1; {DEBUG(VarToStr(XD.DocumentElement.ChildNodes[c].Attributes['id'],L) }
end
end;
result:=ln
end;
К слову о невнимательности и "непримеченных слонах". Итак задачка: перебором найти в наборе данных нужную строку и вернуть в итоговый результате элемент набора данных. Используем код (выше). По невнимательности своей я допустил в алгоритме ошибку и функция работала несколько некорректно. Перед Вами её изначальный вариант, до исправления. Если вкратце, то баг заключался в том, что функция не читала последний элемент XML-документа. Называется, нефиг было мудрить с алгоритмом. По сути там надо убрать из двух мест "-1". Но пока я докапывался до сути ошибки, я написал тестовую функцию, сравнивающую две строки и выводящую результат сравнения в окно сообщения. Назовём её DEBUG. И... Началось непонятное. Функция выдавала сообщение, значит результаты, как видно по алгоритму, не равны, но она выдавала РАВЕНСТВО! Мозг взрывается, ломаются представления о математике и рациональности вообще!
+127
//TODO: Delete the comment after a successful test.
var Client = new TcpClient();
int a = num._.i.i.i.i.i;
int b = num._.i.i.i.u.d;
int c = (((num)(a + b)).l++.u+b).u.i.i;
// port = 726
int port = a + b + c;
// ips = "127.0.0.1"
string ips = ip._.i.u.i.i.i.u.d.d.d.s['.'].s['.'].s['.'].i.s;
Client.Connect(ips, port);
Very hard-hard code!
+154
$src = fopen("0.txt", 'r');
while(!feof($src))
{
$line[] = fgets($src);
$line++;
}
Интересно чему в конце будет равно $line? :)
+77
private String get4DigitRandom() {
final int length = 4;
int number = (int) (Math.random() * Math.pow(10, length));
StringBuilder sb = new StringBuilder();
for (int i = length; i > 0; i--)
sb.append("" + (int) (number / Math.pow(10, i - 1)) % 10);
return sb.toString();
}
+119
public string flag = "no";