А.
44 сообщения
#17 лет назад
Появилась информация, что данный код, который делал один программист, ник которго я не буду называть содержит всякого рода ошибки, кривость и не годится для стабильной работы сайта. В качестве примера ниже-код одной из страниц сайта. Прошу сказать, насколько такая информация правдива. Спасибо.

<?php

if(!isset($section)) $section=0;
if(!isset($sort)) $sort = 'date_desc';

if(!isset($site_filter)) $site_filter=0;
else if($site_filter=='on') $site_filter=1;
if(!isset($domain_filter)) $domain_filter=0;
else if($domain_filter=='on') $domain_filter=1;
if(!isset($hosting_filter)) $hosting_filter=0;
else if($hosting_filter=='on') $hosting_filter=1;

if(!isset($page)) $page = 0;


session_start();

include('openmarketbase.php');
include('marketfunctions.php');

if(isset($login) && isset($password))
{
if($user=MarketValidUser($login, $password))
{
session_register('user');
}
else
{
if(session_is_registered('user'))
session_unregister('user');
}
}


?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Биржа сайтов</title>
<?php include('meta.html'); ?>

<LINK REL=STYLESHEET TYPE="text/css" HREF="style.css">

</head>

<body leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">

<TABLE class='maintable'>
<TR>

<TD class='left' style='height:100%;'>

<table>

<!-- логотип -->
<?php include('logotip.html'); ?>

<!-- РАЗДЕЛЕНИЕ -->
<tr style='height:25px;'><td style='background:#3E3E3E'>&nbsp;</td></tr>


<!-- МЕНЮ -->
<?php
if(session_is_registered('user'))
include('menu_auth.html');
else
include('menu_not_auth.html');
?>


<!-- СТАТИСТИКА -->
<?php include('statistic.php'); ?>

</table>

</TD>


<TD style='vertical-align:top'>

<!-- ВЕРХНЯЯ СТРОЧКА -->

<div style='width:100%; background:#4F585F; height:37px; text-align:right; padding-right:16px; padding-top:4px; '>
<table style='height:30px; text-align:center;' cellspacing=0 align=right>
<tr>
<td style="width:35px; background:url('pics/home_back.gif')"><a href=' src='pics/home.gif' border=0></a></td>
<!-- td style='width:35px; background:#424B52; border-left:#4F585F solid 1px; border-right:#374047 solid 1px;'><a href='#'><img src='pics/tree.gif' border=0></a></td -->
<td style="width:34px; background:url('pics/mail_back.gif')"><a href='feedback.php'><img src='pics/mail.gif' border=0></a></td>
</tr>
</table>
</div>


<!-- БАННЕР -->
<div style='width:100%; text-align:center; margin:2px'>
<img src='pics/banner660x89.gif'>
</div>


<!-- ОСНОВНАЯ ЧАСТЬ -->
<div>

<table class='bluetext' style='width:100%; height:44px; background:url("pics/b115.gif") no-repeat; '>
<tr><td style='padding-top:15px; padding-left:29px;'>Про Сайтмаркет</td>
<?php
if(session_is_registered('user'))
{
echo "<td style='font-family:arial; font-size:8pt; text-align:right; vertical-align:bottom;'>";
include('username.php');
echo "</td>";
}
?>
</tr>
</table>

<div style='height:1px; background:#00609D; width:100%; margin-bottom:1px; margin-top:0px'><img src='pics/oppix.gif'></div>
<div class='sm_desc' style='100%'>Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета Текст Описание Сайтмаркета </div>


