# 文章管理系统 **Repository Path**: zou-gode/article-management-system ## Basic Information - **Project Name**: 文章管理系统 - **Description**: 文章管理系统 前端 art.zbmwd.top 后端 artback.zbmwd.top - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-07-31 - **Last Updated**: 2023-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一组 CMS 项目开发目标 业务实现 1. 热度:实现能选择以点赞数量(默认)、发布时间、阅读浏览量、收藏量来排序的效果 2. 审查:实现如对头像、博客上传内容等进行第三方的审查功能 3. 分页:实现文章顺序列表分页 4. 搜索功能:实现模糊查询 5. 添加用户:提交空白用户信息,提示添加失败 6. 删除用户:实现软删除(伪删除)以及硬删除 7. 修改用户信息 8. 修改文章信息 ``` 1. 反馈:实现用户反馈功能以及问卷调查收集用户满意度 2. 敏感词汇:当遇到敏感词汇时,提示“内容有敏感词汇,无法发送内容,请重新编辑” ``` # 一组开发规范详解 > 目录 ``` 0. 项目开发规范 1. 命名规范 2. 编码规范 3. 注释规范 4. 数据库规范 ``` ## 项目开发规范 ### 项目说明 ``` Api 对外提供接口服务 Application 应用的功能(各种接口) Domain 实体 Infrastructure 基础设施层,放各种引用的外部的功能或者组件 ``` 1. 项目代码应定期进行备份,以防止代码丢失 2. 项目应有忽略文件 .gitignore (需忽略文件参考以下) ``` # 后端忽略文件 bin obj .vscode .vs StaticFiles node_modeules # 前端忽略文件 .DS_Store node_modules /dist # 本地环境文件 .env.local .env.*.local # 日志文件 npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* # 编辑器 .idea .vscode *.suo *.ntvs* *.njsproj *.sln *.sw? ``` ## 一、命名规范 1. **方法名、参数名、成员变量、局部变量**命名统一使用驼峰命名法(第一个单词首字母为小写,后面单词首字母都为大写,例如:userInformation) - 驼峰命名法:当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外) 2. **常量**命名全部统一使用大写,单词间用下划线隔开(例如:USER_NAME) 3. 一般情况下,命名单词开头以及结尾除了下划线,没有特殊情况不要随意使用其他符号(例如:`_user或user_`) 4. 命名要贴近代码实际意义以及实现功能,应简洁明了 --- 5. 自定义组件:业务名或简称+View(例如:ClockView) 6. 自定义容器:业务名或简称+Layout(例如:SquareLayout) > 其余命名,视情况由技术开发人员之间相互协调 ### 类名规范 1. **工具类**命名时要体现出其用途以及设计模式 2. **接口定义类**命名时必须以 I 为文件名开头,命名示范:I + 业务 3. **接口实现类**命名时必须和其所要实现的接口定义类同名(去掉 I ) #### 类放置位置规范 1. **功能类**应命名为**Utils**(在 Infrastructure 基础设施层中) 2. **接口类**应放置于**Common**命名文件的**Interface**命名文件下(在 Application 应用功能中) ### 包名规范 1. 包名 package 统一都使用小写 ### 方法名规范 1. 方法名应根据其实现功能命名 > 所有代码界面应整洁规范,适当加以注释,代码和注释中都要避免使用任何语言的种族歧视性词语 ## 二、编码规范 统一使用 utf-8 编码格式 ## 三、注释规范 注释应简洁明了,对于一些实现功能要进行标注说明 --- 注释格式: 1. 接口注释必须写清楚接口的用途、传参、返回数据、创建人、创建日期等信息 2. 类注释要写明类的用途 3. 在方法内的注释,首先要写明方法的主要功能,将功能分成 1、2、3、...步骤,并将这些步骤写在注释用,方便接盘侠更好的读懂代码,了解写代码人的思路 --- ## 四、数据库规范 统一使用 Postgres 数据库 ### 数据库表命名规范 统一用小写字母命名表、字段(单词间用下划线隔开,例如:user_name) ### 数据库设计 要符合三范式 1. 第一范式:确保每一个列(或者叫字段,或者叫属性)都具有原子性,即分无可分 - 举个栗子:地址字段 福建省龙岩市新罗区曹溪街道闽西职技术学院南校区望云楼二楼第三实训室,如果业务上有需要区分省市县这些信息的话,那么在数据库设计的时候,就应该拆分这些为多个字段,如果没有则认为违反了原子性,违反了第一范式(第一范式是数据库设计理论中要求最低的一个规范) 2. 第二范式:要求每一个字段都依赖于主键 3. 第三范式:要求每一个字段都直接依赖于主键 (后续有其他,会持续更新...)