0

这可能是一个相当大的问题,需要尽快回答;非常感谢想要解释的人。参考书籍/其他网站/youtube 链接/其他不错的东西就可以了。

我正在使用 Visual Studio 掌握 C# 编程的窍门。我的程序越来越大,越来越复杂。我非常努力地保持它的结构,但每次我发现自己最终把它搞砸了。函数、变量、guievents 和所有东西都采用相同的形式。最后,我再也找不到没有 ctrl+f 功能的东西了。

用于多个表单的变量存储在单独的表单中,从而创建更多概览。静态值在我的程序顶部定义并用于例如 switch/case 语句。

但是还是;它很容易搞砸一切。我希望我的程序有更多的结构,但我真的没有一个好的结构化编程的例子。我真的不知道在主要形式中保留什么标准,或者应该在单独的形式中保留什么。欢迎提供有关此主题的任何信息:)

4

3 回答 3

3

我强烈建议您购买Steve McConnell的 Code Complete 的副本。

来自亚马逊页面的片段:

  • 以最小的复杂性和最大的创造力进行设计
  • 获得协作开发的好处
  • 应用防御性编程技术来减少和清除错误
  • 利用机会重构或发展代码,并安全地进行
  • 使用适合您项目的施工实践
  • 快速有效地调试问题
  • 及早正确解决关键的施工问题
  • 在项目的开始、中间和结束中构建质量
于 2012-10-22T08:15:25.197 回答
0

对于跨多个表单共享的变量,为什么不将它们放在单个 CS 文件中并引用它们呢?这将它们集中到一个地方,使它们更易于维护。

最好的做法是将您的业务和数据库访问逻辑放入单独的 CS 文件中,并以这样一种方式使用它们,即您的表单访问您的业务层,而您的业务层访问您的数据库层。

您可以按照自己喜欢的方式构建应用程序。CS 文件所在的位置(如在其包含的文件夹中)不会影响您的代码。Visual Studio 将自动设置命名空间以匹配它所在的文件夹,但您可以覆盖它。

于 2012-10-22T08:16:35.113 回答
0

您还可以从使您的代码更加面向对象中受益,这会将相关代码包装到它们自己的 .cs 文件中的单独类中。为了让您开始,您说您正在连接到自定义设备。你有代表这个设备的类吗?查看代码中变量和方法的名称——它们是否包含名词?如果是这样,请考虑将它们也纳入课堂。在您使用动词的地方,这会建议添加到类中的方法。

因此,如果您有一个名为 InitialiseDevice 的方法,那么这将建议一个名为 Device 的类,该类具有一个 Initialise 方法。

显然,面向对象编程还有很多内容,还有很多关于它的书籍——你可能会喜欢:Beginning C# Object-Oriented Programming

于 2012-10-22T08:36:32.190 回答