AC#程序员重新编写了一个Delphi 6程序(没有GUI,只有文件存档文件,大约50个程序和函数,共计少于1200行== 57kb键击),它们只是一个.DPR文件。< / p>
他在一个嵌套不同程度的13个文件夹中发布了一个包含58个文件(其中52个.CS文件)的项目,总计超过330kb。
这是典型的C#项目吗? C#程序员通常使用什么策略来决定如何砍伐和组织他们的项目?
答案 0 :(得分:8)
代码文件大小是确定项目价值的可怕指标,尤其是在业务线项目中。原因有三:
1)小代码文件比大代码文件更容易理解,但这可能会导致某些构造的重复(使用声明,名称空间声明等)并且肯定会增加项目中的文件。
2)小班比大班更容易理解。这对代码的新手来说是一个主要的好处。如果他们可以围绕任何一个班级,他们可以从那里向外扩展他们的理解。
3)优秀代码大于小代码。当您添加适当的错误检查,文档和描述性方法/变量名称时,您的代码更具弹性和可维护性,但也更大。那完全没问题。
现在所有人都说,当然有很多情况下代码很大,因为程序员不知道他们在做什么。你可以通过查看最大的文件来识别它;如果你看到很多重复完全相同的代码......或者你看到很多很多字符串连接....或者你根本没有看到任何评论(或者评论没有告诉你任何有用的那么你手上可能会有一些很好的老式代码膨胀。
答案 1 :(得分:4)
在没有看到原始代码或新代码的实际代码的情况下,我无法通过了解行数,方法计数和文件大小来告诉您新组织是否是正确设计的代码。在C#我通常:
现在,新代码可以分解为更加面向对象的设计,但是如果没有看到代码我就无法分辨。
答案 2 :(得分:4)
它更像是使用Visual Studio IDE(VS)的开发人员的工件,而不是C#/ .NET本身的问题。使用VS工具时,趋势是将每个类放在自己的.cs文件中,因为“解决方案资源管理器”窗口以树状结构显示文件/文件夹,允许程序员快速直观地定位其类。
此外,Visual Studio 添加新项对话框通过在每次向项目添加类时生成新文件来鼓励采用每个文件一个类的方法。
程序的命名空间层次结构通常使用解决方案资源管理器中的目录文件夹进行模仿(尽管不需要匹配),但这只是另一种视觉快速。
例:
alt text http://imar.spaanjaars.com/Images/Articles/UsingAccessProviders/SolutionExplorer.gif
如果程序员要在Visual Studio环境之外工作,那么你手上的腹泻可能会少得多。 EWWW ...
答案 3 :(得分:3)
Delphi是一种很棒的语言,但它不是一种神奇的语言。所以不,你所看到的不是一个典型的场景。
在不知道你的程序是什么的情况下,很难做出任何有意义的评论,为什么你的程序员决定a)重写它,以及b)为什么在他做的时候存在差异。
我会这样说,但是当开发人员不理解别人的来源时,特别是当他们理解了他们会选择重写而不是重构的要求时,这是很常见的。这是我们一次又一次在这个行业看到的东西。