软件平台化(一)

软件开发,尤其是商业软件开发,是一个系统工程。开发者,尤其是管理者需要系统地去考虑和控制整个开发过程中的每个环节,以保证软件的质量。下面首先从软件架构谈起,结合我自己的开发经验,跟大家共同探讨一下如何通过软件平台化保证产品质量。

为什么平台化?

按照面向对象设计思想和重构理论,软件开发过程中要尽量不要对已有代码进行改,而是采用增量式的开发方式,以避免对老代码进行修改时引入新的Bug。为什么要这样呢?因为代码编写出来后是要进行测试的,通过测试来发现和解决代码中存在的Bug。当一段代码编写完成并测试通过后,我们就可以说这段代码基本上没有Bug了,是稳定的(最起码在当前可预知的条件下是稳定的)。如果对这段已经稳定的代码进行了修改,那稳定就被打破了,也就无法保证这段代码没有Bug了,必须要进行新的、全面的测试和修改后才可以重新说这段代码是稳定的。可是实际的商用软件开发过程中,我们能保证可以对被修改的代码重新做一遍完整的测试吗?你可以说“我可以”。但是如果你的老板告诉你这代码实现的功能明天就要交付给客户,那你还可以说“我可以”?好,如果你是一个高手,通过一宿的加班,你还是可以说“我可以”。那如果你修改的这段代码刚好是一个刚刚生病住院的兄弟写的,而你只是临时顶替他,并且你不完全熟悉这段代码的细节,那你还可以说“我可以”吗?不熟悉代码的情况下你还能够保证测试的全面性吗?

在商用软件开发过程中,这种情况应该是会经常遇到的。进度紧张、加班加点、人员离职。。。。。。一系列的问题都在不停的干扰着我们以理想的方式去完成软件的开发。这种情况下,我们所要做的,只有提高效率。不必要的工作尽量不去做,也就有了上面说的增量式开发的理论。最起码,增量式开发方式可以减少你做一些不必要的测试工作,也可以减少对老代码的修改引入新Bug的风险。大家常说的到高内聚和低耦合,其实也就是这个道理。

这里只是举了一个简单的例子来说明增量式开发的好处。如果大家想从更深层次上了解为什么这么做以及如何做,建议大家去看Martin Fowler的《敏捷软件开发:原则、模式与实践》。

言归正传,为什么软件架构设计要平台化呢?

要解释这个问题,需要首先说明什么是平台。按照我的理解,平台应该是在一定的需求范围之内,封装了为实现这些需求而必须具备的一些基本功能和执行逻辑的软件框架。这个框架式和具体的业务无关的,仅仅定义了一些为实现这些业务而必须具备的接口。并通过这些接口搭建起来的一个完整的、可运行的软件框架。在这个平台之上,可以根据不同的需求,对平台定义的接口进行实现,来实现具体的业务。(描述得比较抽象,请大家慢慢体会)

从平台的发展历史来看,大致经历了从操作系统平台到数据库平台再到业务基础平台的发展过程。我们这里讨论的平台主要是指业务基础平台。这个平台的目的主要是让开发人员从底层的软件开发中脱离出来,将主要的精力集中到业务上。举例来说,音乐播放器开发平台可以让开发人员把精力集中到开发对不同格式音乐的支持上,而不必再去处理界面的开发。

综上所述,平台化,就是要把软件开发人员从纷繁的开发工作中解放出来,让他们可以把主要精力都集中到业务相关功能的开发上来,提升开发效率。这就是平台化的目的。

好了,天也不早了,洗洗睡了。后面有时间,再和大家进一步探讨如何实现软件架构的平台化。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
C语言平台软件是指能够在不同操作系统(如Windows、Linux、Mac等)和不同硬件平台(如x86、ARM等)上运行的软件。它们具有一定的兼容性和可移植性,能够在不同平台上编译和执行,而不需要进行大量的修改和优。 C语言平台软件的主要目标是提供一种统一的开发环境和执行环境,方便开发者在不同平台上进行软件开发和部署。通过平台软件,开发者可以使用相同的代码和工具来进行跨平台的开发,减少开发和维护的工作量。此外,平台软件还可以提供一些通用的接口和功能,使得软件能够在不同平台上具备相似的功能和表现形式。 具体来说,C语言平台软件需要完成以下几个方面的工作: 1. 提供跨平台的编译工具链:包括编译器、链接器、调试器等工具,使得开发者能够在不同平台上编译和构建软件。这些工具需要根据不同平台的特点进行适配和优,以提供高效的编译和执行性能。 2. 提供跨平台的运行时库:包括标准库和一些常用的第三方库,使得软件能够在不同平台上运行并访问系统资源。这些库需要提供统一的API接口和功能实现,以满足不同平台的需求。 3. 提供跨平台的开发框架和工具:包括IDE、调试工具、性能分析工具等,方便开发者进行软件开发、调试和性能优。这些工具需要提供统一的界面和功能,以便开发者在不同平台上进行开发和测试。 通过平台软件,开发者可以更方便地进行跨平台的软件开发和部署,提高开发效率和软件质量。同时,平台软件也为用户提供了更多的软件选择和更好的用户体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑再鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值