关于云平台遵守的标准规范
![](https://i-blog.csdnimg.cn/blog_migrate/8e6e63a78a8f9f491e4d1366c579c82e.png)
最近,我一直在从事一个项目,在这个项目中,我不得不与许多使用称为REAXML的XML标准格式的代理商打交道。 您可以在此处查看“标准”。 让我们谈谈这有什么好处。 首先,澳大利亚几乎每个房地产经纪人都使用这种格式将其财产数据发送到一堆网站(包括他们的网站),这很棒。 这意味着每个人都使用相同的格式,并且每个人的数据彼此兼容,对吗?
错误。
您会看到,REAXML有一个非常宽松的标准。 它接受各种输入和值的可能性,以至于伤害很大。 这里有一个例子:一个属性中可以有多个“功能,就像一个火的地方,游泳池,空调等,如果你想表明,酒店的,它是那么容易,因为它增加了一个features
类似的节点所以:
<features>
<airConditioning>1</airConditioning>
<openFirePlace>yes</openFireplace>
<pool>2</pool>
</features>
EAS —等待,什么?
是。 这三个示例基本上都表示“它具有____”。 如果您不相信我,请看看 !
大于或等于零的整数被视为有效。 大于1的任何值都被视为1。或者,接受yes或true,而没有no或false视为不存在。 空值被认为是酒店内没有空调。
好的。 可以这么说,如果您有一个具有空调的属性,则可以为节点赋予值1
, yes
, true
或任何其他正整数。 哇
我知道其中大多数都是由非常聪明的人组成的团队完成的,很可能比我聪明。 我确实知道有些机构可能希望选择说“此属性有2个游泳池和3个壁炉”,但是既然还是XML文件,为什么不只是将其添加为属性并将值保留为布尔值呢? 布尔值,我的意思是一个或另一个: TRUE或FALSE 。 不是1或0。还是yes
或no
。 我的意思是,这只会给其他人的代码/解释器带来很多复杂性!
在这里,它们几乎垄断了所有代理,并基本上迫使他们使用REAXML,但是为什么我们宽容呢? 对我而言,标准是一套硬性规定。
![](https://i-blog.csdnimg.cn/blog_migrate/10a75bb854f35146f60c6ad8c53af21d.png)
从快速的Google的结果中,我们看到了“标准”的前两个定义: 质量或成就的水平,以及在比较评估中用作度量,规范或模型的东西 。 质量。 规范。 这两个词都对我尖叫“严格”。 如果您有标准,请严格遵守 ! 无论如何,每个人都在跟踪您,那么为什么不随便强迫它呢? “嘿,大家,因为你们都是美丽而聪明的人,请遵守规则 !”
实际上,在我成为前端开发人员的初期, W3C Standards引发了一堆闪回。 谁记得IE6?
因此,问题在于,即使我们有W3C来设置标准,浏览器也都有不同的见解和实现! 看看之前的盒子模型 。 如果每个人都在使用不同版本的标准,它将如何成为标准?
没有共识,每个人都会失败。 现在,每个人都必须涵盖其他x
情况,这些情况并非其使用的格式。 我记得在CSS3的早期, border-radius
是一个相当新的属性,并不是所有的浏览器都支持它。 然后,他们都拥有仅实施自己的绝妙主意,因此Mozilla(Firefox)的供应商前缀为-moz
,而Webkit浏览器 ( Chrome和Safari )均具有-webkit
。
标准这么多!
解决方案?
老实说,上面的XKCD带总结得最好。 通常的解决方案是创建另一个标准。 但这真的是解决方案吗? 我认为解决方案是仅遵循标准。 如果对某些东西感到困惑,请修复它。 这意味着该标准可能太含糊或包含太多选项(例如上述REAXML中的布尔选项)。 严格要求,执行并遵循。 传播单词和知识。
如果您发现自己使用的是标准,而另一个人或组织使用的却是不同的解释,那么这就是开始对话的标志-因为您可能都做错了。
翻译自: https://hackernoon.com/what-good-are-standards-if-we-dont-follow-them-f118ed674b8
关于云平台遵守的标准规范