开发人员有必要过度追求软件灵活性吗?.doc

开发人员有必要过度追求软件灵活性吗?.doc

ID:27881999

大小:69.50 KB

页数:8页

时间:2018-12-06

开发人员有必要过度追求软件灵活性吗?.doc_第1页
开发人员有必要过度追求软件灵活性吗?.doc_第2页
开发人员有必要过度追求软件灵活性吗?.doc_第3页
开发人员有必要过度追求软件灵活性吗?.doc_第4页
开发人员有必要过度追求软件灵活性吗?.doc_第5页
资源描述:

《开发人员有必要过度追求软件灵活性吗?.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、开发人员有必要过度追求软件灵活性吗?    在有软件之前,只有黑暗。自从时代的黎明到来后,一直存在一个不变的事实:企业想要构建价格更低、运行更快的软件。  当然,这是可以理解并且值得称赞的目标——尤其是你曾经花费时间跟软件开发人员打过交道。每个工程师都应该全心支持此目标,并且在当前环境的约束下,应该始终努力尽可能有效率地创造产品。  然而,事实上,我们经常做不到这一点。并非故意为之,只是随着时间流逝,在构建软件时会因为意料之外的复杂性而陷入困境,因此自我训练以寻找边界案例、差距分析以及所有可能起源于同一个需求要点的隐藏故障。  我们被大量的复杂度以及设计优雅解

2、决方案的精神执念所迷惑:另一层抽象!干起来!分离相关量!继承构成!这也是可以理解的,但是在这个过程中,我们经常忽略正在被解决的业务问题,忘记管理复杂度是软件开发人员次重要的责任。  为什么会造成现在这样的局面?  软件在某些方面上已经变得更加简单了  在过去的几十年里,软件产业非常成功地降低了编写大多数软件所需要的自定义代码量。  这种减少大部分是通过使编程语言更有表现性来实现的。像Python、Ruby或JavaScript这些语言可以用不到C语言三分之一的代码来实现相似的功能。使用C语言取代汇编语言编写程序也同样带来了类似的优势。可以预见,在未来,语言设计

3、不大可能带来如同过去几十年一样的改进。  然而也有很多其他不需要让语言更具有表现力的方法,可以精简构建软件的代码总量。截止到现在,在过去的二十年里,我们最大的收获是开源软件(OSS)。如果没有个人和公司将资金投入到他们为社区免费赠予的软件中,没有这么多的代价和努力,那么我们今天所构建的大部分软件将不会实现。  这些项目使我们能够站在巨人的肩膀上解决问题,利用工具让我们更专注于解决业务问题,而不是花时间建设基础设施。  也就是说,业务是复杂的。可笑的复杂,而且只会更多,开源软件非常适合生成用以构建系统的框架和工具,但在很大程度上为了获得关注,又必须解决大量人员共

4、享的问题。因此,大多数开源项目要么是相对通用的,要么是处于非常受欢迎的领域。因此,这些工具中的大部分都是建立系统的绝佳平台,但最终我们仍然需要在日益复杂且要求苛刻的系统中构建所有业务逻辑和接口。  所以我们剩下的是一个看起来像这样的栈(对于web应用程序)…    “OurCode”部分最终变得非常复杂,因为它反映了业务及其流程。如果我们有自定义的业务逻辑和自定义流程,那么我们只需编写组建应用程序的接口、工作流程和逻辑即可。当然,我们可以尝试用不同的方式来记录该逻辑(记住业务规则引擎?),但最终,没有其他人会为您的业务编写业务逻辑。实际上似乎没有办法解决这个问

5、题……至少是在机器人到来并将我们从工作中解救出来之前。  不喜欢代码,那么低代码(Low-Code)如何?  如果我们必须开发应用程序的接口、工作流程和逻辑,这听起来像是难住我们了,对吗?在某种程度上,是的,但我们仍有几个选择。  对于大多数开发者来说,软件等于代码,现实并非如此。开发软件有许多方法,其中一种是使用可视化工具。在网络普及之前,视觉开发和RAD工具在市场上占有更大的地位。诸如PowerBuilder、visualFoxpro、Delphi、VB和Access等工具都具有可视化设计功能,允许开发人员在不输入任何代码的情况下创建界面。  这些工具涵盖

6、了需要编写的代码,但总的来说,你可以直观地设计应用程序,然后编写大量代码来实现应用程序的逻辑。在很多情况下,你仍然用编程操作接口,因为使用这些工具构建的接口通常是静态的。但是,对于大量应用程序,这些工具通过舍弃其他性能获得了巨大的生产力,主要是以灵活性为代价。  自从网络兴起后,这些工具可能已经不再流行,但公司对它们的渴望并没有降低,尤其是因为势不可挡的软件需求仍然持续不断。整个行业最新趋势是“低代码”系统。低代码开发工具是最新一代拖放式软件开发工具的现代术语。这些工具和其他工具之间最大的区别在于,它们主要基于Web(和移动端),并且通常被托管于云平台。  许

7、多公司正活跃于这些平台上。Salesforce(AppCloud)、Outsystems、Mendix以及Kony等厂商承诺能够比“传统”应用程序开发快许多倍。虽然他们的很多说法可能很夸张,但也有一定的可信度。依赖类似上述平台的所有弊端,可能的确导致某些类型的程序比使用.NET或Java的传统程序开发更快。  那么,问题是什么呢?  的确有几个问题。首先,有经验的开发人员经常讨厌这些工具。大多数严肃的开发人员™喜欢使用真实代码™编写真正的软件™。我知道这听起来像我正在迎合一群呜咽的婴儿(也许我有点儿),但如果你传递的核心价值是技术,那么采用顶尖开发人员不喜欢使

8、用的工具并非是个好主意。  其次,像我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。