这个问题来自Web应用程序,虽然它也适用于其他类型的应用程序。我正在使用MVC。
我有应用程序代码(模型,视图,控制器,表单,帮助程序等)和库代码(外部库和带有自编写数据库映射器,json转换器等的内部库)。
我想知道你通常在应用程序和库代码之间划线(当两者都是内部编写的时候)?
某些库代码更具有项目特定性,但仍然有点抽象。
答案 0 :(得分:8)
库的代码是可重用的,应用程序的代码通常不是。如果代码与应用程序无关,请将代码保留在库中。
如果有疑问,请尝试回答这个问题:
如果我写另一个应用程序,这段代码会保留吗?
答案 1 :(得分:4)
我的一般经验法则是:任何可能在另一个项目中使用的东西,并且可以很容易地不依赖于任何特定于应用程序的代码(并且有各种各样的技术可以做到这一点)应该进入图书馆。因此,如果它可以重复使用,则会进入库中。
答案 2 :(得分:2)
当面对这些分类问题时,我想知道一件事:错误分类的后果。
这段代码是“库”,代码是“应用程序”......为了这个区别,它的好处是什么?如果我们将一些代码放在错误的类别中会发生什么?
一个可能的答案:
它会影响代码的重用。让我们假设我们有一个策略:库代码在带有所需头文件的DLL中可用。应用程序代码只是部署在.EXE中。
在应用程序中进行一个很难的计算,而不是库,这是一个很好的例程,然后它不能轻易地重用。
也许从这一思路开始的其他事情......版本控制的问题也适用。我们需要制作更好的文档吗? [即使只有一个开发人员,我们可能会更加小心?]我们是否需要将配置信息外部化,请确保不要硬编码任何东西?