好的代码需要可读性,可移植性,性能好,易调试,具有设计的美感
性能分析
1.线程池:线程池的目的是为了频繁创建线程和销毁线程带来的开销,但是在三菱上位机的开发所涉及的场景,用户仅仅需要进行与页面进行点击的交互,其中所消耗的资源是很少的,所以线程池在该场景下显得有些过多预估需求了
2.当前的代码在数据传输之间采用的都是JSON的格式,是否可以考虑重新设计一个高性能的数据格式,比如http这种url格式的
3.减少字符串的拼接,可以考虑采用类似于printf的%d的格式化的传递
编码规范
1.命名规则,使用小驼峰的命名规则,如:myFirstName
2.函数最少接口,函数名即为功能名,且函数名不涉及到底层的实现,比如线程池的任务处理,完全可以设计为Deal,从而替代enqueue这种告诉使用队列的设计
3.不同函数的定义之间需要空行,在一个函数的内部也需要考虑一个函数流程的设计,把代码逻辑相同的放在一个代码块,比如创建并初始化变量放在一块,加入队列放一块,之后将代码块之间使用
4.为了可移植性,需要思考代码使用的框架,比如使用QT建立的框架,那就使用QT的QString,QThread,qint16_t等等
5.为了代码的可读性,当一个表达式涉及到多个运算符时,将这个表达式按步骤拆分,让逻辑更加清晰和直观,避免阅读代码出现逻辑外的思考
代码设计
1.代码设计的一个核心是为了解耦合,所以要深化自身面向对象的思想,在类职责设计,功能接口设计,成员参数设计都需要思考,比如在设计该类之前需要明确该类需要处理的功能,需要一个类职责边界,以及需要涉及的成员变量,成员变量是否需要继续封装,成员参数在每层中都要思考如何设计,比如连接,只需要IP,端口之类的参数,而不是传入一个结构体,比如JSON之类的