最近由于工作需要,线上考了个NI的CLD证,内容上还是比较简单,但是线上考试会有几个问题。
- 考官印度英语(直接文字沟通,可以开有道云翻译)
- 网络卡顿,虚拟机也十分卡顿
- 无法使用一些第三方框架。(比如我们喜爱的JKI这种)
针对于上面的问题,我自研了一套小框架,可以帮助你更有效地拿下CLD证书。下面是我的考试得分94,主要扣分点是一些规范上,实在是太卡了,有些东西我也没办法(目前不确定能不能选择线下考试)。
首先明确,CLD考试就是考个状态机,且要求程序上交的时候如果不能运行将直接判定为不通过。所以类似传统状态机(可以指代ni给的标准solution里给的状态机模板)一旦涉及修改很容易造成整体程序的问题,当然也可能那种方式我玩的不够深。
我自研的小框架大致如下图:
该框架大家可以看到一些AMC的影子,应该可以说是贫民版的AMC了,我承认框架还有很多问题,但是应对cld考试来说绰绰有余了。
该框架主要有几个优势:
- 状态字符串+参数变体的组合,增加了状态机的灵活度。
- 面板事件捕捉与具体状态执行分离,保证了软件不会因为状态执行而卡死。
- 这种方式,在一些简单应用下,大大降低了创建子vi的需求,因为实际考试的环境很卡(仅指线上考试),减少子vi的创建,可以大幅提升你的编程速度。(我的主要扣分项也是vi模块化不足)
- 簇的使用十分流氓,可以为了达到软件功能目的疯狂增加flag位。
- 由于考试时间较为紧张(其实时间一点都不紧张,4个小时,都是卡顿惹的祸),一个简单但又灵活的小框架,可以帮你在一些脑子卡住的情况下,快速编写软件逻辑(写的丑,但是跑的通)。
- 和AMC相类似的使用方式,可以大大减少大家的学习难度(当然本身也不难)。
其余内容考虑到考试的公平公正性,我就不做透露了。由于国内网上CLD相关的资料几乎没有,希望能给有相关考试需求的小伙伴提供一些指导。如果你也想考NI的相关证书,且有一定预算(NI的考试还是有一定成本的),可以私信联系我,我可以给你提供报名渠道😊。
代码模板如有问题欢迎交流,但也请轻喷,毕竟只是为了应对考试而搞的。
源码如下:
通过百度网盘分享的文件:模板CLD考试用.vi
链接:https://pan.baidu.com/s/1WrLGcV_-enKBAJ7YZmTDZA?pwd=b7tk
提取码:b7tk