Scalable 是否有一种可能的解决方案使编码过程具有可伸缩性?

Scalable 是否有一种可能的解决方案使编码过程具有可伸缩性?,scalable,Scalable,我们的每个项目都有一些共同点 这是浪费时间和精力 当公共部分很简单时就可以了,但情况并非总是如此 有人想过这种问题吗 目标是: 当我们进行编码时,我们只做新的部分,比如说,与以前做的任何部分都不相似的部分 如果有一个好的解决方案,对许多程序员来说将是一个巨大的解脱 这是任何库、编程语言或设计模式的要点:将已解决的问题抽象出来,这样就不必再次解决它们 当然,总会有新的、更复杂的问题需要解决。人们对解决问题的正确方法意见不一。因此,还有很多工作要做。有很多解决方案,从GOTO到函数、到类、到模块或组

我们的每个项目都有一些共同点

这是浪费时间和精力

当公共部分很简单时就可以了,但情况并非总是如此

有人想过这种问题吗

目标是:

当我们进行编码时,我们只做新的部分,比如说,与以前做的任何部分都不相似的部分


如果有一个好的解决方案,对许多程序员来说将是一个巨大的解脱

这是任何库、编程语言或设计模式的要点:将已解决的问题抽象出来,这样就不必再次解决它们


当然,总会有新的、更复杂的问题需要解决。人们对解决问题的正确方法意见不一。因此,还有很多工作要做。

有很多解决方案,从GOTO到函数、到类、到模块或组件,再到库。所有这些都允许您重用代码

即使是最简单的hello world应用程序也大量使用它。您不必自己编写所有的输出功能,您可以利用该语言的标准库和操作系统例程将文本打印到屏幕上


甚至像C这样的原始语言也提供了一个打印功能,例如,将文本打印到屏幕上,这样您就不必自己编写了。

是的,我每天都在思考这个问题——解决方案并不简单,但它是可以实现的:始终尝试将代码中常见的东西分解成可重用的构件。这就是解决方案,但它不是偶然发生的——这是一项日常工作。

当然,代码重用是理想的,但是有许多实际障碍。例如(这里主要考虑库的重用):

  • 您可能不知道现有功能,或者不知道它是否满足您的需求。有时,了解可重用功能所需的时间比自己实现它所需的时间要长

  • 现有代码可能与您需要的略有不同。有时,在您尝试重用代码之前,差异可能并不明显

  • 现有代码可能有一些bug,只有在应用程序中使用时才会显现出来(#2的特例)。调试到其他人的代码通常是一个真正的挑战,尤其是当您没有可修改的源代码时

  • 现有代码可能附带不适合整个项目的许可证限制

  • 现有代码可能与其他库和代码有很多依赖关系,这会使可执行文件膨胀,变得更脆弱,或者限制您将其部署到某些环境的能力

  • 现有代码可能与您还希望与应用程序链接的其他库冲突


  • 所以你在谈论编码重用?谈论以增量方式将需求转换为代码。回答得很好。很好的一点是,记住了一直令人讨厌的GOTO,这是我在SINCLAIR ZX81上唯一可用的代码重用方法