今天与buaawhl讨论DJ语言的事情时,对于DBC有了更深入的思考与认识。
具体的讨论过程就不描述了,说说我的思考的结论吧。
1、检查
DBC的核心是检查、更加严格的检查。这其实是强类型语言之后,进一步的增强。
一段程序,不但应该通过注释告诉别人,自己需要什么数据,自己能够做些什么。
更应该直接用代码进行强制的检查,这样的说明效果会更好,程序运行也会更加稳定。
2、对于检查的分类
a.类型检查:仅仅对于输入数据与返回数据的类型进行检查
b.前置检查:检查输入数据的合法性——是否合格,可以认为是更加严格的输入类型检查,但是还可以包括多参数的关联检查。比如,假设A为True,则B必须大于10,否则,B必须大于20。这样的复杂前置检查条件。
c.后置检查:检查返回数据的合法性——是否符合预期。这个预期其实也有两个级别,一是首先要符合返回类型定义,二是要符合输入数据的实际情况。
d.测试用例:这是更为严格的,也更为灵活的检查。前面的三种检查都可以在运行期始终起作用,而测试用例,则只需要运行通过一次即可。
3、DJ所能支持的DBC形式
a.更好的类型检查机制,不再基于模模糊糊的命名继承推导,而是基于实实在在的逻辑判例。
b.由于能够支持复杂判例的类型定义,因此可以实现前置条件定义的重用。但是对于“多参数关联的前置检查,则并不适用”,在我看来,如此复杂的前置条件,根本就应该正儿八经的写在方法的正文里,而不是搞复杂的前置检查。
c.后置检查,通过check:和checkMethod:支持。
d.通过test:支持。
分享到:
相关推荐
CAN通讯协议转DBC工具: 1、必须按照模板形式填写EXCEL,sheet名称不可更改、列名称不可更改、节点可以修改和增加。 2、报文名称、信号名称必须只能使用字符、数字和下划线。 3、发送节点和接收节点名称只能使用英文...
用于DBC文件的解析,将DBC文件的各个节点、信号解析出来。
包含EXCEL-DBC 互转工具,可以快速生成生成dbc文件
TrinityCore 版本的spell.dbc详细中文解释
dbc修改器,修改dbc修改器,修改dbc文件的比用工具
通讯协议DBC格式转成Exelc格式,方便管理与查看。 分享用,不是自己写。
车载CAN网络数据库文件dbc的格式说明
CAN通信柴油车协议SAE-J1939,现在车型较为通用,可以用文本编辑器打开或者用官方DBC编辑软件CANoe打开
DBC安装教程和工具
使用方法:DBC2C.exe [DBC文件] [节点名称] 例如:DBC2C.exe Test.dbc MCU 附件里面已经有Demo文件和已经生成的C文件
DBC编写教程 、DBC实例、CAN矩阵、实车报文
CAN通讯DBC文件,J1939dbc文件.zip
安装 sudo pip install canmatrix 功能操作说明 ...DBC转xlsx ...canconvert --deleteECU=myEcu,myEcu2 source.dbc target.dbc canconvert --renameECU=myEcu:myNewEcu,myEcu2:myNewEcu2 source.dbc target.
J1939.dbc 可直接导入can工具进行dbc报文解析,也可以直接用于CANoe中使用
DBC转换成C源码,包含了发送和接收的解析和组合。暂时不支持可续计数法如:6.23E12。
DBC2000-v6.8
CAN DBC 文件编辑与查看 2.1:创建节点 点击工具栏 New Node 显示框出现一个节点,系统个它分配各名字,双击可以修改节点名与备注。 2.2:创建一个消息 鼠标选中一个节点然后再单击 New Message,节点下方出现...
用JAVA解析DBC文件,考虑大小端,生成文件内容跟Vector CANDB++相同。