Была ли конкретная стилистика кода на работе?

«Была ли конкретная стилистика кода на работе?» — вопрос из категории Софт-скиллы, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Да, в моих проектах мы строго придерживались стандартов PSR (PHP Standards Recommendations) и внутренних правил команды.

Основные применяемые стандарты:

  1. PSR-12 (Extended Coding Style Guide): Определял форматирование (отступы в 4 пробела, размещение фигурных скобок, переносы строк, пробелы вокруг операторов).
  2. PSR-1 (Basic Coding Standard): Задавал базовые правила, такие как использование только <?php и <?= тегов, именование классов и методов.
  3. PSR-4 (Autoloading Standard): Регламентировал структуру пространств имен и автозагрузку классов, что было критически важно в наших проектах на Laravel и Symfony.

Пример кода, соответствующего этим правилам:

<?php

declare(strict_types=1);

namespace AppServicesPayment;

use AppContractsPaymentProcessorInterface;
use AppDTOPaymentDetails;
use AppExceptionsPaymentFailedException;

class StripePaymentService implements PaymentProcessorInterface
{
    private float $commissionRate;

    public function __construct(float $commissionRate = 0.02)
    {
        $this->commissionRate = $commissionRate;
    }

    public function process(PaymentDetails $details): string
    {
        $amountWithCommission = $details->amount * (1 + $this->commissionRate);
        // ... логика интеграции со Stripe API
        return $this->chargeCustomer($details->token, $amountWithCommission);
    }
}

Дополнительно мы использовали:

  • PHP_CodeSniffer с правилами PSR12 для автоматической проверки стиля в CI/CD.
  • PHPStan / Psalm для статического анализа типов.
  • Единый стиль PHPDoc-комментариев для документирования методов.