@V_Tjuryakin
Перфекто

Какой тут может быть *овнокод?

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

public function getIndex()
    {
        $title = 'Мои компании';

        $where = array('uid' => Sentry::getUser()->id);
        if (Input::has('status')) $where['status'] = (Input::get('status') ? 1 : 2);

        $company_list = new CompanyList();
        $company = $company_list->get($where)->paginate(1);

        return View::make('dashboard.account', compact('title'))->with(array(
            'company' => $company
        ));
    }
  • Вопрос задан
  • 2893 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) Форматирование кода ужасно. Начнем с этого.
2) что тайтл делает в контроллере?
3) что за 1 и 2, что они значат? Стоит заменить на константы хотя бы.
4) уже пару лет можно использовать сокращенный синтаксис массивов
5) У вас же есть IoC, почему вы вызываете new CompanyList()? К чему это вообще относится? Что происходит?

Короче... ужас... контроллер это то место, по которому должно быть понятно что там происходит. Что-то в этом духе:

class CompanyListController {

    /**
     * @var CompanyRepositoryInterface
     */
    private $companyRepository;

    function __construct(CompanyRepositoryInterface $companyRepository)
    {
         $this->companyRepository = $companyRepository;
    }

    public function getIndex() 
    {
            $companies = $this
                 ->companyRepository
                 ->getCompanyByUser(Sentry::getUser()->id, Input::get('status', false))
            ;

            return View::make('dashboard.account')->with(compact('companies'));
    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
JhaoDa
@JhaoDa
LaravelRUS Team
Как минимум:
— смесь CamelCase и snake_case,
— смесь compact() и View::make->with().
Ответ написан
Всё зависит от многих факторов, в том числе предпочтений Вашего коллеги и устоявшихся в Вашей компании правилах оформления кода. Узнайте подробности сначала у Вашего коллеги, а затем у Вас, наверняка, появится куча вопросов экзистенционального характера, касающиеся вопросов оформления кода, после нахождения ответов на которые, Вы выработаете собственный стиль, который сможете обосновать любому и вряд ли будете стремиться задавать такие вопросы тут... :)
Ответ написан
Комментировать
OnYourLips
@OnYourLips
Экономия символов LF - говнокод.
Ответ написан
Комментировать
Rikcon
@Rikcon
if (Input::has('status')) $where['status'] = (Input::get('status') ? 1 : 2);
Вот этот кусок странно отформатирован как-то, я только минуты через 2 догнал что тут происходит )
Ответ написан
Комментировать
65536
@65536
помимо сказанного, используйте автоформат. возьмите конфиг у коллеги, или накрутите свой и всегда им пользуйтесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы