推荐一种优秀的数据结构技巧

  这几天调试一个摄像头,看到文档时一皱眉:这格式难免太原始了点。

怎么就原始了?

  首先,直接定义数据结构为4096字节。不管数据多少,每次都发这么

多。功能当然也能完成,就是显得……不够专业。

  然后呢,在文档中规定字串长度数字。有程序员会问了,这不是很常

见的做法吗?当然很常见。跟第一个问题一样,咱内容少了能不能省点?

如果长度不够,怎么办?

  数据结构是顺序定义的。如果顺序变化了,这不整个乱套了吗?


  以前专门研究过微软文档(没错,就是WORD文件)的存储格式,名叫

结构化存储方式。因此对数据结构有一点心得,这里就提出来,供需要的人

参考:

  结构中的数据单元,有定长和变长两类。

  定长单元,采用类型+值的方式。比如说bool、int。

  变长单元,由类型+长度+内容的三元组成。这样数据多少都不影响使用

方的处理代码。

  顺序问题怎么解决?尽量采用键+数据单元的方式。为什么呢?这样可以

避免顺序、缺少、增加等产生的问题。在新旧版本兼容上也容易处理。

  这个数据结构有什么好处?这样做的好处就是,把数据结构与内容分开,

这边数据内容的变化,对方解析数据这部分代码完全不用改,只是决定是否要

处理。


  需要补充的是,在告知对方数据结构的时候,一定使用int32/short16这样

的形式。在不同系统上,int长度是不一样的。


  有朋友一看,这个好,马上改?这里特别提醒的是,每次设置新数据

结构,都先考虑兼容问题。新旧同时支持,旧的逐步淘汰。

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/80823295
今日推荐