From 2aeaec79d60e08c01f0f3919b12b05d0f4355bd7 Mon Sep 17 00:00:00 2001 From: Nick Zeng Date: Mon, 2 Feb 2026 13:46:45 +0800 Subject: [PATCH] add backend coding standard --- docs/后端命名与编码规范.md | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/后端命名与编码规范.md diff --git a/docs/后端命名与编码规范.md b/docs/后端命名与编码规范.md new file mode 100644 index 0000000..fcac180 --- /dev/null +++ b/docs/后端命名与编码规范.md @@ -0,0 +1,46 @@ +# 命名与编码规范 + +## 基本原则 + +项目严格遵循 [PSR-1](https://www.php-fig.org/psr/psr-1/)、[PSR-4](https://www.php-fig.org/psr/psr-4/)、[PSR-12](https://www.php-fig.org/psr/psr-12/) 规范。 + +## 命名规范 + +| 类型 | 规范 | 示例 | +|------|------|------| +| 类名 | PascalCase | `OrderConsumer` | +| 方法名 | camelCase | `handleOrder()` | +| 类属性 | camelCase | `$eventDispatcher` | +| 类中数据库字段注解 | snake_case | `$platform_order_id` | +| 方法参数 | snake_case | `$order_id` | +| 方法内变量 | snake_case | `$total_amount` | +| 常量 | UPPER_SNAKE_CASE | `MAX_RETRY_COUNT` | + +## 示例 + +```php +class OrderService +{ + protected OrderRepository $orderRepository; // 类属性: camelCase + + public function calculateTotal(array $order_items, float $discount_rate): float + { + $total_amount = 0; // 方法内变量: snake_case + + foreach ($order_items as $item) { + $item_price = $item['price'] * $item['quantity']; + $total_amount += $item_price; + } + + return $total_amount * (1 - $discount_rate); + } +} +``` + +## 类型签名 + +方法必须声明参数类型和返回类型: + +```php +public function findById(int $order_id): ?Order +```