dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

警惕电解液型号的重名现象 精选

已有 2470 次阅读 2018-3-21 22:07 |个人分类:锂电电解液|系统分类:科研笔记| 电解液, 编码, 型号, 唯一性, 重名

 一般来说,电解液厂家的型号都比较多,为了满足不同客户的要求,以及匹配不同特性的正负极材料而设计不同的配方,积累下来,导致了配方数量繁多,有的甚至能够达到数千乃至上个万编码。配方一多,重名的现象就可能出现。

电解液的名字,多数是生产厂家按照一定的规则来编制的,少数是客户自己指定的名字。一般而言,在设计配方的编码时,就应该考虑编码的不重复性。有时还可以借助不同的编码来区分电解液的各类或性能。这些都是可以的,也是现实存在的。

按照人们的习惯,大家多数都用电解液的不同名字代表着不同的配方,一个特定的名字与一份特定的BOM相关联(在某些情况下,BOM里甚至可以详细规定使用谁家的材料,不同的材料组合也可以在配方名字上有所区别)。在有些情况下,也允许用不同的名字来表示同一个配方,这也是允许的,只要指定了配方的名字,内容也就确定了。这种情况下的多个名字对应一个配方的情况是可以的。

然而,如果反过来,用同一个名字来表示不同的配方,这种情况就非常危险了。

确实存在着这样的案例,在某个阶段确定了一个配方,后来由于客户或厂家自身的原因,他们希望不改变名字而改变配方的内容,实现名字不变而配方变化了的情况。这样就会导致一个名字在不同时候代表了不同的内容。

这样的情况,相当于是同一个型号对应了不一样的内容,这种也算是配方的重名。

这种情况是非常危险,也是我极力反对的。

由于人们思维的习惯和方便,总喜欢用简单的内容来代替比较复杂的特定内容,这是配方编码的由来。而且,很多交流的场合,如果配方的名字长一点,人家都巴不得用更短的字符来替代。

如果一个配方的名字,由于它在不同的情景或不同的时间阶段,代表了不同的内容,你就得把这个名字,连同它的必须的背景或时间段信息一块完整的交代清楚了,才能准确的传达这个配方对应的内容。那么,这样的一个设计,在系统的运行中,经手多个部门,多个人员,甚至多家单位的传递,一定会出错的。这种出错,可能是人工在信息传递过程中的失误,或者系统(比如配方软件系统,查询表格等)不能完整容纳信息而导致难以识别的错误。而这种错误很难通过检查名字而发现,因此具有相当大的隐蔽性和危险性。

简单的说,如果你用名字P代表了Pineapple,同时在某个条件下用P来代表Pear. 在你的系统中如果只是用P来传递这种水果,那么,迟早有一天,你需要Pineapple的时候,别人会给你来一个Pear.

在系统中,靠人力的认真检查来防止出错,几乎总是靠不住的.

因此,只要有可能,就不要用同一个名字来代表不同的配方. 

实在不行,那你得加上必须的识别信息,借鉴软件行业的做法,比如说用版本号或附加字符.但是,你要确保把版本号或附加字符在所有环节都能严格的完整的传递,明确名字加上这些信息才是完整的编码,这样才能保证不出现错误.

其实,这种防错,在数据库行业是有现成概念的,ACCESS数据表的主键,SQL的不重复的字段,都是类似的设计.我们也可以利用类似的手段,比如用配方编码做为配方数据库的主键,这样输入的时候就会检查是否具有唯一性,从而帮助我们防范这类错误.

还有一种现实情况,就是客户指定名称,而你采用了客户的名称做为产品名称.如果两家不同的客户碰巧指定了相同的名字,也会出现重名.这种情况虽然比较少见,但并非不可能.这个我们一定要想办法区分开,不能让任何环节有混淆的可能性. 我以前的办法是,不管客户指定的配方名字是什么,我都为配方指定一个自己系统的唯一化的名字(哪怕实现上不用于生产,这个名字只用于区分配方),把客户指定的名称作为特殊需求信息或客户名称字段的内容.以自己的唯一化的名字做为识别标识,能够很好的防范这类错误.


现在是动力电池开始发展的时代,如果因为一个编码的重名而导致配方做错了,并且把产品传递给了客户做成电池,那就是大麻烦了!


因此,在此多提醒一句,同行的朋友一定要注意防范这种问题.看起来不起眼,但出了问题非常的要命!



http://blog.sciencenet.cn/blog-1213210-1105083.html

上一篇:VBA编程中经常碰到的错误
下一篇:整理蒸汽压数据的一点花絮

1 黄永义

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2018-7-21 13:47

Powered by ScienceNet.cn

Copyright © 2007-2017 中国科学报社

返回顶部