<!-- VIP лоты -->
<?php
if(VIPlotsCount() > 0)
{
?>
<table style='width:100%' cellspacing=0>
<tr><td colspan=2 style='height:42; background:url("pics/b121.gif") no-repeat right'>&nbsp;</td></tr>
<tr>
<td rowspan=2 style='border-top:#B2B2B2 solid 1px; border-left:#B2B2B2 solid 1px; border-bottom:#B2B2B2 solid 1px; padding:11px;'>
<?php PrintVipLots(); ?>
</td>
<td style='width:153; height:71px; background:url("pics/b122.gif") no-repeat top; border-right:#B2B2B2 solid 1px;'>&nbsp;</td>
</tr>
<tr><td style='border-right:#B2B2B2 solid 1px; border-bottom:#B2B2B2 solid 1px'>&nbsp;</td></tr>
</table>
<?php } ?>


<!-- категории -->
<?php
if($section==0)
{ echo "<div class='bluetext' style='width:100%; height:44px; background:url(pics/b131.gif) no-repeat right; text-align:right'><div style='padding-top:18px; padding-right:35px;'>Категории сайтов</div></div>";

echo "<table align=center width='75%' class='blacktext'>";
PrintMarketSections($section, $page, $sort, $site_filter, $domain_filter, $hosting_filter);
echo "</table>";
}
?>

<!-- показать -->

<script language='JavaScript' type='text/javascript'>
function CheckboxClick()
{
if(document.getElementById('check_sites').checked || document.getElementById('check_domains').checked || document.getElementById('check_hosting').checked) document.getElementById('check_all').checked=false;
else document.getElementById('check_all').checked=true;
}
function AllCheckboxClick()
{
document.getElementById('check_sites').checked=false;
document.getElementById('check_domains').checked=false;
document.getElementById('check_hosting').checked=false;
}
</script>


<?php

echo "<form action='' method='get' class='lightgraytext' style='text-align:center;'><table style='width:514px; margin-top:20px; margin-bottom:20px; text-align:center' align=center>
<tr><td>Показать:<td><a href='?section=$section&page=$page&sort=$sort&site_filter=0&domain_filter=0&hosting_filter=0'><input id='check_all' type='checkbox' onclick='AllCheckboxClick()'";
if($site_filter==0 && $domain_filter==0 && $hosting_filter==0) echo " checked";
echo "> Все</a><td><a href='?section=$section&page=0&sort=$sort&site_filter=1&domain_filter=0&hosting_filter=0'><input id='check_sites' name='site_filter' type='checkbox' onclick='CheckboxClick()'";
if($site_filter==1) echo " checked";
echo "> Сайты</a><td>+<td><a href='?section=$section&page=0&sort=$sort&site_filter=0&domain_filter=1&hosting_filter=0'><input id='check_domains' name='domain_filter' type='checkbox' onclick='CheckboxClick()'";
if($domain_filter==1) echo " checked";
echo "> Домены</a><td>+<td><a href='?section=$section&page=0&sort=$sort&site_filter=0&domain_filter=0&hosting_filter=1'><input id='check_hosting' name='hosting_filter' type='checkbox' onclick='CheckboxClick()'";
if($hosting_filter==1) echo " checked";
echo "> Хостинг</a>
<td><input type='submit' value='Показать' class='button'>
</table></form>
";
?>

<!-- сортировать -->
<?php
echo "<table class='lightgraytext' style='width:320px; margin:17px;'>
<tr><td>Сортировать по:</td><td>";
if($sort=="domain_desc") echo "<img src='pics/sort_desc.gif'>";
else echo "<img src='pics/sort_asc.gif'>";
echo " <a href='?section=$section&page=$page&sort=";
if($sort=="domain_asc") echo "domain_desc";
else echo "domain_asc";
echo "&site_filter=$site_filter&domain_filter=$domain_filter&hosting_filter=$hosting_filter'";
if($sort=="domain_asc" || $sort=="domain_desc") echo " class=marked";
echo ">домену</a> </td> <td>";
if($sort=="date_asc") echo "<img src='pics/sort_asc.gif'>";
else echo "<img src='pics/sort_desc.gif'>";
echo " <a href='?section=$section&page=$page&sort=";
if($sort=="date_desc") echo "date_asc";
else echo "date_desc";
echo "&site_filter=$site_filter&domain_filter=$domain_filter&hosting_filter=$hosting_filter'";
if($sort=="date_desc" || $sort=="date_asc") echo " class=marked";
echo ">дате</a> </td><td>";
if($sort=="price_asc") echo "<img src='pics/sort_asc.gif'>";
else echo "<img src='pics/sort_desc.gif'>";
echo " <a href='?section=$section&page=$page&sort=";
if($sort=="price_desc") echo "price_asc";
else echo "price_desc";
echo "&site_filter=$site_filter&domain_filter=$domain_filter&hosting_filter=$hosting_filter'";
if($sort=="price_desc" || $sort=="price_asc") echo "class=marked";
echo ">цене</a> </td> </tr>
</table>";
?>

