支持多编程范式的开发,避免不必要的滥用编程技术

2023-08-08
来源:网络整理

支持多种编程范式的开发。 作为开发人员,必须合理应用开发范式,避免不必要地滥用编程技术。 适合技术开发的项目类型有:

需要长期维护的VI

大型复杂应用

需要团队合作的项目

(1)需要长期维护的程序

广泛应用于电信、汽车、仪器仪表、电力、轨道交通等众多传统行业。 许多工程公用事业需要长期使用和维护,周期往往长达数年甚至十几年。 在软件生命周期中,不可避免地会受到各种外部因素变化的影响,例如:已使用的测试硬件设备出现故障需要更换新的替代型号、更新测量结果数据格式的要求等。报告、方法变更或测试依据的增加等,通过面向对象编程技术中的合理抽象,对于稳定的抽象接口编程,应用继承和动态分配技术可以很好地应对相关扩展变更的影响,从而更好的持续发挥程序功能的作用,并且可以大幅降低维护成本; 另外,与功能模块封装相比,已建立的类模块封装具有更高的封装级别,鼓励和强调关注点分离,可以有效降低维护者的认知成本,从而使代码更易于阅读和扩展维护。

应用程序开发是什么意思_小程序开发与应用_应用程序开发平台

(2) 大型且复杂的应用

大型复杂的应用程序可以从复杂性、灵活性和可重用性三个方面来分析为什么面向对象技术比面向过程更有优势。

为了应对程序的复杂性,建议采用分而治之的设计思想,分层分块地处理程序的整体逻辑功能。 以测控程序为例,从上到下一般分为四个层次:用户界面层、测试序列调用层、测试功能层、硬件驱动层、层与层之间通过稳定的抽象接口进行服务调用; 每层又可以进一步细分为不同的功能模块,功能模块又通过抽象封装的方式进行分解,分解出不同的功能。 面向对象编程技术可以提供更好的层次抽象接口和模块接口实现小程序开发与应用,便于将复杂程序的逻辑功能分解为层和块。

大型程序往往需要考虑多种可互换的选择,并能灵活组合相关的逻辑功能。 例如,测量过程中的数据采集可能需要快速测量、批量测量或特殊定时采样测量。 灵活的多样性带带来了程序开发和编写的复杂性。 面向对象编程强调算法策略的本质抽象和封装,形成相关继承关系的分层类族,并使用相同的抽象接口来支持多种选择。

大规模、复杂的应用不仅希望程序的底层功能模块能够被复用,而且由于大规模、复杂的程序开发周期长,同时也希望上层程序框架能够被复用。设计和验证重构工作量大; 通过传递原则和多态手段控制依赖关系,提供整体的插件式程序架构,将高层策略组件与底层实现组件分离,提供程序架构更好的复用性。

应用程序开发是什么意思_小程序开发与应用_应用程序开发平台

(3)需要团队多人配合的程序

开发软件至少需要三个不同岗位的角色一起工作:客户、开发人员和测试人员。 一般来说,通常是客户方(产品负责人或需求分析师)确定需求、开发需求分析报告、开发验收测试以及设置要开发的功能的优先级。 软件开发人员专注于实现客户需求并确保实现的代码满足验收测试要求。 测试人员专注于帮助客户创建验收测试并帮助开发人员通过这些测试,这些角色和职责本身反映了关注点的分离。

然而,工程师普遍使用的开发工具大多是个体独狼开发方式。 这种方式不需要与他人沟通协作,共同开发软件产品。 人员角色)满足自己的使用需求(客户角色),基本没有开发文档和需求文档,全靠好脑筋——全靠脑子,日常实际工程使用而不是测试,这样的程序往往受限于开发者个人的精力和时间形成一个大程序比较困难。

面向对象技术对程序进行层次分解,继承多态实现的依赖倒置,鼓励形成插件化框架,结合PPL物理封装形式,进而成为各个可以互相更新、独立部署的功能模块,非常方便不同团队并行开发,从而具备独立开发能力。

此外,不建议使用技术的程序主要类型有:

应用程序开发平台_应用程序开发是什么意思_小程序开发与应用

为了使用简单的 VI 快速开发测量程序,

具有一定实验性质的函数程序

非常适合快速原型程序的开发,所以如果程序是功能验证程序,或者是简单的工具应用小程序,就不适合用技术来开发,因为与过程编程相比,它是用对象来开发的面向对象技术编程时,其设计需要较多的面向对象分析和开发迭代验证时间,导致面向对象开发过程繁琐,开发成本较高。

最后,除了根据程序类型来判断如何选择编程开发范式之外,另一个重要的考虑因素是开发人员的技能水平。 学习需要经历一个比较长的平台效应,也就是很难长期使用面向对象的编程思想。 要解决实际的工程问题,当然不可能了解面向对象编程范式的优点和价值。 再加上面向对象程序设计和开发的成本较高,很多开发人员对其产生了强烈的抵触情绪。

另外,一些开发人员错误地认为使用了编程语言元素的程序就一定能够获得面向对象编程的强大好处,而缺乏对面向对象编程设计原理、模式、框架的理解和掌握,导致程序项目陷入发展泥潭; 但在团队协作开发中,往往要求团队成员具备初级的编程能力; 开发者采用哪种编程范式需要综合考虑以上因素!

分享