`
庄表伟
  • 浏览: 1152413 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于DBC的一些思考与讨论

阅读更多
今天与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:支持。
分享到:
评论

相关推荐

    DBC format.rar_.dbc_CAN DBC_CAN DBC_DBC文件_车载CAN dbc

    5. **DBC文件创建与维护** DBC文件通常由系统工程师或软件开发者创建,根据实际硬件配置和通信需求定制。随着车辆电子系统的复杂性增加,DBC文件的维护变得越来越重要,确保其准确性和完整性。 6. **DBC文件扩展**...

    Excel——DBC互转工具_c#dbc转excel_nan_dbc文件excel_DBCCAN_DBC文件

    本篇文章将深入探讨如何使用C#编写一个工具,实现DBC文件与Excel文件之间的转换,以及这些转换的实用价值。 首先,DBC文件是基于文本的,通常由CANalyzer或CANoe等工具创建和编辑,用于描述CAN网络中的通信协议。它...

    C#做的一个窗体解析DBC文件.rar_C# DBC frame_C# DBC文件解析_C# 解析DBC软件_DBC解析_c#解

    DBC文件在汽车电子行业中是CAN(Controller Area Network)通信的重要组成部分,它定义了节点间通信的信号、帧结构以及相关的属性。本项目是基于C#编程语言开发的一个窗体应用程序,用于解析DBC文件,帮助用户理解和...

    DBC spell.dbc 各字段解释.rar_dbc_spell.dbc_spell.dbc说明_trinitycore_wo

    其中,`spell.dbc` 文件是关于游戏内法术和技能的核心数据库,它包含了所有法术和技能的相关信息。TrinityCore 是一个开源的《魔兽世界》服务器端实现,用于搭建私人服务器。本文件`dbc_spell.dbc`的详细中文解释将...

    Excel2DBC-master_DBCCAN_dbc_exceldbc_excel转dbc工具_excel2dbc_

    标题中的“Excel2DBC-master_DBCCAN_dbc_exceldbc_excel转dbc工具_excel2dbc_”指的是一个项目或软件,其主要功能是将用户在Excel中设计的CAN(Controller Area Network)通信矩阵转换为DBC(DBC是CAN数据库的常用...

    DBC2Excel-master.zip_DBC协议转_EXCEL转DBC_dbc_dbc2excel_dbc转excel 工具

    通讯协议DBC格式转成Exelc格式,方便管理与查看。 分享用,不是自己写。

    CAN通讯DBC文件,J1939dbc文件.zip

    CAN通讯DBC文件与J1939dbc文件是汽车电子控制系统中重要的数据交换格式,尤其在商用车辆和重型设备领域广泛应用。DBC(Database Communication)文件是CAN(Controller Area Network)总线系统中的一种数据定义标准...

    dbc修改器,修改dbc文件的比用工具

    library.zip可能包含DBC修改器所需的其他库文件或资源,这些文件可能包含了用于解析DBC格式的特定算法,或者是一些通用的辅助函数。解压并导入到项目中,可以确保工具的正常运行。 总的来说,DBC修改器是一个实用的...

    DBC安装教程和工具

    接下来,我们将讨论DBC工具。这些工具通常包括数据库管理工具,如MySQL Workbench、SQL Server Management Studio,或者是通用的数据库查询工具,如DBVisualizer。它们可以帮助用户创建、编辑、查询数据库,以及进行...

    excel to DBC工具

    CAN通讯协议转DBC工具: 1、必须按照模板形式填写EXCEL,sheet名称不可更改、列名称不可更改、节点可以修改和增加。 2、报文名称、信号名称必须只能使用字符、数字和下划线。 3、发送节点和接收节点名称只能使用英文...

    JAVA解析DBC文件

    DBC文件通常采用ASCII格式,由多个段落组成,包括定义节点(Nodes)、消息(Messages)、信号(Signals)、以及一些其他属性。例如,一个DBC文件可能会定义一个名为"EngineTemperature"的信号,该信号在消息ID为0x...

    Python DBC LIB

    在Python DBC LIB中,以下是一些关键的知识点: 1. **DBC文件格式**:DBC文件是一种文本格式,包含了CAN网络中的节点、消息、信号以及信号与消息的映射关系。这些信息对于理解和解析CAN数据至关重要。DBC文件的结构...

    根据DBC文件生产C文件

    这样的转换有利于代码复用,提高开发效率,并确保与DBC定义的一致性。 在实际应用中,工程师可能会使用这些C文件来编写CAN收发器的驱动程序,或者在上层应用中处理接收到的CAN消息。此外,这种方法也有助于进行仿真...

    DBC 转结构体 修复版

    结构体的每个成员对应DBC文件中的一个信号,成员的数据类型通常与信号的数据类型匹配,如int、float等。此外,结构体可能还会包含帧ID,以便在程序中通过这些ID发送或接收CAN消息。 标签中的"DBC"指代上述的CAN总线...

    dbc2000 x64中文版

    对于初学者,可以通过在线教程、视频课程和论坛讨论来学习DBC2000的使用。社区中有很多热心的开发者分享他们的经验和技巧。 总的来说,DBC2000是一款实用的数据库管理工具,尤其在游戏开发和运营中扮演着重要角色...

    DBC编写教程 、DBC实例、CAN矩阵、实车报文.zip

    使用CANOE与DBC文件配合,工程师可以模拟CAN网络通信,验证DBC文件的正确性,并进行功能测试。 总之,这个压缩包提供的资源对于深入理解和应用DBC技术,以及进行CAN网络的开发和调试具有极大的价值。无论是初学者...

    DBC2000网吧专用版

    5. **易用性与维护**:考虑到网吧管理员可能不具备高级IT技能,DBC2000设计了直观的用户界面和简单的操作流程。此外,它还提供了一键安装功能,便于快速部署和更新。 6. **故障恢复与备份**:为防止数据丢失,DBC...

    DBC转Excel工具

    DBC(DBC,Database for CANopen)是CAN(Controller Area Network)网络中常用的一种数据库格式,主要用来存储CAN网络上的节点信息、信号定义、帧结构等数据。CANoe是一款由Vector Informatik GmbH开发的强大的CAN...

    DBC2000 x64位

    在本文中,我们将深入探讨DBC2000 x64位版本的功能、用途、安装与配置,以及它如何帮助用户快速搭建传奇单机游戏服务器。 一、DBC2000 x64位简介 DBC2000是基于数据库管理和服务器配置的工具,它主要服务于传奇类...

Global site tag (gtag.js) - Google Analytics