代码之家  ›  专栏  ›  技术社区  ›  joe snyder

C项目文件是否正常?

  •  3
  • joe snyder  · 技术社区  · 14 年前

    一个C#程序员重写了一个Delphi6程序(没有GUI,只有文件输入文件输出,大约50个过程和函数,总共不到1200行==57kb的击键),它作为一个.DPR文件存在。

    这是典型的C项目吗?C程序员通常使用什么策略来决定如何分割和组织他们的项目?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Glorfindel DataWraith    5 年前

    它更像是开发人员使用visualstudioide(VS)的产物,而不是C/NET本身的问题。使用VS工具时,倾向于将每个类放在自己的.cs文件中,因为解决方案资源管理器窗口以树状结构显示文件/文件夹,允许程序员快速直观地确定其类的目标。

    还有Visual Studio 添加新项目 对话框通过在每次向项目中添加类时生成一个新文件来鼓励一个类一个文件的方法。

    例子:
    alt text
    (来源: spaanjaars.com )

    如果程序员在visualstudio环境之外工作,您的手上的腹泻可能会少很多。Ewww...

        2
  •  8
  •   Warren Rumak    14 年前

    1) ,但这可能会导致某些构造的重复(使用声明、命名空间声明等),并且肯定会增加项目中的文件数量。

    2) 小班比大班更容易理解

    3) . 当您添加适当的错误检查、文档和描述性方法/变量名时,您的代码更有弹性和可维护性,但也要大得多。那完全没关系。

    尽管如此,当然有很多情况下,代码之所以庞大仅仅是因为程序员不知道自己在做什么。你可以通过查看最大的文件来识别它;如果你看到很多相同代码的重复。。。或者如果你看到大量的字符串连接。。。。或者您根本看不到任何注释(或者注释没有告诉您任何有用的信息),那么您可能手头上有一些很好的老式代码。

        3
  •  4
  •   Waleed Al-Balooshi    14 年前

    如果看不到原始代码或新代码的实际代码,我就不能仅仅通过知道行数、方法数和文件大小来判断新组织的代码设计是否正确。在C#我通常:

    1. 将每个类和接口分离到自己的文件中。
    2. 静态助手方法按函数分组
    3. 我通常把文件按层分成文件夹。例如GUI层、业务逻辑层等。。。
    4. 扩展方法由它们所涉及的类或接口分隔,有时也由函数分隔。

    现在,新代码可以被分解成更面向对象的设计,但是我不能不看代码就知道。

        4
  •  3
  •   Tim Jarvis    14 年前

    如果不知道你的程序做了什么,就很难做出任何有意义的评论来解释为什么你的程序员决定a)重写它,b)为什么他这么做了。

    不过,我要说的是,当开发人员不了解其他人的源代码时,尤其是当他们确实了解需求时,他们通常会选择重写而不是重构。这是我们在这个行业一次又一次看到的。