首页 > 其他分享 >测量项目总结

测量项目总结

时间:2023-06-18 16:39:18浏览次数:35  
标签:总结 类库 社区 项目 代码 测量 Modbus 使用 组件

和朋友合作开发一个测量机产品, 用于测量汽车零件形位公差, 客户的客户是电动汽车第一品牌, 我负责上位机开发, 历时2个月, 完成上百次的commit.

时间虽紧, 但代码质量上没有妥协, 软件层次划分合理, 后续考虑做成系列产品.

测量项目总结_Server

开发利器

感恩这个时代, 现在的软件开发开发体验真好, 可以将主要精力都用于产品研发.
. 各类AI大语言模型, 问题检索效率比搜索引擎高太多了.
. 微软的C#和Visual studio 2022 社区版, C# 语言和社区版
. MySQL 8社区版, 之前我一直觉得MySQL功能较弱, 所以个人项目一般采用MS SQL Server 社区版或 PG, 这两个在工控行业都不太合适, SQL Server社区版数据量有上限限制; PG功能倒没限制, 但安装和运维对于工控行业来讲难度太高. 这次尝试MySQL8, 数据分析已经足够强大, 加上运维超级简单, 非常适合工控行业.
. Modbus 协议和Mobus slave 软件, 和PLC通讯首选Modbus协议, 代码可移植性性好, 而且有可靠的调试软件.
. gitee 提供的私有代码仓库
. git extensions 软件, 用的最顺手的git客户端.
. nuget 仓库, 类库安装太方便了.
. ConfuserEx 混淆工具, 测试了很多款开源混淆工具, 这是唯一一个使用方便同时功能又强大的, 混淆后的程序没有发现有异常情况.
. DnSpy 工具, 之前主要使用 ILSpy 工具, 发现 DnSpy 阅读代码的体验比ILSpy好太多, 可惜不更新了.

使用类库

上个项目中部分使用了.Net core + WinForm, 感觉到.Net core 对于 WinForm支持还不够成熟. 所以这次还是使用了最稳妥的技术: .NetFramework 4.8 + WinForm.
. Dapper 框架, 使用越来越顺手了
. ObjectListView 组件, UI 中大量使用 ObjectListView 组件, 开发效率非常高.
. NLog 组件, 我需要在UI上显示一些关键的日志信息, NLog 支持 RichTextBox 输出, 完美地解决了这个需求点,
. Newtonsoft.Json 组件, 配方文件使用 json 格式, 使用 Newtonsoft 一行代码即可映射到class
. NString 类, 除了提供一些String 扩展类, 最赞的是提供一个模板引擎, 我用它作为量测公式的预处理器, 完成变量赋值工作.
. NCal 类, 非常强大, 我使用它完成公式表达式的求解.
. NModbus 类, 支持Modbus TCP和 Mobus RTU
. NullGaurd 类库, 幕后英雄, 预防了很多空引用低级错误.



标签:总结,类库,社区,项目,代码,测量,Modbus,使用,组件
From: https://blog.51cto.com/u_15585381/6508730

相关文章

  • .NET7 中Autofac依赖注入整合多层,项目中可直接用
    一、配置Autofac替换内置DI1.安装Nuget包:Autofac.Extensions.DependencyInjection 2.Program.cs中加上builder.Host.UseServiceProviderFactory(newAutofacServiceProviderFactory());builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder=>{//在这里写......
  • 参与共建 SolidUI AI 生成可视化项目:开源社区的力量
    背景SolidUI是一个开源的AI生成可视化项目,旨在帮助开发者快速构建可视化界面。我们诚挚邀请您加入SolidUI社区,与我们共同打造更加优秀的开源项目。本文将为您介绍如何参与到SolidUI的共建中来,包括相关链接、当前项目进展以及如何为项目做出贡献。https://github.com/CloudOrc/Sol......
  • PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现
    本文参考:......
  • 运算符重载知识点总结
    #运算符重载在数学上,两个复数可以直接进行+、-等运算。但在C++中,直接将+或-用于复数对象是不允许的。•有时会希望,让对象也能通过运算符进行运算。这样代码更简洁,容易理解。•例如:complex_a和complex_b是两个复数对象;求两个复数的和,希望能直接写:complex_a+complex_b在数学上......
  • java 聚合项目--pom.xml配置文件
    java聚合项目创建聚合项目的2种方式:分层项目开发:1.DAO:java工程项目;(mavenquickstart)2.Service:java工程项目;(mavenquickstart)3.模型:java工程项目;(mavenquickstart)4.共工模块:java工程项目;(mavenquickstart)5.controller+view:webapp:web工程项目(mavenwebapp)工程类型:packing......
  • java 创建聚合项目的2种方式及 部署Nacos
    创建聚合项目的2种方式byIDEA20231.创建module,erp-parent2.创建子module,设置每个module的pom.xml属性pom及父模块;3.配置erp-parent模块里的pom.xml1.创建module,erp-parent2.创建子module--mavenarchet部署nacosype(archetype:quickstart(java工程),webapp(web工程),设置每......
  • 高并发项目优化5大法宝,避免填坑
    高并发项目优化5大法宝,避免填坑:1.访问数据库的查询数据,能缓存都做缓存,减少对数据库的查询压力;cache2.缓存能提到循环外,最好提到循环外,传入缓存对象使用,不要每次从内存读缓存,会造成cpu非常高;cacheList=xxx()3.高并发请求的接口都要做成异步,提高响应速度;asyncTask;await4.循环处......
  • k8s 梳理及使用总结
    ---1.Kubernetes概述1.最初Google开发了1个叫Borg的系统(现在命名为Omega),来调度近20多亿个容器从2014年第1个版本发布以来,迅速得到了开源社区的追捧,?前,k8s已经成为了发展最快、市场占有率最高的容器编排引擎产品。---2.特点轻量级,资源消耗小开源弹性伸缩负载均衡IPVS---3.重要......
  • 通用mapping实现的SSM项目:SSM 框架:是 Spring + Spring MVC + MyBatis
    1.结合通用mapping实现的SSM项目:SSM框架:是Spring+SpringMVC+MyBatis的缩写mybatisgenerator:配置插件通用mapper:tk.mybatis2.MyBatis逆向工程组件是MyBatisGenerator,简称MBG,是专为MyBatis框架制定代码自动生成解决方案,MBG可以根据数据表结构快速生成对应的实体类、......
  • 镜像,容器,容器数据卷,DockerFile 相关命令 使用总结
    镜像,容器,容器数据卷,DockerFile相关命令使用总结镜像是1种轻量级、可执行的独立的软件包。包含:代码,运行时,库,环境变量和配置文件。所有软件包,直接打包docker镜像,就可以直接跑起来.独立的运行环境。一.镜像命令1.列出本机所有镜像,查看镜像dockerimages2.搜索镜像dockersearc......