IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 需求开发思考 -> 正文阅读

[网络协议]需求开发思考

本次需求相较于上次的在线升级需求,属于是比较大需求,包含了UI、通信、配置修改等几个部分的内容,基本上涉及了项目的方方面面。
由于是在休假回来后接受的需求,因此在前期花了比较多的时间去熟悉代码、熟悉需求。
同时在本次需求还是有比较多的收获的。
从一个需求接手的三个方面来说一下收获。

前期熟悉:

要做到熟悉一个需求,个人认为要搞清楚几个问题:
1、需求目的是什么?
需求是为了解决问题,第一件事就是要搞清楚需求的目的是什么。
本次新乘风接入的需求为了实现动态生成表单,避免传统的表单固定后升级、更新较为麻烦的情况。
将表单的维护由Json数据 + 表单生成引擎来做。
采用抽象配置项方式,整体架构非常灵活,后续维护迭代成本大幅降低,乘风侧前后端无需代码变更,设备端更新代码完成配置即可。

2、需求怎么去做?
需求应该如何去实现?实现的目标是什么?
搞清楚这个问题之后,就能够真正掌握、了解这个需求的细节应该怎么去做,使用什么协议去完成,整体的通信链路是怎么样的。
本次需求的实现是采用Json做通信协议,与服务器之间建立webSockt,在webSocket中通过绑定后,完成后续的一系列通信工作完成动态表单的各个目标。

在本次需求的前期熟悉阶段自己没有做好的就是没有搞清楚这两个问题,导致在后续的开发过程当中始终感觉抓不到主线,导致一直没有很好效率去完成开发。

中期开发:

在实际上中期开发的过程中,前期熟悉的做的怎么样就很好的体现在了这一环节中。
由于自己在前期需求的熟悉阶段没有做好,导致自己在本次开发的过程中一直没有很好的把握整体,有种想到哪里做到哪里,没有准确、清晰的目标去走,导致自己经常会出现每次做完一部分后遍不知道下一部分在哪里的情况。
在开发的阶段,不应该急着去开发,而是要想明白、搞清楚自己要做的是什么,自己现在要开发的是哪一部份,这部分做完之后有什么改变,下一部分是什么?也就是要有清晰的整体意识,要搞清楚开发时的上下文关系,以后一定不能够出现这次的迷茫情况。
要花多点时间在前期设计上!

后期联调:

联调的过程中,自己最大的问题还是没有严格按照提供的文档来做通信。
由于本次的通信协议改动较多,经常会出现自己发送过去的实体Bean没有得到回应,或者得不到解析的情况。
对于这种情况,第一时间要做的事情还是确认实体Bean是否按照通信协议规定来做通信。
在联调的过程中要搞清楚每一个功能模块,以及功能可能的边界情况来进行处理。

收获总结:

1、需求开发之前一定还是要搞清楚需求。
2、Json的解析:
(1) 对于字段是常量,会给字段赋予默认值,若字段是对象变量,若字段没有赋值就默认为空,可以利用这个特点来做多态化的字段Json解析。
(2) Double跟Integer不能够强转
(3) 对于递归的Json解析,可以使用JSONObject来解析所有的 {} 情况,使用JSONArray解析 [] 的情况。
3、对于复杂的Json生成,要问

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:19:42  更:2022-07-04 23:21:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:20:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码