- 1
- 2
- 3
- 4
- 5
if (dataTank.UpdateSQLTable(addressTbl, (int)SharedConstants.FocusAdapterTables.Address, SharedConstants.FocusAdapterTables.Address.ToString()) > 0)
{
return true;
}
return false;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+119
if (dataTank.UpdateSQLTable(addressTbl, (int)SharedConstants.FocusAdapterTables.Address, SharedConstants.FocusAdapterTables.Address.ToString()) > 0)
{
return true;
}
return false;
Yeah, baby!
Похоже, ребята специально создавали себе места для рефакторинга - набудущее, чтобы было чем заняться.
+169
htaccess:
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteRule ^0.html$ style/index.php
RewriteRule ^1.html$ style/index.php?id=register
RewriteRule ^2.html$ style/index.php?id=download
RewriteRule ^3.html$ style/index.php?id=top_chars
RewriteRule ^4.html$ style/index.php?id=who_online
RewriteRule ^5.html$ style/index.php?id=top_zeny
RewriteRule ^6.html$ style/index.php?id=top_mvp
RewriteRule ^7.html$ style/index.php?id=top_pvp
RewriteRule ^8.html$ style/index.php?id=top_guild
RewriteRule ^9.html$ style/index.php?id=who_sell_buy
RewriteRule ^10.html$ style/index.php?id=first_class
php:
<?php
$url = $REQUEST_URI;
$url2 = strlen($url);
if($url2 > 14) {
header("location: ./");
exit;
}
?>
Комментарий от автора:
"Да тут реврайт для того, чтобы превратить ссылки в одинаковую длину, а потом уже проверять длину ссылки, если больше нормы переадресиция на главную..."
+124
switch ((int)row["State"])
{
case 0:
/*** Get Contact Row for Company ***/
if (contactTbl != null)
{
contactRow = null;
DataRow[] contactRows = contactTbl.Select("Company_Id='" + row["Id"].ToString() + "'");
if (contactRows != null && contactRows.Length > 0)
{
contactRow = contactRows[0];
if ((bool)contactRow["fDontMailshot"] == false)
{
thisMailShot = true;
}
else
{
thisMailShot = false;
}
}
}
if ((bool)row["fManagementCompany"] == true)
{
if (row["Id"].ToString() == "00-20181" || row["Id"].ToString() == "00-60838")
{
myEntityID = Entity(2, row);
if (!SubContractor(myEntityID, row)) { return false; }
}
else
{
myEntityID = Entity(10, row);
}
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
}
else if ((bool)row["fSubcontractor"] == true || ((bool)row["fSupplier"] == true && (bool)row["fCustomer"] == false))
{
myEntityID = Entity(2, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!SubContractor(myEntityID, row)) { return false; }
}
else if ((bool)row["fHousingAssociation"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["f2ndOwnerTenant"] == true && (bool)row["fCustomer"] == false)
{
myEntityID = Entity(8, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == false)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
break;
default:
break;
}
Отличный пример использования конструкций ветвления. Имеем switch, в нём один case, а в кейсе много-много иф-элсов. И что очень характерно для этого проекта с тремя классами по 9000 строк, никакого повторного использования кода. Реализация принципа "зачем писать меньше?".
+116
for m:=0 to 9 do
mas[m]:=inttostr(m);
if ((Form1.edit1.text='')or(Form1.Memo2.text='')) then begin
if Form1.Memo2.text='' then
ShowMessage('Ошибка! Введите пожалуйста текст или подключите файл,который необходимо расшифровать!!!');
if Form1.edit1.text='' then
ShowMessage('Ошибка! Введите пожалуйста ключ,которым будет расшифрован текст!!!');
end
else begin
//проверка ключа
key:=Form1.edit1.text;
k:=length(key);
c:=0;
k_p:=true;
for j:=1 to k do
for m:=0 to 9 do begin
if (key[j]=mas[m]) then
inc(c)
else Begin
if (m=9) then
if (c=0) then Begin
ShowMessage('Ошибка!!!Введите пожалуйста ключ,которым будет расшифрован текст-целые числа');
k_p:=false;
end
else
c:=0;
end;
end;
end;
говнокриптография...
+165
<script>
function build_view(){
$('div.content').append(""+ <?php $flag=false; foreach($work_meters as $work){?> "<div id=\"<?=$work->id?>\" style='margin-bottom:30px;' > <span class=\"name\"><?=$work->name?> </span> <div s\
tyle=\"display:inline;float:left\" align=\"left\" > <table class='data_table' style=\"margin-top:50px;\" id='table_<?=$work->id?>'> <tr> <td>дата</td><td>значение</td>"+ <?php if(in_array\
(5, $user->roles)) { ?> " <td></td> "+ <?php } ?> <?php while(list($key, $vals) = each($work->data)){ ?> " <tr><td><?=$vals[0]?></td> <td><?=$vals[1]?></td> "+ <?php if(in_array(5,\
$user->roles)) { ?> " <td><a onclick=\"delete_row(<?=$key?>, <?=$work->id?>)\" href='javascript:void(0);'>удалить</a></td> "+ <?php } ?> " </tr> "+ <?php } ?>" \
</tr> "+ <?php if(in_array(5, $user->roles)) { ?> " <tr><td><input type='text' name='date' size='7'/></td><td><input type='text' name='value' size='5'/></td><td><input type='button' value='\
добавить' onclick='add_data(<?=$work->id?>, $(this).parent().parent());'></td></tr> <tr><td colspan='3' style='text-align:right;'><input type='button' onclick='save(<?=$work->id?>);' value='\
сохранить'></td></tr> "+ <?php } ?> " </table> </div> <div style=\"width:600px;height:300px;margin-left:120px;\" class=\"image\"> </div> <div class=\"description\" style='margin-top\
=10px;'> <?=$work->description?> </div> </div>"+ <?php $flag = true;} ?>"" );
}
</script>
эта ересь генерирует html для javascript функции которая втсавляет это всё в страницу.
+157
/**********************************************************************
* Connect to DB - over-ridden by specific DB class
*/
function connect()
{
die(EZSQL_CORE_ERROR);
}
/**********************************************************************
* Select DB - over-ridden by specific DB class
*/
function select()
{
die(EZSQL_CORE_ERROR);
}
/**********************************************************************
* Basic Query - over-ridden by specific DB class
*/
function query()
{
die(EZSQL_CORE_ERROR);
}
/**********************************************************************
* Format a string correctly for safe insert - over-ridden by specific
* DB class
*/
function escape()
{
die(EZSQL_CORE_ERROR);
}
/**********************************************************************
* Return database specific system date syntax
* i.e. Oracle: SYSDATE Mysql: NOW()
*/
function sysdate()
{
die(EZSQL_CORE_ERROR);
}
Продвинутый способ создания абстрактных методов. Это кагбе абстрактный класс, от которого наследуются БД-специфичные классы. Затем какая вам БД нужна, под такую руками и создавайте экземпляр нужного класса, "фабрикой" даже и не пахнет.
Зовётся сие чудо ezSQL. Используется в NetCat. Ладно хоть не сами наложили (налажали?), но всё ж головой не подумали, когда брали.
+164
// set admin mode
switch (true) {
case $nc_core->inside_admin:
$nc_core->admin_mode = true;
break;
case !$passed_thru_404 && isset($posting): // add (edit) action
$nc_core->admin_mode = $admin_mode;
break;
case !$passed_thru_404: //front-office
$nc_core->admin_mode = true;
break;
case $passed_thru_404:
$nc_core->admin_mode = false;
break;
default:
$nc_core->admin_mode = false;
}
/netcat/require/index.php
Что они там курят, что у них настолько извилины выпрямляются?!
+167
<?
error_reporting(0);
$b=array("Калининград","Вологда","Далматово","Дмитров","Архангельск","Владивосток","Краков");
//конкурсный код:
//begin
for($i=0;$i<7;$i++){$s.="for(\$z[$i]=0;\$z[$i]<7;\$z[$i]++)";$n.="\$z[$i],";$q.="\$b[\$z[$i]],";}$f='for($i=0;$i<7;$i++){$l[$i]=strlen($b[$i])-1;$c[$i]=strtolower($b[$i]);for($j=0;$j<7;$j++)if($i!=$j&&$b[$i][$l[$i]]==strtolower($b[$j][0]))$e[$i]=true;}'.$s.'{$y=array('.$n.');sort($y);if($y==array(0,1,2,3,4,5,6)){$d=true;for($i=0;$i<6;$i++)if($d&&$c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0]&&($e[$z[$i]]||$c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))$d=!$d;if($d)$a=array('.$q.');}}';eval($f);
//end
print_r($a);
echo "<br />";
echo "<br />";
//тоже самое в нормальном виде:
for($i=0;$i<7;$i++)
{
$l[$i]=strlen($b[$i])-1;
$c[$i]=strtolower($b[$i]);
for($j=0;$j<7;$j++)
{
if($i!=$j && $b[$i][$l[$i]]==strtolower($b[$j][0]))
{
$ecantUsePrelast[$i] = true;
}
}
};
for($z[0]=0;$z[0]<7;$z[0]++)
for($z[1]=0;$z[1]<7;$z[1]++)
for($z[2]=0;$z[2]<7;$z[2]++)
for($z[3]=0;$z[3]<7;$z[3]++)
for($z[4]=0;$z[4]<7;$z[4]++)
for($z[5]=0;$z[5]<7;$z[5]++)
for($z[6]=0;$z[6]<7;$z[6]++)
{
$y=array($z[6],$z[5],$z[4],$z[3],$z[2],$z[1],$z[0]);
sort($y);
if($y==array(0,1,2,3,4,5,6))
{
$dcorrect=true;
for($i=0;$i<6;$i++)
if($dcorrect && $c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0] && ($ecantUsePrelast[$z[$i]] || $c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))
$dcorrect=!$dcorrect;
if($dcorrect)
{
$a=array($b[$z[0]],$b[$z[1]],$b[$z[2]],$b[$z[3]],$b[$z[4]],$b[$z[5]],$b[$z[6]]);
}
}
}
print_r($a);
?>
Чтобы немного развеять "академическую" атмосферу на сайте, мы решили провести конкурс в стиле Code Golf (написать программное решение задачи, использовав минимальное количество символов)
Задание: написать программу для игры «в города».
На вход подается массив вида
[Калининград, Вологда, Алматы, Дмитров, Архангельск, Тобольск, Краков]
На выходе.
[Архангельск, Краков, Вологда, Алматы , Тобольск, Калининград, Дмитров]
+120
if (!isset($f_i[$i]))
{
echo $f_i[$i],"<br>";
}
}
+129
@echo off
if exist 3.txt del 3.txt
: begin
if "%1"=="" goto end
echo %1 >> 3.txt
copy 3.txt "%1" >4.txt
shift
goto begin
: end
dir *. /O-S /B
del *.
del 3.txt
del 4.txt
Batch файл под DOS, студенческое задание было: написать *.bat файл, который выводит список аргументов в обратном порядке, например, на команду foo.bat qwe sdf fgh ty должен быть ответ ty fgh sdf qwe. Как-то не додумался я прибавлять аргументы в обратном порядке. и придумал, как это сделать средствами бат файла.