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

2.4 KiB
Raw Blame History

代码格式规则 (Formatting Rules)

本项目遵循以下代码格式规范:

1. Python 代码规范

1.1 缩进

  • 使用 4个空格 进行缩进
  • 不使用 Tab 键

1.2 行长度

  • 每行代码最大长度:100 字符
  • 文档字符串最大长度:80 字符

1.3 空行

  • 类定义之间:2个空行
  • 方法定义之间:1个空行
  • 函数定义之间:2个空行
  • 逻辑段落之间:1个空行

1.4 导入顺序

# 标准库导入
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 所有公共类和方法必须有文档字符串

class SimpleLimitBuyStrategy(Strategy):
    """
    一个基于当前K线Open、前1根和前7根K线Range计算优势价格进行限价买入的策略。
    
    具备以下特点:
    - 每根K线开始时取消上一根K线未成交的订单
    - 最多只能有一个开仓挂单和一个持仓
    - 包含简单的止损和止盈逻辑
    
    Args:
        context: 模拟器实例
        symbol: 交易合约代码
        trade_volume: 单笔交易量
    """

3.2 复杂逻辑必须添加注释说明

4. 类型提示规范

  • 推荐为函数参数和返回值添加类型提示
  • 使用 from typing 导入类型
  • 循环导入时使用 TYPE_CHECKING
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