在团队协作开发中,统一的代码规范能够大幅提升代码质量、可维护性和可读性。本文整理了一套 Cursor 项目的开发规则,覆盖了文件结构、函数设计、日志规范、测试要求、Git 提交等方面,确保我们的代码始终保持高质量、可扩展和可维护。
这样做的好处是:代码更简洁,逻辑更清晰,后期维护成本更低。
cursor
等无效的单词作为变量名,避免歧义。这能避免 “魔法数字” 和 “硬编码陷阱”,同时让配置更灵活。
好的日志和错误处理能帮助快速定位问题,避免线上故障被掩盖。
这可以减少无谓的代码风格争论,让团队更专注于业务逻辑。
这样可以最大限度地减少资源泄漏问题。
requirements.txt
(Python)或 package.json
(Node.js)中声明。这是保障系统安全的基本要求。
测试与审查是质量保证的最后一道防线。
提交信息:遵循 Conventional Commits 规范,例如:
feat:
新功能fix:
Bug 修复docs:
文档修改refactor:
代码重构提交检查:所有提交必须通过 pre-commit 检查(lint + test)。
统一的 Git 提交流程能让版本历史更清晰,利于回溯与持续集成。
这能避免 “糊弄式提交”,让问题在第一时间暴露并获得解决。
好的 ✅ 我来给博客补充一个 实际案例,展示 “不符合规则的代码” 和 “符合规则的代码” 的对比,让规范更直观。
我们以一个 车辆数据处理函数 为例,展示如何将一段不规范的代码改造为符合上述规则的版本。
# vehicle.py
import json, time, os
def process(data, cursor): # 命名不清晰,变量名 cursor 禁止使用
f = open("vehicle.log", "a") # 文件路径硬编码,且未显式关闭
try:
js = json.loads(data) # 没有异常处理
if js["speed"] > 100: # 魔法数字
print("Too fast!") # 使用 print 打日志
else:
print("ok")
f.write(data + "\n")
except:
pass # 异常被直接忽略
f.close()
问题总结:
"vehicle.log"
。# config.py
LOG_FILE_PATH = "logs/vehicle.log"
MAX_SPEED = 100
# logger_helper.py
import logging
logging.basicConfig(
filename="logs/system.log",
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s"
)
def log_info(message: str):
logging.info(message)
def log_error(message: str):
logging.error(message)
# vehicle_processor.py
import json
from config import LOG_FILE_PATH, MAX_SPEED
from logger_helper import log_info, log_error
def parse_vehicle_data(data: str) -> dict:
"""解析车辆数据"""
try:
return json.loads(data)
except json.JSONDecodeError as e:
log_error(f"JSON decode error: {e}")
raise ValueError("Invalid vehicle data format")
def validate_speed(speed: float) -> bool:
"""校验车辆速度是否合理"""
return speed <= MAX_SPEED
def save_data_to_file(data: str, filepath: str = LOG_FILE_PATH):
"""保存车辆数据到文件"""
with open(filepath, "a", encoding="utf-8") as f:
f.write(data + "\n")
def process_vehicle_data(data: str):
"""处理车辆数据:解析 -> 校验 -> 存储"""
vehicle = parse_vehicle_data(data)
if not validate_speed(vehicle.get("speed", 0)):
log_error(f"Vehicle {vehicle.get('id')} speed too high: {vehicle['speed']}")
else:
log_info(f"Vehicle {vehicle.get('id')} data valid.")
save_data_to_file(data)
改进亮点:
MAX_SPEED
和日志路径都放在 config.py
。logging
,输出到文件,方便排查问题。JSONDecodeError
被捕获并抛出合理异常。with open(...)
确保文件写入后自动关闭。通过这个案例,可以清楚看到从 “杂乱无章” 的代码到 “规范清晰” 的代码的变化:
这套规则不是为了束缚开发,而是为了让团队在 高速迭代 的同时,依然能保持 代码的可读性、可维护性和安全性。
高质量的代码不是单兵作战的结果,而是团队共同遵守规则的产物。
-