当前位置:网站首页>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
边栏推荐
- 牛客小白月赛7 F题
- FPGA timing constraint sharing 01_ Brief description of the four steps
- Oracle with as ora-00903: invalid table name multi report error
- 1007 Maximum Subsequence Sum(25 分)(PAT甲级)
- “只跑一趟”,小区装维任务主动推荐探索
- Upgrade the smart switch, how much is the difference between the "zero fire version" and "single fire" wiring methods?
- Some thoughts on whether the judgment point is located in the contour
- Comment utiliser async awati asynchrone Task Handling au lieu de backgroundworker?
- The page element is vertically and horizontally centered, realizing the vertical and horizontal centering of known or unknown width.
- Niuke Xiaobai month race 7 e applese's super ability
猜你喜欢
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
Dark horse programmer - software testing - stage 08 2-linux and database-23-30-process port related, modify file permissions, obtain port number information, program and process related operations, Li
Stream stream
TCP waves twice, have you seen it? What about four handshakes?
PointNeXt:通过改进的模型训练和缩放策略审视PointNet++
Lenovo explains in detail the green smart city digital twin platform for the first time to solve the difficulties of urban dual carbon upgrading
黑马程序员-软件测试--08阶段2-linux和数据库-23-30-进程端口相关,修改文件权限,端口号信息的获取,程序和进程相关操作,linux命令案例
解密函数计算异步任务能力之「任务的状态及生命周期管理」
Multi table operation inner join query
TCP两次挥手,你见过吗?那四次握手呢?
随机推荐
Personal thoughts on Architecture Design (this article will be revised and updated continuously later)
Is it safe to open an account at Great Wall Securities? How to open an account when buying stocks
C# 使用StopWatch测量程序运行时间
Niuke Xiaobai month race 7 F question
牛客小白月赛7 F题
“只跑一趟”,小区装维任务主动推荐探索
HDU 1097 A hard puzzle
BCG 使用之CBCGPProgressDlgCtrl进度条使用
Niuke Xiaobai monthly race 7 I new Microsoft Office Word document
1006 sign in and sign out (25 points) (PAT class a)
Multi table operation inner join query
1011 World Cup Betting (20 分)(PAT甲级)
Stream stream
数据集划分
有关架构设计的个人思考(本文后续不断修改更新)
黑马程序员-软件测试--07阶段2-linux和数据库-09-24-linux命令学习步骤,通配符,绝对路径,相对路径,文件和目录常用命令,文件内容相关操作,查看日志文件,ping命令使用,
HDU 6440 2018 Chinese college student program design network competition
How test engineers "attack the city" (Part I)
92. (cesium chapter) cesium building layering
abc229 总结(区间最长连续字符 图的联通分量计数)