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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    function getAvailablePrivileges(Workset_Model_Object_Interface $resource, $where = null, $order = null, $limit = null, $offset = null, $offsetByPage = false) {
    
            if (true == $offsetByPage) {
                $offset = $this->getPageOffset($limit, $offset);
            }
    
    	$table = $this->_getTable();
    	$select = $table->prepareSelect($where, $order, $limit, $offset);
    
            $iselect = $this->_getTable()->select();
    
            $iselect->from(
                array('m' => $this->_getTable()->info(Zend_Db_Table_Abstract::NAME)),
                array('id')
            )
           ->join(
                array('i' => $this->_getTable($this->_linkedObjectTableClass)->info(Zend_Db_Table_Abstract::NAME)),
                "i.privilege_id = m.id",
                array()
            )
            ->where(
                'i.resource_id = ?', $resource->getId()
            );
    
            $select->where("id not in(?)", new Zend_Db_Expr($iselect->assemble()));
    
            $rowset = $table->fetchAll($select);
    
            return $this->getIterator($rowset, array(
                'countRows' => $this->_countAllRecords,
                'filter' => $select
            ));
    
        }

    Из проекта на Zend

    Запостил: govnomes, 11 Февраля 2011

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

    • годнокод. саммоню кэпа, ау?
      Ответить
    • Забыл как это называется, когда у человека тяга давать длинные и ни о чем не говорящие названия сущностям, типа того же Workset_Model_Object_Interface в котором только Workset, да и то с натяжкой, можно назвать осмысленным. Причем, в таких проектах, как правило находятся несколько классов похожих друг на друга как Workset_Object_Model_Interface на Workset_Model_Object_Interface, которые обязательно будут напоминать о своем существовании раз в несколько дней. В проекте, над которым работаю, идиот который его писал оставил классы типа com.companyName.project.data.view.data.c ontrollers.ViewDataController - мало того, что такой класс, как правило занимается, в том числе и тем, что парсит данные из строкового представления, я все время забываю, где эта дрянь находится :) (в проекте есть еще несколько пакетов, в названии которых фигурирует controller, data и view в разных комбинациях). Любая попытка этот бред выбросить заканчивается истериками со стороны оставшихся членов команды...
      Ответить
      • К сожалению, имена классов в zend строятся таким образом (типа пакеты )))
        Ответить
        • Zend Naming Conventions
          http://framework.zend.com/manual/en/coding-standard.naming-conventions.html
          Ответить
        • А кто сказал, что Zend - это эталон? :) Да, я знаю, что так строятся, мне одно время пришлось патчить Zend_Amf библиотеку. Но т.как весь остальной фреймворк был не нужен, закончилось переписыванием заргузчика классов. Zend наверное больше любят потому что Drupal и другие еще хуже, но это никак не говорит о том, что он хороший, просто от безысходности :)
          Ответить

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