Files
NewQuant/.kilocode/rules/formatting.md
liaozhaorun c0d996f39b feat(strategy_manager): 添加策略自动启动的白名单管理
实现全面的白名单管理系统,支持策略自动启动:

- 添加 WhitelistManager 类用于持久化白名单配置存储
- 将白名单功能集成到 StrategyManager 核心模块
- 添加用于白名单 CRUD 操作的 REST API 端点
- 通过 start.py 创建用于白名单管理的 CLI 命令
- 更新前端 UI,添加白名单状态指示器和批量操作功能
- 实现每日 08:58 的自动启动调度
- 为白名单操作添加配置验证和日志记录

同时添加项目文档:
- 代码格式规则(缩进、行长度、导入、命名)
- 文件、变量、常量、函数、类的命名规范
- 受限制文件和目录的保护规则
2026-01-26 01:21:46 +08:00

96 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 代码格式规则 (Formatting Rules)
本项目遵循以下代码格式规范:
## 1. Python 代码规范
### 1.1 缩进
- 使用 **4个空格** 进行缩进
- 不使用 Tab 键
### 1.2 行长度
- 每行代码最大长度:**100 字符**
- 文档字符串最大长度:**80 字符**
### 1.3 空行
- 类定义之间:**2个空行**
- 方法定义之间:**1个空行**
- 函数定义之间:**2个空行**
- 逻辑段落之间:**1个空行**
### 1.4 导入顺序
```python
# 标准库导入
import os
import sys
from datetime import datetime
# 第三方库导入
import numpy as np
import pandas as pd
# 本地项目导入
from src.backtest_engine import BacktestEngine
from src.data_manager import DataManager
```
### 1.5 空格使用
- 在逗号后添加空格:`func(a, b, c)`
- 在运算符两侧添加空格:`a + b`
- 不要在括号内添加空格:`func(a)` 而不是 `func( a )`
- 函数参数列表内不要有多余空格
## 2. 命名规范
### 2.1 变量命名
- 使用 **小写字母 + 下划线**`trade_volume`, `stop_loss_points`
- 私有变量使用前缀下划线:`_internal_cache`
### 2.2 常量命名
- 使用 **全大写 + 下划线**`MAX_POSITION`, `DEFAULT_STOP_LOSS`
### 2.3 函数命名
- 使用 **小写字母 + 下划线**`calculate_metrics()`, `get_bar_history()`
### 2.4 类命名
- 使用 **大驼峰命名法 (PascalCase)**`SimpleLimitBuyStrategy`, `BacktestEngine`
## 3. 文档字符串规范
### 3.1 所有公共类和方法必须有文档字符串
```python
class SimpleLimitBuyStrategy(Strategy):
"""
一个基于当前K线Open、前1根和前7根K线Range计算优势价格进行限价买入的策略。
具备以下特点:
- 每根K线开始时取消上一根K线未成交的订单
- 最多只能有一个开仓挂单和一个持仓
- 包含简单的止损和止盈逻辑
Args:
context: 模拟器实例
symbol: 交易合约代码
trade_volume: 单笔交易量
"""
```
### 3.2 复杂逻辑必须添加注释说明
## 4. 类型提示规范
- 推荐为函数参数和返回值添加类型提示
- 使用 `from typing` 导入类型
- 循环导入时使用 `TYPE_CHECKING`
```python
from typing import Dict, Any, Optional, TYPE_CHECKING
if TYPE_CHECKING:
from src.backtest_engine import BacktestContext
```
## 5. Git 提交规范
- 提交信息使用中文或英文
- 格式:`[类型] 描述`
- 类型feat, fix, docs, style, refactor, test, chore