<!-- сейчас в продаже -->
<div style='height:1px; width:100%; background:url("pics/b141.gif"); margin-left:4px; margin-bottom:2px;'><img src='pics/oppix.gif'></div>
<div class='whitetext' style='width:100%; height:18px; margin-left:4px; padding-left:12px; background:url("pics/b142.gif") #7DB713;'><div style='padding-top:2px'>Сейчас в продаже</div></div>

<?php
PrintLots($section, $page, $sort, $site_filter, $domain_filter, $hosting_filter);
?>


</div>


</TD></TR>
</TABLE>


<!-- ПОДВАЛ -->
<?php include('bottomline.php'); ?>
<?php include('closemarketbase.php'); ?>

</body>
</html>
Александр К.
36 сообщений
#17 лет назад
После прочтения первых трех строк вывод один - говно
 А.
44 сообщения
#17 лет назад
А что конкретно не так?
Алексей Г.
207 сообщений
#17 лет назад
А зачем так всё сложно?!

Одно из основных качеств хорошего программиста - это написание оптимального кода...
Александр К.
36 сообщений
#17 лет назад
Register Globals
 Александр
4 сообщения
#17 лет назад
Ничего критичного, на мой взгляд. Ну, разьве что никто не возьмётся за доработку этого скрипта кроме аффтора, т.к. в нём и правда чёрт ногу сломит. И вобще сейчас в моде шаблонизаторы, а не помесь ПХП с ХТМЛ, где стиль прописан в тегах, а не через ЦСС. Но, поверьте, сайты ещё и не на таком работают.

Поработал в пре веб-студий - там такое творится. Новичкам без опыта работы дают писать с нуля сайт на незнакомом шаблонизаторе, за который у заказчика просят несколько тысяч долларов. Там код ещё похлеще. Так что без паники. Бывает лучше, но бывает и хуже.
Эдуард К.
45 сообщений
#17 лет назад
alikfeld,

А верстку HTML тоже он делал или еще один исполнитель?
Я за PHP давно уже не брался, так что глянул наискосок, а вот сам HTML-код странички "напряг" уже с самой первой строчки

Написано:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


А правильнее было бы со ссылкой на dtd-файл, типа этого (строку для HTML4 забыл уже):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


Теги то большими, то маленькими написаны. Это как бы не принципиально, но говорит о последовательности в работе, о технике и т.д.
Стили в самом коде - это вообще признак дурного тона.

Но не смотря на все это оно же работает?
Тут в чем дело?

Допустим есть 2 исполнителя. Один просит за работу 100 баксов, а другой 200 или 300. И оба выполняют заказ так, как вам необходимо. Так в чем же разница? А вот во внутренностях она и кроется. Вы платите в 2-3 раза больше и получаете не только рабочий результат, но и качественный код, который с легкостью прочитает любой другой программер, который можно будет легко расширять без лишних переделок, который гарантирует отсутсвие досадных незаметных оплошностей. Вы платите за опыт и получаете высокий уровень аккуратности. А в первом случае получаете лишь рабочий результат без всего остального и рискуете, что при развитии проекта этот код поставит ваше расширение в тупик и придется заплатить заново за переделку существующего кода в божеский вид
 А.
