在相当多的面向对象语言中,特别是那些没有独立功能的语言中,现在最佳做法是每个文件都有一个类,文件名与类名相同。例如,MyClass.cs存储类MyClass --这种类型使得文件的概念毫无意义。
它是否知道像java和c#这样的现代语言保存文件的原因,而不是其他解决方案,例如每个项目的数据库?
发布于 2016-11-07 19:28:15
与源代码数据库相比,源代码文件有许多优点。就在我头顶上:
1)易于使用。您可以在您选择的IDE或任何文本编辑器中打开文本文件。数据库需要一个具有特殊接口的编辑器。2)易于共享。如果一个小的代码片段首先包含在一个文件中,那么发送一个包含一个小代码片段的文件就容易多了。3)易于版本控制。版本控制是为文本设计的,这意味着文本文件可以通过现成的版本控制软件进行版本化。试图对基于数据库的代码进行版本化将是一片混乱!
请记住“负100分”原则:每个语言特性都需要大量的工作才能创建和实现,所以问题不是“为什么一种语言没有特性X”,而是“特性X是否足够有用以克服实现它的障碍?”在这种特性的情况下,考虑到需要对整个编码基础结构进行改造才能支持它,那么障碍就比平常高了!
https://softwareengineering.stackexchange.com/questions/335566
复制相似问题