За последние 24 часа нас посетили 54374 программиста и 1659 роботов. Сейчас ищут 1040 программистов ...

Ломать не строить...

Тема в разделе "Беседы", создана пользователем Алекс8, 18 дек 2017.

  1. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Привет всем)) а бывает у вас такое что пишешь, пишешь.. делаешь классы.. вроде все работает.. а потом вдруг смотришь на это и понимаешь что фигню сделал.. и если заново все переделать будет лучше?))
    Что делаете в этом случае?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    переписываю с нуля ядро фреймворка, и с каждым разом все лучше и лучше. Конструктивнее, разборчиво
     
  3. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    какого фреймворка?)
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    очень часто

    работает? - нетрогай
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    всегда (((
    Если это боевой проект, рефакторю потихоньку...но каждый раз упирается все в ту же херню....поэтому это бесконечный процесс...
     
  6. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    постоянно
     
  7. voral

    voral Активный пользователь

    С нами с:
    30 ноя 2017
    Сообщения:
    646
    Симпатии:
    104
    Постоянно. ИМХО если не можешь придраться к коду написанному год назад - скорее всего остановился в развитии или погряз в проекте суть которого - болото.

    Не является необходимой и достаточной причиной для рефакторинга. Ключевое тут: работает и проходит все тесты. Если возникнут еще причины исправлять этот код тогда да.
    --- Добавлено ---
    Навеяло :)
     
    romach нравится это.
  8. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    я недели две назад код писал.. сейчас смотрю и хочу его переделать.. хотя заказчику уже его отдал и он доволен..
    --- Добавлено ---
    кстати вот тут у меня конечно пропуск в знаниях.. никогда не оборачивал тестами свои творения..
     
  9. voral

    voral Активный пользователь

    С нами с:
    30 ноя 2017
    Сообщения:
    646
    Симпатии:
    104
    "Лучшее враг хорошего" ;)
    --- Добавлено ---
    Да тут необязательно "оборачивать". Просто первый раз когда "сдаешь" и сам крутишь разные ситуации, клиент крутит, еще ктото из коллег. Для себя ставишь галочку "проверено". А потом улучшаешь.. Ииии.... Все валится в какомто не совсем стандартном режиме....
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    У меня чаще иначе случается. Потратишь пару-тройку недель на проектирование. Потом напишешь систему, всё летает. Проходит время, приходит клиент и говорит мол а можно вот так? И я такой погрустневший сажусь, читаю исходники. И понимаю что заложил в архитектуру подобное изменение либо вообще безболезненным либо с минимальными патчами. Делаю, сдаю, радуюсь жизни. Переписыванием с нуля конечно тоже занимаюсь (признание как в клубе анонимных алкоголиков, ей богу!), но стараюсь в сознании заложить некоторые границы перфекционизму. А то можно никогда не кончить...
     
    denis01 нравится это.
  11. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    у меня с проектированием лажа выходит...
    какие то мелкие вещи типа плагинов - нормально.. но как только что то покрупнее.. типа самостоятельного сайта..
    вечно где то вначале налажаю что потом костыли ставить приходиться..
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Алекс8 а как ты проектируешь? я вот беру пачку бумаги, 4 цвета ручек и пишу-пишу-пишу. Рисую-рисую-рисую. Добавляю, зачеркиваю, переписываю. Финальный драфт кочует в постановку (тз), что позволяет еще и ненаошибиться при разработке и потом накидать юнит-тесты. Но. Всегда стараюсь проработать драфт с различными житейскими ситуациями по контексту. Их может и не случится в процессе эксплуатации, но в архитектуре будет заложен вариант быстрой реализации функциональности.

    Был у меня однажды забавный казус. Систему написал, сдал, забыл. Спустя годы запрос. Ну я в носу поковырял, выпил для храбрости. Делать-то надо. Открываю, читаю код, что-то вспоминаю. Понимаю куда новый функционал надо закинуть. Лезу туда. А он... там уже есть. То есть реализация была настолько нетрудозатратна по времени, что я её не просто рассмотрел "на будущее" а еще и сразу накодил не описав в постановке - на это время не стал тратить. Поэтому благополучно и забыл.

    И не забываем что я тоже люблю переписывать с нуля, да-да. А то сейчас подумаете что я такой весь хвастун-консерватор - разработал, накодил и баклуши бью. Конечно я трачу время на совершенствование всего. Особенного того что "работает и хер бы с ним" - люблю риск.
     
    denis01 нравится это.
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    как у тебя с обверткой,
    PHP:
    1. <?php
    2.  
    3.  
    4.  
    5. $query = 'SELECT ff ( ?, :ff, :l, :ff )';
    6.  
    7. $execute = [
    8.     1,
    9.     ':ff' => 3,
    10.     ':l' => 2
    11. ];
    12.  
    13.  
    14. if ( strpos ( $query, ':' ) !== false )
    15. {
    16.     preg_match_all('/(\?|:[a-z]{1,})/', $query, $matches);
    17.  
    18.     $new = [];
    19.  
    20.     foreach ( $matches[1] as $plaseholder )
    21.     {
    22.         if ( $plaseholder === '?' )
    23.         {
    24.             $new[] = array_shift ( $execute );
    25.         }
    26.         else
    27.         {
    28.             if ( isset ( $new[$plaseholder] ) )
    29.             {
    30.                 $new[] = $new[$plaseholder];
    31.             }
    32.             else
    33.             {
    34.                 $new[$plaseholder] = $execute[$plaseholder];
    35.              
    36.                 unset ( $execute[$plaseholder] );
    37.             }
    38.         }
    39.     }
    40.  
    41.     $execute = $new;
    42.  
    43.     $query = strtr ( $query, array_fill_keys ( $matches[1], '?' ) );
    44.  
    45.     unset ( $new, $matches, $plaseholder );
    46. }
    47.  
    48. print_r ( $query . PHP_EOL );
    49. print_r ( $execute );
    недоделка, в Лерму позже добавлю
     
  14. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    мне кажется это недостаток работы в команде. Вот я себе поставил цель пару лет в офисе (только на реальных проектах) а только потом на фриланс. Я сейчас на таком уровне скила - "ЧТО делать, я сам не могу придумать, но если мне скажут что делать я смогу найти решение КАК это сделать".
    Постоянно пришу какой то плагин а потом сижу смотрю на него и думаю "интересно а как бы сделал кто то по умней меня", хотя работать будет так же, ну может медленней
     
  15. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    это нормальное явление. но это не значит, что надо всё бросить и прямо сейчас начать заново. с т.з. бизнеса работающее решение важнее, чем "правильный код". даже в собственных поделках надо об этом помнить: важен результат.
     
  16. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    беру блокнот и пишу свои действия на каждой странице)) как куда перехожу.. как что реагирует))
    --- Добавлено ---
    пару костылей поставил - пока работает)) больше не развивал))
    --- Добавлено ---
    не могу себя заставить работать больше.. получать меньше.. и главное не могу заставить себя ходить на работу))
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    p.s. я тоже предпочитаю на бумажке почиркаться сначала. потому что код отражает не только полезные мысли, но и всякий бред ))) специально откладываю процесс набивки кода чтобы %% полезного был выше.
     
  18. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    в смысле больше меньше 0о а что программированием можно зарабатывать?
     
  19. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    можно)) у пхпшников бывают хорошие доходы))
    работы много.. спецов мало))
    поэтому даже новичкам работы хватает))
     
  20. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Постоянно)

    Если такого желания, глядя на свой код годичной давности не появилось - значит роста за это время не произошло (ну, или уровень кода уже на божественном уровне). Так что нормально.