1. PHP / Говнокод #7145

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function getComponentList($state, $unit = '') {
    	global $smarty;
    		$suser = _sessionVar('user');
    		$_GET['state'] = $state;
    		$_GET['unit'] = $unit;
    ....

    Запостил: LmSys, 04 Июля 2011

    Комментарии (29) RSS

    • И чё, работает?
      Ответить
      • там настолько много такого кода, что я уже и не понимаю как это все работает
        Ответить
      • Почему нет?

        Говнокод, плохая практика, работа через жопу - да.
        Но код делает то, что автор хотел - меняет суперглобальную переменную $_GET.
        Ответить
        • ах да забыл сказать это маленький кусочек проекта seat который стоит 3к $
          Ответить
          • 3k $ за одну лицензию на использование, или это вся стоимость разработки?

            Если второе, то я не удивлен. Результат достойный оплаты.
            Ответить
            • результат менеджеров а не прогеров...
              Ответить
          • на цену не влияет кошерность кода. а лишь кол-во свистоперделок.
            на моей памяти немало крупных проектов, в которых я участвовал (парочка даже госзаказ на миллионы) - внешне все было гламурно, 90% хуякса и все такое, но внутри код кошмарнейший настолько, что иногда я даже увольнялся, лишь бы не сношаться с этим ужасом сверхурочно
            Ответить
            • Где как.

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

              Посчастливилось быть участником одного такого случая.
              Ответить
              • к сожалению, такие случаи редки. Как правило, менеджеры настолько озабочены мгновенной прибылью, либо не разбираются в специфике программирования, что не желают вкладываться на дальнюю перспективу, и подписываются на большую функциональность и малые сроки - в которые даже хороший спец не может успеть сделать все по науке, приходится говнокодить, а рефакторинг проводить между делом. А если еще и команда набрана из студентов, то они вообще не ставят вопрос об облегчении себе и другим поддержки их писанины.
                Ответить
            • вот и я сейчас думаю искать новую работу либо такие шаги назад делать это слишком...
              Ответить
              • у меня друг профессиональный программер - и он считает, что профессионал должен уметь сделать из говна конфетку
                Ответить
                • не вопрос... просто когда говно мамонта это проще переписать...
                  Ответить
                  • и мы тут все свои http://www.seat.ua/ включаем фаербаг и смотрим на 404
                    Ответить
                  • если никто не гонит в шею - можно и потихоньку переписывать некоторые части
                    Ответить
                    • а смысл? востребованность есть. смысл на это тратить время притом что деньги не большие...
                      Ответить
                      • Смысл? Развитие.

                        По твоим коментам и говнокодам создается впечатление, что ты не совсем еще зубр.

                        Рефакторинг и чтение говнокода - полезный и продаваемый навык, востребованный даже в самых солидных студиях.

                        Не говоря уж о том, что местами поняв почему то, что на первый взгляд выглядело явным говнокодом на самом деле является оптимальным решением, можно поднять общий уровень.
                        Ответить
                        • ладно дело к ночи... не буду выкладывать свои "метражи"... я о том что человек после 8 лет программинга не должен тратить свое время на исправление черти знает что просто по просьбе начальства... кто со мной не согласен либо мудень который не найдет работу лучше либо, хрен его знает, бог программинга
                          Ответить
                          • начальству не нужен рефакторинг. начальству нужен результат. а рефакторинг нужен программисту, который хочет испускать меньше своей крови при допиливании и реализации новых функций
                            Ответить
    • suser
      Ответить
    • global
      Сразу нахуй.
      Ответить
      • мало того, что global, так еще и global $smarty;
        Ответить
        • ты же в соседнем посте защищал glabal'ы? -)
          Ответить
          • > glabal'ы
            да, синглтоны можно в глобальных хранить. Но лучше в константах, потому что каждый раз писать global быстро заколебет
            да и иерархию сложнее соблюдать
            Ответить
    • Да хрен с этой смарти, переопределение $_GET это зло.
      SWITCH (случаи необходимости рефакторинга){
      case: если сам написал говно
      нада рефакторить - в целях повышения своего уровня
      break;
      case: Есть необходимость менять чужой участок кода
      нада рефакторить - чтобы отделаться малой кровью
      break;
      case: Заплатитли кэш за рефакторинг
      тут понятно
      break;
      default:
      Нах. надо че-то делать за бесплатно все равно не оценят.
      break;
      }
      Ответить
      • сережа, это ты?

        > переопределение $_GET это зло.
        нет, просто плохой дизайн. Помню, этому даже учили, если надо инклудить (хотя такая потребность сама по себе уже плохой дизайн) скрипт, который полагается на $_GET, то include('govno.php?g1=g2'); не сработает
        Ответить
        • Не знаю кто и где этому учит. Но ты сам говоришь что такая потребность уже плохой дизайн)))

          переопределение $_GET->плохой дизайн->это плохой код-> это говнокод->это зло, а значит
          переопределение $_GET -> это зло)))) по-моему все логично

          Меня учили стараться избегать переопределение суперглобалов.
          ЗЫ: Незнаю никакого Сережу!
          Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий