跳转到正文

产品型项目管理规范手册

返回

产品型项目管理规范手册

发布于: 更新于:
统计加载中...

1 适用范围

适用于:

  • 数据库项目
  • 知识库项目
  • Web 网站 / Web 应用
  • API 服务
  • 命令行工具
  • 数据采集、清洗、入库和检索系统
  • 长期维护的数据产品

例如:

PlantGeneWiki
Gene annotation database
Single-cell data portal
Literature mining platform

核心逻辑:

源码主体 → 数据构建脚本 → 配置 → 测试 → 文档 → 部署维护

2 推荐顶层结构

ProjectName/
├── README.md
├── src/
├── scripts/
├── data/
├── docs/
├── tests/
├── config/
├── assets/
└── deploy/

如果项目较小,可以先用最小版:

ProjectName/
├── README.md
├── src/
├── scripts/
├── data/
└── docs/

3 目录职责

目录作用
README.md项目入口说明、安装、运行、维护方式
src/项目主体源码
scripts/下载、清洗、建库、索引、部署等命令行脚本
data/raw/外部原始数据
data/processed/清洗后的中间数据
data/database/SQLite、DuckDB、索引、构建后的数据库
docs/使用说明、开发说明、数据字典、维护文档
tests/单元测试、数据一致性测试、接口测试
config/配置文件、字段映射、路径配置
assets/图片、图标、示例文件、静态资源
deploy/Docker、服务器部署、定时任务、服务配置

4 通用模板

ProjectName/
├── README.md
├── src/
│   └── project_name/
│       ├── __init__.py
│       ├── parser/
│       ├── database/
│       ├── search/
│       ├── api/
│       └── web/
├── scripts/
│   ├── download_sources.py
│   ├── clean_sources.py
│   ├── build_database.py
│   ├── build_index.py
│   └── update_all.py
├── data/
│   ├── raw/
│   ├── processed/
│   └── database/
├── docs/
│   ├── data_sources.md
│   ├── database_schema.md
│   ├── user_guide.md
│   ├── developer_guide.md
│   └── maintenance_log.md
├── tests/
│   ├── test_parser.py
│   ├── test_database.py
│   └── test_api.py
├── config/
│   ├── config.example.yaml
│   └── field_mapping.yaml
├── assets/
│   ├── icons/
│   └── examples/
└── deploy/
    ├── Dockerfile
    ├── docker-compose.yml
    └── systemd/

5 src/scripts/utils/ 的边界

目录放什么
src/可复用、可导入、构成项目主体的源码
scripts/一次性或周期性运行的入口脚本
utils/可选;跨模块复用的小工具。如果已经有 src/project_name/utils/,顶层可不设 utils/

建议:

  • 产品型项目优先使用 src/
  • 下载、建库、更新索引用 scripts/
  • 不要把主体源码全塞进 scripts/

6 数据管理

推荐:

data/
├── raw/
├── processed/
└── database/

说明:

  • data/raw/:外部下载数据,原则上不手动改。
  • data/processed/:清洗后的 TSV/CSV/JSON/Parquet。
  • data/database/:SQLite、DuckDB、FAISS、Elasticsearch dump、搜索索引等。

如果数据很大,可以只保留说明文件:

data/
├── raw/README.md
├── processed/README.md
└── database/README.md

在 README 中写明远端路径、下载方式和构建命令。

7 配置管理

推荐:

config/
├── config.example.yaml
├── field_mapping.yaml
└── sources.yaml

原则:

  • 可公开的默认配置放 config.example.yaml
  • 私密配置不要提交到仓库。
  • 数据源、字段映射、数据库表名等尽量配置化。

8 文档管理

推荐:

docs/
├── data_sources.md
├── database_schema.md
├── user_guide.md
├── developer_guide.md
├── deployment.md
└── maintenance_log.md
文件内容
data_sources.md数据来源、下载地址、版本、许可证
database_schema.md表结构、字段含义、主键、索引
user_guide.md用户如何使用
developer_guide.md开发者如何安装、运行、扩展
deployment.md部署方式
maintenance_log.md更新记录和维护记录

9 测试管理

产品型项目建议保留 tests/。 常见测试:

  • parser 是否能解析示例文件
  • 数据库表是否存在
  • 主键是否唯一
  • API 是否返回预期字段
  • 构建脚本是否能跑通小样例

示例:

tests/
├── fixtures/
│   └── example_gene_annotation.tsv
├── test_parser.py
├── test_database.py
└── test_api.py

10 命名规范

脚本命名:

动作_对象.py

例如:

download_sources.py
parse_gene_annotations.py
build_database.py
build_search_index.py
update_all.py

模块命名:

小写字母 + 下划线

例如:

gene_parser.py
database_loader.py
search_index.py

11 README 建议结构

# ProjectName

## Background
## Features
## Data sources
## Directory structure
## Installation
## Usage
## Build database
## Run tests
## Deployment
## Maintenance
## License



评论