软件产品应用开发通用技术标准V2.0
2022-08-10 17:38:19 0 举报
AI智能生成
软件产品应用开发通用技术标准
作者其他创作
大纲/内容
目的
为规范公司软件产品开发工作,提高公司应用软件的建设和应用水平,提高团队合作效率,减少软件产品的维护成本,特制定软件产品应用开发通用技术标准规范,加强软件产品开发工作的管理
范围
基础标准
开发标准
安全标准
上云标准
软件标准
标准指定的依据和原则
标准指定的依据
GB/T 11457-2006 信息技术 软件工程术语
GB/T 8566-2007 信息技术 软件生存周期过程
GB/T 5271.15-2008 信息技术 词汇 第15部分:编程语言
4.GB/T 16681-2003 信息技术 开放系统中文界面规范
GB/T 16680-2015 系统与软件工程 用户文档的管理者要求
中国电信典型网络安全漏洞防范手册V1.0
标准指定的原则
适用性原则
科学性原则
系统性原则
先进性原则
开放性原则
基础标准
软件工程术语
软件产品
软件单元
开发过程
系统
综合信息管理平台
非功能需求
平台接口
版本
过程目的
配置项
基线
发布
测试覆盖率
缩略语
JDBC
UI
CSS
API
HTTPS
URL
XML
开发标准
技术选型要求
选型基本要求
a.为产品将来的扩展留有余地,采用的技术需要能无缝升级
b.具有高度的可伸缩性、能够实现多系统并存所需的互操作能力,以及多种资源管理能力
c.对技术基础架构进行规划
d.时刻关注技术的发展趋势及其相关规则
e.在技术飞速发展的情况下,尽量保证技术的基础架构的连贯性
f.注意平衡硬件和软件采购
g.注意技术的各种标准,尽量符合这些标准
h.技术选型时,要求与“比翼研发平台”、“数字化能力平台”、“PaaS技术底座”等公司通用能力的技术体系保持一致
选型参考
前端选型
基础框架
Node.js、Egg.js、Vue.js、qiankun、WebAssembly、Electron
UI框架
View UI、element UI、 Ant Design Vue、TDesign
CSS框架
Bootstrap、Bulma、Materialize、Pure
接口请求
Axios
构建打包
Webpack、Vite
代码质量
ESLint、Prettier
后端选型
基础框架
Spring Boot
微服务框架
Spring Cloud、Spring Cloud Alibaba
安全框架
Spring Security、Spring OAuth2.0、shiro
持久层
Mybatis、JPA
数据库连接池
Hikari、Durid
任务调度
XXL-Job、quartz
日志框架
ELK、Logback、log4j
服务注册发现
Eureka、Alibaba Nacos
配置框架
Alibaba Nacos、Spring Cloud Config
服务网关
Zuul、Alibaba Nacos
工作流
Activiti 5
移动端
小程序
微信小程序、钉钉小程序
Android
APP
IOS
APP
数据库、缓存、中间件选型
数据库
MySQL、TiDB、达梦
缓存
Redis
消息队列
RabbitMQ、Kafka、ActiveMQ
分布式事务
Seata
负载均衡及代理
Nginx、HAProxy
Web容器
Tomcat
文件浏览
openoffice
开发工具、部署工具选型
环境
JDK8及以上、Windows、Linux
编辑器
intellij IDEA、Visual Studio Code、Eclipse
项目构建工具
Maven、Gradle
代码管理
Gitlab
部署及测试
比翼研发云平台、自动化测试平台
代码质量及规范
Sonar、Alibaba Java Coding Guidelines、MOMO Code Sec Inspector、CheckStyle
需求管理
Jira
存储仓库
Nexus
容器
Docker、Kubernetes
接口管理
Swagger、Knife4j
技术架构设计要求
解决业务上的技术问题
技术方案
代码仓库规范
公共组件
服务组件
开发环境规范
开发环境:JDK1.7+
开发工具:IntelliJ IDEA 2017+
构建工具:Maven3.x
代码管理工具:Gitlib /TortoiseGit
项目结构规范
项目名
模块命名
项目目录
项目目录遵循Maven约定目录格式
源码目录
源码目录指:{项目目录}/src/main/
打包定义目录:src/main/assembly
代码目录:src/main/java
资源目录:src/main/resources
编码规范
命名总体规则
文件命名规范
包规范
排版规范
注释规范
注释要求
注释分类与规则
注释格式
块注释
单行注释
尾端注释
行末注释
注释内容
类注释
方法注释
算法注释
推荐的注释内容
特殊代码注释
声明要求
声明规则要求
变量声明
类和接口的声明
语句规范
简单语句
符合语句
返回语句
if语句
for语句
while语句
do-while语句
switch语句
try-catch语句
异常处理
运行时异常
检查异常
日志记录
代码控制规范
拉取原则
提交原则
提交注释
构建规范
公共组件构建规范
服务组件构建规范
接口标准规范
接口原则
接口协议
域名
API版本控制
API路径规则
HTTP请求方式
过滤信息
API传入参数
a)地址栏参数
b)请求body数据
c)cookie
d)request header
返回数据
接口格式
非Restful Api的需求
a)页面级的API
b)自定义组合API
配置文件要求
1.便于人类阅读理解,最好让非专业人士能猜出大概的语法;
2.具有强大的表达能力,除了键值对外还能支持数组、引用等表达方式;能表达层级关系;
3.便于书写,包括纯手工输入和使用IDE编写;
4.占用存储空间小;
5.INI文件比较适合配置内容简单、面向大众的场景;
6.Properties文件比较适合小型简单场景;
7.XML文件比较适合大型复杂场景;
8.YAML文件比较社会复杂场景;
9.配置文件中的关键信息要进行加密,包括但不限于:IP地址、用户名、密码等
软件支持环境
操作系统
CentOS7.6+、Windows Server2012+或国产操作系统中的一种
数据库
兼容MySQL5.7+协议的数据库或达梦等国产数据库的一种
中间件
Tomcat或TongWeb等国产中间件的一种
支持云原生环境
Docker、K8S
二次开发要求
其他要求
0 条评论
下一页