×

welcome to the real world neo

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Нашел проджект где можно денег заработать (на еду).
Исходинки начинаються в 2008-2011, большая часть работает наполовину. Коментариев нет, mvc тоже нет, все самописное.
Код примерно такой.

function init(){}

  function auth(){}

  function exec($mode = DSL_MODE_NORMAL){
    $this->mode = $mode;
    $this->init();
    if($user = $this->user) $this->auth($user);
    if($error = $this->access())
    { ... }
    else die('No Documents');
    die();
  }
function access(){
    foreach($this->sort($this->permissions) as $permission) if($permission->access($this)) return $permission;
  }
$permission нигде не инициализируеться.
куча синтаксических и логических ошибок.
$doc1 = $this->document('�������', 'root', 'main', null, null, 3);
$doc2 = $this->cat_document = $this->hidden('���������', 'root', 'category');
$doc9 = $this->document('�����������', 'root', 'reg');
$doc11 = $this->hidden('����', 'root', 'login');
$doc12 = $this->hidden('����', 'root', 'forget');
$doc7 = $this->document('�������', 'root', 'basket');
$doc100 = $this->hidden('����� ������', 'root', 'order_accepted');
$doccmp = $this->hidden('��������� �������', 'root', 'compare_products');
$doc8 = $this->document('�����', $doc1, 'logout', 'logout');
$doc10 = $this->page_document = $this->hidden('��������', 'root', 'page');
$doc14 = $this->search = $this->hidden('������ ������', 'root', 'search');
и как вы обычно поступаете в таких случаях???
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Об этом нужно думать не после того, как достался ховнопроект, а перед тем, как связываться с пехепе :) .

вам несказанно повезло если вы ещё не сталкивались с говно*кодом на яве

Или с гавноархитектурой, сделанной ненормальным фанатиком особо хитровыделанных решений. Возможно, не единственным.

Задрот получил удовольствие и ушёл (или его «ушли»), а куча людей теперь за голову хватается.

Копался в ховнокоде и там, и там. Если на Java это был просто просто плохой код с которым неприятно работать, то на пыхе — нечто совсем за гранью, полный абзац.
Если на Java это вопрос того, насколько повезло или не повезло с проектом, то на пыхе это скорее правило с единичными исключениями.

Знаете, я иногда проглядываю сайт govnokod.ru. И в последнее время все реже и реже вижу там PHP. Вот даже сейчас на второй странице (?page=840) я наблюдаю 3 джавы, 3 дотнета, с++ и ни одного пхп. Язык растет, сообщество умнеет. Хватит жить в 2002-м.

Для веб — проекта есть возможность относительно несложно делать «миксы». А именно: писать новые куски кода или переделывать отдельные старые по-нормальному, а потом просто вставлять в нужное место страницы. Как именно — зависит от технологий. Если есть AJAX — то совсем просто: можно хоть новый проект с нуля делать и потом отдельный кусочек сайта будет с ним работать.

В случае чужого хренового кода проще выйдет переписать нужный кусок с нуля (желательно начиная с юнит-тестов), чем пытаться починить или зареюзать старый.

это если получится быстро во вьюхах разобраться, что бы в нужном месте встроить аякс и шаблоны. друпал например закостылить проще, чем интегрировать с чем-то хорошим:) во всяком случае не имея опыта работы с ним

костылю и говнокодю, код ведь должен быть в одном стиле :D

если проект надолго, то возможно стоит немного его облагородить:)

код писало минимум человек 7 в течении последнего года.

если проект надолго, то возможно стоит немного его облагородить:)

интернет магазин, и заказчик говорит чем дольше тем лучше. конечно нужно превисти все в норм вид, как минимум. а лучше переписать все с нуля. :) вопрос в том как объяснить заказчику, правильно?

логика: объяснить что поддержка будет занимать все больше и больше времени — договориться покрывать тестами, переписывать свои части.
интуиция: искать другой проект

Grit your teeth and done work well )

интуиция: искать другой проект

вопрос в том как объяснить заказчику, правильно?
Розказати про технічний борг і до чого він призводить.
и как вы обычно поступаете в таких случаях???
Новий функіонал дописую з норм архітектурою. Поступово витісняю старий код новим.

Підписатись на коментарі