`
huangyongxing310
  • 浏览: 490795 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

开发过程遇到的问题

阅读更多
开发过程遇到的问题


1.数据库先从缓存中读取,没有再从数据库中读取。
2.会变化的数据尽量从数据库中获取,不要固定写到程序中,方便不改化码和情况下实现更新。
3.产品最好区分控制方式(APP、面板)。
4.产品上报设备型号和相关产品信息。
5.产品最好可以上报IP地址。
6.接口返回以模型的方式返回,方便后面返回多个参数。
7.接口传参以模型方式进行,方便后面参数的扩展。
8.判断语名前后放相关的log,方便调试定位。
9.会抛出异常的语名用try-cache语句进行包围着。
10.用maven模块的方式进行项目公共资源的共享。
11.初始化数据做好相关数据初始化的接口,方便环境的快速建立。
12.所有参数都应该进行判空操作。
13.数据保存要有保存时间和修改时间,最好有保存修改记录。
14.返回前端数据要有时间戮。
15.数据库中的统计数据可以用数据库中的聚合函数来进行统计。
16.swager可以加快接口的调试,方便后面进行调试用,可以返回MAP以方便显示JSON数据格式。
17.先整理好如何做再做再做,要不然做的过程中也是要整理如何做的。
18.对于一些配置参数,最好保存到缓存中(数据库中),但每次从缓存中取也不是办法,最好是定期刷亲新到代码中的变量中。
19.如果过多的服务嵌套(服务器之间),会出现很长的延时,可以将信息存到缓存中,再开启新的线程处理后面的逻辑处理。
20.可以把公用工具放到docker进行,方便后面服务器的更换,不用重新安装这些工具。
21.如晨返回数据格式是一致的,但数据模型不一致的,可以用泛型的方式来进行。
22.模型的使用应该通过继承多个简单模型来集合而成,特别是返回到WEB的。
23.数据库的应该按功能进行模块字段进行建表,不要在一张表内又有另一张表的内容(在同一张表内可以加快应用查询速度、不在一张表要查询多次),但更改内容时会麻烦。
24.与URL相关的的最好的分不同的常量定义不同部分,方便后面的更改,(以“/”开头,尾部不用加“/”)
25.公用方法写成一个包,方便其它应用的使用。
26.返回对象的接口返回对象应该是一个新的对象,否则可能会在其他应用中修改对象。
27.创建数据库的时候记得设置数据库的编码方式 例如 UTF-8,
28.一些资源的URL如果会与相关型号相关原话,最好是写在前端中,服务器只是保存URL的名字,防止因多个产品前端界面不一样发生的资源路径冲突。
29.log输出中,用AOP和注解的办法在WEB接口中输出可以区别于其他log输出的内容,有得于调试用。对于有这种注解的输出分隔符便于区分。
30.log中加可以区别于不同用户信息,方便调试进行过滤用。
31.做输入参数判空处理接口,前端返回统一数据格式。
32.要有数据库访问接口(swagger方式),方便数据的管理(要有密码校验)。
33.数据库要有备份,防止误删。
34.用户数据(常变),和产品数据(少变或不变)要分开不同的数据库进行保存,动态数据切经常进行备份,不变数据要定时备份。
35.数据库加入一个版本管理编号,方便后面进行对数据进行版本管理操作。
36.基础包:http(get,post),日期格式化,JSON序列化(反序列化),log输出处理,
37.如果是通用的可以考虑使用泛型的方式实现。
38.数据库保存、更新、删入口要输出log,方便日后数据出现异常可以进行定位。
39.最好加入协议转换版本和接口版本进行管理。
40.要保存到数据库的数据,如果又要在逻辑后面直接使的话,数据最好从数据库中取出后使用,而不是直接使用传进来的保存参数。
41.产品最好有可以进行设备解绑所有用户的功能。
42.每个对外接口以一个java文件进行实现,进行接口层次化结构处理,方便接口管理。
43.数据库接口层和公用接口层最好做到所有项目可以共用,提高开发效率。
44.进入不同的工作方式时,过行不同的方法进行显示,进入的方式最好统一(如产品WIFI进入和显示)
45.URL与controler接口层次结构一致,方便定位。
46.产品惟一码应当可以得出产品型号、品类等区分不同产品种类的信息。
47.图片URL不要写到数据库中,应只有文件名,方便测试环境与正式环境数据的共享,不用从新导入数据。
48.数据库一定要有备份,防止机器出现问题,宕机时要看二进制日志的最后一条有没有更新到数据库,防止数据宕机时的不一致。
49.把功能做成模块化(所有这个功能的内容都放在这个模块里),实现模块复制即可用。
50.做数据库删除时,不是真正删除数据,而是设置一个标志位完成
51.数据库动态信息与静态信息分离,方便信息管理
52.进行数据库设计时,为了减小数据库的查询次数,可将名称部分也加到记录中,但也为后面数据变更增加难度。
53.要确保修改数据时不出错(或让前端修改(只进行一个ID判断是不够的))可以要求前端返回原来的数据,原来的数据再从数据库中读取出来,对比是不是没有被前端修改过。最好还是按参数个数来进行API的编写(也方便权限的控制)
54.List要判空和长度是否为0
55.拦截器、注解进行操作权限的管理
56.过虑器结合URL进行操作权限的管理
57.自定义注解校验数据有效性
58.SQL 视图的作用
59.ERP操作数据验证:
数据必要性、合法性验证(AOP可以实现)
数据合理性验证(重复性、惟一性、存在性)(业务处理验证)
权限数据范围,通过定义权限、可看字段、条件字段、时间字段可以保存时间范围
操作权限可以通过在接口处放注解进行AOP来处理

60.通过抛出运行异常(IllegalArgumentException),可以减小在代码中进行返回值是否为空的处理
61.try cache 的作用是捕获异常,如果不进行捕获,异常就会抛到JVM中,那么程序会中断执行,所以如果程序还要执行就要用try cache

62.做统一的log输出方式
63.接口要做相关参的校验,并输出参数的log,方便开发
64.








分享到:
评论

相关推荐

    软件开发过程存在问题及措施(20211215133535).pdf

    软件开发过程存在问题及措施(20211215133535).pdf

    软件开发过程流程图.pdf

    4. 分析与决策过程:软件开发过程中常常需要进行原因分析(CAR)和决策分析(DAR),这些分析有助于对开发过程中遇到的问题进行根本原因的追溯和改进,以及对关键决策进行论证。 5. 文档和报告:在软件开发的各个...

    java web开发中常遇到的问题

    Java Web 开发中常遇到的问题 在 Java Web 开发中,开发者经常会遇到一些棘手的问题,影响项目的进度和质量。在这篇文章中,我们将列举一些常见的问题,并对其进行解释和解决。 1. java.lang....

    java开发常见问题

    java开发工作两年遇到的技术问题以及查找到的解决方案还有一些积累,涉及前端技术,android开发,java后台以及数据库sql优化,session共享,单点登录,kafka入门,websocket,线程安全等。

    软件开发流程规范.doc

    软件开发流程规范是指在软件产品开发过程中,每个步骤的规范和输出文档的要求。该规范旨在确保软件开发过程的规范性、可重复性和可维护性。 1. 软件产品开发的一般流程 软件产品开发的流程可以分为产品定义、需求...

    NC65开发课件之流程开发-审批流开发

    NC65开发课件之流程开发-审批流开发 NC65开发课件之流程开发-审批流开发是一种基于NC65平台的流程开发技术,旨在帮助开发者快速构建审批流程。该技术通过元数据设计、向导生成带审批流的单据、配置审批流等步骤,...

    C#开发过程中碰到的问题 经验总结

    1年的工作经验 各位编码的兄弟 欢迎继承 避免你们在工作中碰到这样的问题,能快速的解决,此文档针对新手有用,编码超过2年的可以不用下载。 对于新人在工作中给予鼓励与支持。记得要保留下你们处理问题的方法,总结...

    网站开发流程 网站开发流程

    网站开发流程是一个系统化的过程,旨在高效地创建和管理网站,确保从概念到上线的每一步都得到有效执行。以下是对网站开发流程的详细说明: 首先,**目标需求分析**是流程的起点,这一阶段需要明确网站的目标和预期...

    产品敏捷开发流程说明.pdf

    Scrum敏捷开发流程是一个迭代式开发过程,强调团队协作、快速响应变化和不断改进。 1. 角色及职责 * 产品负责人(PM):主要决定每个迭代要开发的功能,并在每个迭代结束评审交付项是否符合要求。在产品开发流程...

    比较详细的开发过程流程图

    根据提供的文件信息,本文将对“比较详细的开发过程流程图”进行深入解析,并结合标签“测试流程图”进一步展开相关内容。 ### 开发过程流程图概述 #### 一、开发过程流程图的重要性 在软件工程领域,开发过程流程...

    java项目开发常见问题分析

    在Java项目开发过程中,开发者经常会遇到一系列挑战,这些问题可能源于编码规范、性能优化、错误处理、编程习惯,甚至是特定框架的使用。以下是对这些常见问题的深入分析: 1. **开发规范类问题**:开发规范是确保...

    前端开发流程图

    6. 开发过程:开发者开始编码实现功能,遇到问题或流程不明确时应及时与团队沟通。开发过程中可能会出现需求变动或接口调整,需及时更新相关文档。 7. 用例评审与测试:测试团队制定测试用例,覆盖所有关键功能和...

    华为-硬件开发流程和规范

    角色多样**:华为在硬件开发过程中涉及的角色众多,包括但不限于单板硬件工程师、PCB设计工程师、EMC工程师等。这种精细的角色划分使得每个工程师都能专注于自己的专业领域,从而提高工作效率。 **2. 硬件经理的...

    jeecg-bpm开发过程常见问题

    但是,在jeecg-bpm的开发过程中,开发者经常会遇到一些常见的问题,本文将对这些问题进行总结和分析,并提供相应的解决方案。 一、web.xml错误解决方案 在jeecg-bpm的开发过程中,web.xml文件是一个非常重要的配置...

    嵌入式系统开发面临的问题与集成开发环境的应用

    在实际开发过程中,开发者经常会遇到一系列挑战,这些挑战不仅涉及到技术层面,也包括了项目管理、团队协作等方面。本文将深入探讨这些问题,并阐述集成开发环境(Integrated Development Environment, IDE)如何为...

    安全合规-软件安全开发过程规范.pdf

    微软提出的安全开发生命周期(SDL)是指导软件开发过程的管理模式,旨在从安全角度解决软件开发过程中的问题。SDL是一个安全保证的过程,起重点是软件开发,它在开发的所有阶段都引入了安全和隐私的原则。 SDL的...

    沃尔沃汽车产品开发流程及整车项目计划.pdf

    ### 沃尔沃汽车产品开发流程及整车项目计划 #### 一、概述 本教材主要介绍了沃尔沃汽车的产品开发流程及整车项目的计划管理方法。通过系统化的介绍,旨在帮助汽车行业的从业人员了解并掌握沃尔沃在产品设计与制造...

    奇瑞公司产品开发流程培训.pptx

    奇瑞公司产品开发流程培训 奇瑞公司产品开发流程培训是一个系统的开发流程,它涵盖了产品开发的所有阶段,从概念阶段到生产...同时,奇瑞公司产品开发流程也存在多种类型的开发,如平台开发、车型开发和变型开发等。

Global site tag (gtag.js) - Google Analytics