.NET 中每个文件规则一个类? [关闭]

2023-11-22

我遵循这条规则,但我的一些同事不同意它,并认为如果一个类较小,它可以与其他类留在同一个文件中。

我经常听到的另一个论点是“连微软都不这样做,那我们为什么要这样做呢?”

对此,普遍的共识是什么?在某些情况下应该避免这种情况吗?


我讨厌人们以绝对的方式思考,并说你永远不应该用像这样主观和挑剔的东西做这个或那个,就好像我们都需要遵守某人的愚蠢的是非观念一样。底线:如果有意义的话,每个文件有多个类是完全可以的。我说的有意义是指:

  1. 使代码更容易理解和 维持
  2. 使解决方案不那么烦人 (滚动浏览无数 不必要的文件)并且速度更慢
  3. 开发团队同意 将其作为本地编码实践

一个很好的例子说明了为什么我可能需要每个文件多个类:

假设我有几十个自定义异常类,每个类都是 4 行,我可以为每个类都有一个单独的文件,或者我可以将异常分组并每组一个文件。对我来说,最合理/务实的方法是将它们分组,并且只包含一些文件,因为它在时间/编码方面更有效(我不必右键单击 - >添加类,重命名,50次) ,它可以使解决方案更加整洁并提高性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 中每个文件规则一个类? [关闭] 的相关文章

  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 为什么假设 send 可能返回的数据少于在阻塞套接字上传输的请求数据?

    在流套接字上发送数据的标准方法始终是调用 send 并写入一大块数据 检查返回值以查看是否发送了所有数据 然后再次调用 send 直到整个消息被接受 例如 这是一个常见方案的简单示例 int send all int sock unsign
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 生成 .tail IL 指令的简单 F# 代码是什么?

    我想看看 tailIL 指令 但我一直在编写的使用尾部调用的简单递归函数显然已优化为循环 我实际上是在猜测这一点 因为我不完全确定反射器中的循环是什么样的 我绝对没有看到任何 tail不过操作码 我在项目的属性中检查了 生成尾部调用 我还尝
  • 使用scanf()时如何区分整数和字符

    我只是使用该功能scanf 代码如下 scanf d a printf d a 当我输入1时 它会像我想要的那样打印1 但即使我输入 1a 它也会像以前一样打印 1 当用户输入非整数时 例如 2 3 12ab 1 a 我想向用户显示 输入整
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • 当在 Repository/UnitOrWork 之上使用 Service 类时,我应该在哪里放置逻辑不适合 Repository 的常用数据访问代码?

    In my 先前的问题 https stackoverflow com questions 24906548 using the generic repository unit of work pattern in large projec
  • 无法通过 LINQ to Entities 使用某些功能?

    我正在尝试使用 LINQ 查询在项目上实现搜索功能 由于数据有时包含带有重音符号和其他符号的字符 因此我创建了一种方法来删除这些字符以进行搜索 这是我的代码 var addresses from a in db Addresses join
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 通过 cmake 链接作为外部项目包含的 opencv 库[重复]

    这个问题在这里已经有答案了 我对 cmake 比较陌生 经过几天的努力无法弄清楚以下事情 我有一个依赖于 opencv 的项目 它本身就是一个 cmake 项目 我想静态链接 opencv 库 我正在做的是我的项目中有一份 opencv 源
  • 如何确定给定方法可以抛出哪些异常?

    我的问题和这个真的一样 找出 C 中方法可能抛出的异常 https stackoverflow com questions 264747 finding out what exceptions a method might throw in

