zoukankan      html  css  js  c++  java
  • 用C++写程序的一些感悟

    前言

    近期使用C++有了一些心得很感悟,这里整理一下。

    心得1

    如果只会使用LabVIEW写程序,还想要进一步深入程序设计,一定要学习一门文本语言。

    什么是会用LabVIEW

    会用是个比较笼统的概念。

    • 只要能写一个简单运行的程序叫做会用
    • 能写稍微复杂的仪器控制程序叫会用
    • 能写大中型测控程序也叫会用

    这里我认为至少能写稍微复杂的多个仪器联合控制程序,完成基本的测控系统应用叫做会用LabVIEW,用时间评估来说,使用LabVIEW作为主要编程语言至少工作2年以上。

    什么是深入程序设计

    写LabVIEW程序本身比较简单,大量的工作只是去学习现有的库如何去使用,然后集成到自己的工作需求中来,只要了解了基本的问题解决方法,很多人都可以胜任常规的编程任务。

    所以,随着项目需求的演进,势必程序会越来越复杂,如何有效的完成任务,如何让程序稳定可靠,如何容易拓展,这些都是程序架构考虑的事情。

    如果你已经掌握了基本的LabVIEW编程功底,工作中大部分工作内容已经开始接近重复的编码,那么深入程序设计也许就是下一步考虑的事情。

    为什么学一个文本语言

    LabVIEW程序设计的架构从简单的状态机到稍微复杂的生产者消费者,从面向对象到ActorFrameWork。效率上讲,更高级的架构会让程序开发变得相对容易,也确实提高了可拓展性和维护性。

    然而,无论如何变化,本质上还是没有摆脱语法的限制,尤其是对面向对象的设计,图形化的编程本身会限制思考效率,很多面向对象思想的设计仅仅在文本编程才会凸显设计优势。

    我之前学习LabVIEW面向对象一直很慢,以为是自己比较笨,抽象思维很差,后来用文本学习后发现很多不理解的东西换个语言去理解很容易。编码方法和思维体系不同,真的会影响学习效率。

    设计模式是面向对象设计中最简单的一环,所以GOF中也会提到设计模式是可复用程序设计基础….基础….真的只是基础…

    心得2

    近期在做产线测试的时候,新产品导入会对原有测试程序产生冲击。

    而使用面向对象的程序接口设计+简单工厂模式极大的加快了程序开发。虽然各种控制指令和操作方式均发生了变化,但适应新产品到秀跟的代码完成测试只用了2个小时左右,真正体会到思想指导实践带来的效率提高。

    心得3

    在使用LabVIEW程序设计时,有一个设计思想是“一切皆可配置”,但是由于语法限制,这一想法一直实现的比较牵强。

    • 使用数据结构直接存储配置文件会遇到配置文件的拓展问题
    • 使用Config Read来扯线也是比较恶心的事情,重复的编码效率非常低
    • 后来使用了AQ JSAON存储好了很多,不过代码就相对量比较大了

    用C++后,读写配置文件只是一句话的事情,所以一些皆可配置变得简单了许多,感觉还是很不错。

    心得4

    有人说LabVIEW编程简单,其他编程语言复杂,经历过两者之后,发现

    • LabVIEW测控程序简单,是因为有丰富的库,如果公司有验证过的文本库,编码效率不比LabVIEW低
    • LabVIEW语法简单,是因为动态语言,与其相近的Python,MATLAB等语言也一样简单
    • LabVIEW编写UI界面简单,是因为UI库相对丰富一些,C#里面有更多更专业的库,一样简单

    当然,LabVIEW作为一些优点的集合,必然在一些情境下更加具有优势,也必然在另一些场合劣势明显。

    文本编程与图形化编程各有优劣

    • 如果做科研探索,原型验证,首推LabVIEW
    • 如果做程序架构学习,换文本语言学习,效率和效果都会翻倍

    总结

    设计思想跟语言没有关系,学习设计思想却跟语言有很大关系

    近期一直在充电学习,所以更新不是那么频繁…讲真的,学习的感觉蛮好的,工作后惰性越来越强,找点新东西学习来克服惰性是不错的方法。

    来自为知笔记(Wiz)



  • 相关阅读:
    数学之美 系列十一 Google 阿卡 47 的制造者阿米特.辛格博士
    IE6 中的最大最小寬度和高度 css 高度 控制(兼容版本)
    数学之美 系列一 统计语言模型
    数学之美 系列八 贾里尼克的故事和现代语言处理
    数学之美 系列二 谈谈中文分词
    数学之美系列 4 怎样度量信息?
    带线的无限级下拉树列表完整示例篇
    实战篇通用的页面列表导出Excel控件
    CYQ.Data 轻量数据层之路 V3.0版本发布Xml绝对杀手(三十二)
    秋色园Blog 博客系列索引
  • 原文地址:https://www.cnblogs.com/EltonLiang/p/7898375.html
Copyright © 2011-2022 走看看