当前位置:网站首页>Thinking on demand development
Thinking on demand development
2022-07-04 19:47:00 【Nimrod__】
This demand is compared with the last online upgrade demand , It belongs to a relatively large demand , Contains UI、 signal communication 、 Configuration modification and other parts , It basically involves all aspects of the project .
Because it is the demand received after returning from vacation , So I spent a lot of time getting familiar with the code in the early stage 、 Familiar with needs .
At the same time, there are still many gains in this demand .
From the three aspects of a demand, let's talk about the harvest .
Early familiarity :
Be familiar with a need , Personally, I think we should clarify several issues :
1、 What is the purpose of the requirement ?
Demand is to solve problems , The first thing is to find out what the purpose of requirements is .
The demand of this new Chengfeng access is to realize the dynamic generation of forms , Avoid upgrading traditional forms after fixing 、 Update the more troublesome situation .
Maintain the form by Json data + Form generation engine .
Adopt Abstract configuration items , The overall architecture is very flexible , The cost of subsequent maintenance iterations is significantly reduced , There is no need to change the code at the front and back ends of the Chengfeng side , Update the code on the device side to complete the configuration .
2、 What needs to be done ?
How should requirements be realized ? What is the goal achieved ?
After figuring out the problem , You can really master 、 Understand the details of this requirement and how to do it , What protocol is used to complete , How about the overall communication link .
The implementation of this requirement adopts Json Make a communication protocol , And the server webSockt, stay webSocket After binding , Complete a series of subsequent communication work and complete various goals of the dynamic form .
What I didn't do well in the early familiarization stage of this demand is that I didn't understand these two problems , As a result, I always feel unable to grasp the main line in the subsequent development process , As a result, it has not been very efficient to complete the development .
Medium term development :
In the process of mid-term development , What you are familiar with in the early stage is well reflected in this link .
Because I didn't do well in the familiarization stage of early needs , As a result, I haven't grasped the whole well in the process of this development , I feel like I can do whatever I want , It's not accurate 、 Clear goals to go , As a result, I often don't know where the next part is after I finish one part every time .
In the development phase , You should not rush to develop , But to understand 、 Find out what you want to do , What part do you want to develop now , What changes will be made after this part is finished , What is the next part ? That is to have a clear sense of the whole , Understand the context of development , This confusion must not happen in the future .
Spend more time on preliminary design !
Late joint commissioning :
During the joint commissioning , My biggest problem is that I don't communicate strictly according to the provided documents .
Because there are many changes to the communication protocol this time , Entities sent by themselves often appear Bean No response , Or it cannot be parsed .
In this case , The first thing to do is to confirm the entity Bean Whether to communicate according to the communication protocol .
In the process of joint commissioning, we should make clear each functional module , And the possible boundary conditions of the function .
Harvest summary :
1、 Before requirements development, we must understand the requirements .
2、Json Parsing :
(1) Constant for fields , The field will be given a default value , If the field is an object variable , If the field has no assignment, it defaults to empty , This feature can be used to make polymorphic fields Json analysis .
(2) Double Follow Integer Cannot be forced
(3) For recursive Json analysis , have access to JSONObject To parse all {} situation , Use JSONArray analysis [] The situation of .
3、 For complex Json Generate , Ask
边栏推荐
- 1002. A+b for Polynomials (25) (PAT class a)
- mysql中explain语句查询sql是否走索引,extra中的几种类型整理汇总
- 数据集划分
- 在线文本行固定长度填充工具
- HMM隐马尔可夫模型最详细讲解与代码实现
- Reflection (I)
- Kotlin condition control
- 双冒号作用运算符以及命名空间详解
- Hough Transform 霍夫变换原理
- Personal thoughts on Architecture Design (this article will be revised and updated continuously later)
猜你喜欢

如何使用Async-Awati异步任务处理代替BackgroundWorker?

应用实践 | 蜀海供应链基于 Apache Doris 的数据中台建设

线上数据库迁移的几种方法

Cbcgptabwnd control used by BCG (equivalent to MFC TabControl)

BCG 使用之新建向导效果

Cbcgpprogressdlg progress bar used by BCG

mysql中explain语句查询sql是否走索引,extra中的几种类型整理汇总

BCG 使用之CBCGPProgressDlg进度条使用

Several methods of online database migration

HMM hidden Markov model and code implementation
随机推荐
Opencv functions and methods related to binary threshold processing are summarized for comparison and use
[QNX hypervisor 2.2 user manual]6.3.1 factory page and control page
abc229 总结(区间最长连续字符 图的联通分量计数)
【毕业季】绿蚁新醅酒,红泥小火炉。晚来天欲雪,能饮一杯无?
公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
Online sql to excel (xls/xlsx) tool
1009 Product of Polynomials(25 分)(PAT甲级)
1005 Spell It Right(20 分)(PAT甲级)
kotlin 循环控制
联想首次详解绿色智城数字孪生平台 破解城市双碳升级难点
HMM隐马尔可夫模型最详细讲解与代码实现
English grammar_ Noun - use
牛客小白月赛7 E Applese的超能力
偏移量函数及开窗函数
Hough Transform 霍夫变换原理
kotlin 基本使用
Utilisation de la barre de progression cbcggprogressdlgctrl utilisée par BCG
项目中遇到的线上数据迁移方案1---总体思路整理和技术梳理
Educational codeforces round 22 E. Army Creation
mysql中explain语句查询sql是否走索引,extra中的几种类型整理汇总