# 命名规范

## PHP

WooCommerce 核心通常遵循 [WordPress PHP 命名规范](https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#naming-conventions)。此外，函数、类和钩子名称应添加前缀。对于函数，前缀为 `wc_`；对于类，前缀为 `WC_`；对于钩子，前缀为 `woocommerce_`。

函数名称示例：

- `wc_get_product()`
- `wc_is_active_theme()`

类名称示例：

- `WC_Breadcrumb`
- `WC_Cart`

钩子名称示例（操作或过滤器）：

- `woocommerce_after_checkout_validation`
- `woocommerce_get_formatted_order_total`

但是，对于在 `src/` 目录中定义的类，有一些例外。在该目录中：

- 我们不为类名称使用 `WC_` 前缀（因为所有这些类都位于 `Automattic\WooCommerce` 命名空间中，因此不需要前缀）。
- 类名称使用 `CamelCase` 约定（但是，方法名称仍然应使用 `underscore_separated` 格式）。
- 类文件应与类名称匹配，并且不需要 `class-` 前缀（例如，`StringUtil` 类的文件名是 `StringUtil.php`）。

## JS

WooCommerce 核心遵循 [WordPress JS 命名规范](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/#naming-conventions)。与 PHP 类似，函数、类和钩子名称应添加前缀，但 JS 的约定略有不同，并且使用 `camelCase` 而不是 `snake_case`。对于函数，前缀为 `wc`；对于类，前缀为 `WC`；对于钩子，前缀为 `woocommerce`。

函数名称示例：

- `wcSettings()`

类名称示例：

- `WCOrdersTable`

钩子名称示例（操作或过滤器）：

- `woocommerceTracksEventProperties`

## CSS 和 SASS

请参阅 [CSS SASS 编码指南和命名规范](/docs/contribution/contributing/CSS-SASS-coding-guidelines-and-naming-conventions)。