随机推荐

  • 如何使用base64设置图像源

    我想将图像源设置为 base64 源 但它不起作用 JSfiddle net NT9KB img src JavaScript document getElementById img src data image png base64 iV
  • 测试使用 Flask-WTF validate_on_submit 的 POST

    我很难测试 POST 以将类别添加到数据库 在该数据库中我使用 Flask WTF 进行验证和 CSRF 保护 对于CRUD操作请pm我的网站 我使用过 Flask Flask WTF 和 Flask SQLAlchemy 这是我的第一个独
  • 将数据从一个数据库传输到另一个数据库

    如何从一个数据库中取出数据并插入到另一个数据库表中 我不能这样做 请帮助我将数据从一个设备传输到另一个设备 有多种方法可以做到这一点 以下是两个选项 选项1 右键单击 要复制的数据库 选择 任务 gt 生成脚本 选择特定数据库对象 检查 表
  • 具有 Surface 输入的 MediaCodec:生成分块输出

    我正在尝试通过 CameraPreview 数据生成短的连续 mp4 文件MediaCodec createInputSurface 然而 重新创建MediaCodec与其关联的 Surface 需要停止相机以允许再次调用mCamera s
  • XmlSerializer 不使用 sgen 创建的 XmlSerializers.dll

    在我的 Visual Studio 2010 项目中 我使用以下 Post Build 事件命令行来使用 sgen 创建 XmlSerializers dll 构建后事件 ProgramFiles Microsoft SDKs Window
  • Google+ 照片 api [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有 Google 照片 gdata API 吗 我正在使用谷歌 picasa API但 picasa 对照片有 1 GB 的限制 我想使用我的脚本上
  • 使用 PHP,如何访问从 Stripe API 返回的受保护的 _values 属性?

    我正在整合条纹API与 CMS 我需要归还 values查询中的属性作为数组 以便数据可用作 CMS 中的模板变量 但它始终受到保护 我一直在使用反思类获取数据 但现在我正在使用 Stripe Stripe Plan all 我必须多次调用
  • Pip 选择了错误的路径

    我使用的是 Windows 10 我摆脱了 python 3 8 并安装了 3 7 作为系统上唯一的 python 版本 当尝试使用 pip 安装库时 我现在收到错误 Fatal error in launcher Unable to cr
  • Task.WaitAll() 未按预期工作

    我正在尝试弄清楚如何使用 Task 类 过去我一直使用常规的 Thread 类 但我正在尝试掌握所有异步编程 作为示例 我创建了一个包含所有代码的主 Winforms 应用程序 我的问题的相关代码是 Relevant delegates p
  • 按钮不透明度/透明度

    主要 xml
  • 在 Vuejs 中将数据从子级传递到父级(有那么复杂吗?)

    我读过 vuejs 从子组件更新父数据 https forum vuejs org t passing data back to parent 1201 2 概念是相同的 我需要将数据对象从子级传递给父级 我用过 emit将数据传递给父组件
  • 如何使用php将数据插入tally?

    我已经使用此代码从 tally erp 9 0 获取数据
  • Web 应用程序中的静态变量

    我可以在 Web 应用程序中使用静态变量吗 static 的替代品是什么 当我在页面中使用静态变量并且多个用户使用该应用程序时 它会产生冲突数据 不正确的数据 使用静态成员有哪些限制 静态成员在内存中共享吗 考虑将共享变量存储在 HttpA
  • 如何将 font Awesome 合并到 dart 组件中?

    以下 html 在文本左侧显示了一个漂亮的相机图标 当尝试设计聚合物组件的样式时 这是如何实现的 p i class fa fa camera retro fa lg i Cool camera p 具体来说 链接应该包含在哪里 ap
  • 在 Rails 开发中加载类后代

    当我在本地进入 Rails 控制台时 我需要能够从控制器看到所有类后代 我有这个Api BaseController我所有的 Api 控制器都继承自它 我遇到的问题是 当我跳到 Rails 控制台检查后代中的 Api 控制器时 它会显示为空
  • 无法从 Ldapmain 对您进行身份验证,因为“user.name 的凭据无效”

    I use debian 9 gitlab ce 11 10 4 ce 0 通过 apt 进行综合安装 openldap 2 4 44 ldap配置 已配置 etc ldap ldap conf BASE dc serverX dc lan
  • Paramiko / scp - 检查远程主机上是否存在文件

    我正在使用 Python Paramiko 和 scp 在远程计算机上执行一些操作 我使用的一些机器要求文件在其系统上本地可用 在这种情况下 我使用 Paramiko 和 scp 来复制文件 例如 from paramiko import
  • .NET 文件系统包装库[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 由于某种原因我找不到一个 但肯定有人已经创建了一个 NET IO 库包装器 我希望能够模拟对 File Exists 等的调用 而内置的静态方法对此
  • 绑定到 DataTable 的滚动事件

    我需要绑定到设置为垂直滚动的 DataTable 的滚动事件 很明显 简单的事件绑定是行不通的 table tbody on scroll function alert 我创建了一个demo here 有谁知道可以执行此操作的 API 方法
  • .NET 中每个文件规则一个类? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我遵循这条规则 但我的一些同事不同意它 并认为如果一个类较小 它可以与其他类留在同一个文件中 我经常听到的另一个论点是 连微软都不这样做 那我们为什么要这样做呢 对此 普遍的共识是什么 在