44 сообщения
#17 лет назад
Спасибо. Есть еще чьи-нибудь мнения?
Игорь Грицишин
519 сообщений
#17 лет назад
Цитата ("site_creators"):
После прочтения первых трех строк вывод один - говно

А что Вас так встревожило?
Первые три строчки кода и Вы уже сделали выводы?:shok:
Андрей Халецкий
3563 сообщения
#17 лет назад
site_creators, само по себе - ничего страшного.
alikfeld, работает - не трогать. Если немного платить то не самы плохой результат ;-) по крайне мере данные проверяютс яв условиях.
 А.
44 сообщения
#17 лет назад
На самом деле я бы хотел оценить уровень кода, уровень программиста, а не хороший или плохой это результат относительно затрат, тем более, я их не опубликовал, кстати они не маленькие для проекта, конечно, можно было найти более продвинутого программиста, в принципе, такой уже есть. Главный вопрос-это стоит ли переписывать сайт, потому что, если стоит, то это надо начинать уже очень скоро. Судя по постам, переписывать нет необходимости, сайт не обвалится при большом количестве посетителей, не заглючит и тд.д, так?
Андрей Халецкий
3563 сообщения
#17 лет назад
С точко зрения производительности - быстрее чем многие шаблонизаторы (да и тормозит обычно не ПХП код, а SQL запросы).
Александр Х.
76 сообщений
#17 лет назад
Больше чем уверен, что заказчик заплатил не более 100$ за этот проект, какая оплата, такая и работа.
Скупой платит дважды, это работает всегда.
 А.
44 сообщения
#17 лет назад
Вы в несколько раз ошибаетесь насчет цены.
Михаил П.
6 сообщений
#17 лет назад
IMHO. Я хоть и не специалист в PHP, но представление имею. За сей код (качество кода, не говорю о работоспособности) я бы не заплатил и $10. Так профессионалы не пишут.
 А.
44 сообщения
#17 лет назад
Спасибо, я сделал для себя выводы. Ведь я не мог сам разобраться в качестве кода, работает и работает, теперь же будем думать дальше.
 Александр
4 сообщения
#17 лет назад
Вот кстати про возможную тормознутость SQL запросов - верное замечание. Если и правда беспокоитесь, не упадёт ли ваш сайт, то покажите кусок кода с запросами. А то до сих пор есть ещё деятели, которые пихают прилетевшие данные в базу не обрабатывая. Такие сайты школьники "взламывать" любят.
Станислав Малкин
1410 сообщений
#17 лет назад
Цитата ("sxq"):
Больше чем уверен, что заказчик заплатил не более 100$ за этот проект, какая оплата, такая и работа.
Скупой платит дважды, это работает всегда.


Нет, просто заказчик не разбирается(-лся) в программистах и поэтому не уделил нужного внимания подбору реализатора. К сожелению проект действительно за приличные деньги обошелся. А вот качество кода внутри - припаскуднейшее.
Андрей Л.
457 сообщений
#17 лет назад
Ув. ArtLab, если позволите... Я хотел бы именно от Вас услышать недостатки данного кода..
Я не спорю - что их нет но все же....

Был бы очень благодарен. Интересно равнятся на професионалов...

ПС: просто все говорят - "плохой", "нормальный" но вот почему я услышал только от некотрых....

С ув. Андрей
Александр Х.
76 сообщений
#17 лет назад
Прежде чем ругать исполнителя и автора этих скриптов, пусть заказчик опубликует ТЗ, по которому было все сделано и сумму, которую он оплатил, не спорю, что он мог заплатить и 500$, при этом ТЗ явно не соответсвовало этих денег, например, за 500$ хотел воспроизвести работу Яндекса
ArtLab, вы заказчик? вы так уверено говорите!