首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

单个.cs文件中的多个类 - 好还是坏?

单个.cs文件中的多个类是一种编程实践,它可以在某些情况下提高代码的可读性和可维护性,但是在其他情况下可能会导致代码的可读性和可维护性降低。因此,我们需要根据具体情况来判断是好还是坏。

如果一个.cs文件中的多个类之间存在紧密的关联性,并且它们之间的依赖关系较为复杂,那么将它们放在同一个文件中可能会使代码更加易于理解和维护。此外,将多个类放在同一个文件中还可以减少文件的数量,使项目的文件结构更加简洁。

然而,如果一个.cs文件中的多个类之间的关联性较弱,或者它们之间的依赖关系较为简单,那么将它们放在同一个文件中可能会使代码更加难以理解和维护。在这种情况下,将每个类放在单独的文件中可能会使代码更加清晰和易于维护。

总之,单个.cs文件中的多个类是否是好的实践取决于具体情况。在实际开发中,我们需要根据项目的实际需求和团队的编程习惯来决定是否使用这种实践。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux对文件特殊字符进行替换(单个文件多个文件替换)

$replaceFile "替换开始...." # 单个文件处理额开始时间 single_time=`date +'%Y-%m-%d %H:%M:%S'` # 单个文件替换开始 sed -i -e...g' -e 's/'$gs'//g' -e 's/'$rs'//g' -e 's/'$us'//g' -e 's/'$del'//g' -e 's/'$'//g' $replaceFile # 就算单个文件耗时...文件 xiaoxu.sh 替换结束,耗时:0s 全部文件转换结束...... 脚本总耗时:0s 开始单个文件替换脚本 #!...特殊字符查看表 # https://blog.csdn.net/xfg0218/article/details/80901752 echo "参数说明" echo -e "\t 此脚本会替换文件特殊字符...[root@sggp ascii]# sh asciiReplaceScriptSimple.sh xiaoxu.sh 参数说明 此脚本会替换文件特殊字符,第一个参数是带有特殊字符文件

6.1K10

机器学习算法之逻辑回归(一)

二元分类 而分类问题中最简单是二元分类,顾名思义,就是输出值只有两个,就像上面那个例子,结果只有瓜和瓜,不会输出“不好不坏”这种莫名其妙瓜。...在二元分类,我们常常用0和1来限定y值,继续套用上面那个分瓜例子,我们假设x(i)表示西瓜特征,那么y就被称作西瓜标签(也就是类别),y0值往往被称作西瓜“负”,1值便称作西瓜“正”。...就像是那个西瓜,我们如果先用线性回归学习一批瓜和特征,然后似乎就可以用训练好模型来预测一个新出现西瓜是更接近还是瓜了。 这样做确实可以,但得到结果往往非常不理想。...这个sigmoid函数是一个非常神奇函数,它不仅把输出y映射在了0,1之内,还是一个非常符合“自然”函数,因为它默认了样本服从高斯分布——太详细内容我们在之后“广义生成模型”讨论,现在讲这个就跑太远啦...如果你还关注过其它一些关于机器学习消息的话,你会觉得这个函数很眼熟,因为这个函数,事实上也是大名鼎鼎神经网络单个神经元常用激励函数。

64591

【应用】信用评分:第6部分 - 分割和拒绝推断

分割统计驱动因素假设每个细分市场中都有足够数量观察值,包括“”和“”账户,并且每个细分市场都包含交互效应,其中预测模式在细分市场各不相同。...如果分割模型与建立在整个人口中单一模型相比,在预测能力方面产生了卓越提升。 细分是一个迭代过程,需要不断判断来确定是使用单个还是多个细分。...与单个评分卡相比,多个评分卡主要目标是提高风险评估质量。...表1.拒绝推断技术 比例分配是将拒绝对象随机划分为“”和“差”账户,其“”比率比公认的人群高两至五倍。...比例分配适用于每个parcel,其“”比率是被接受人口等值分数带”率两倍至五倍。 ? 图4.比例分配 ? 图5.简单增强 ? 图6.模糊增强 ? 图7.

1.4K00

玩转 PhpStorm 系列(十一):编码风格篇

在 PhpStorm ,我们可以通过配置实现根命名空间与指定目录映射,进而在创建 PHP 时通过 PSR-4 自动载入标准根据所在目录路径生成对应命名空间;还可以通过外部 PHP Code...通过这种方式,我们可以很方便地在 PhpStorm 修改命名空间并且基于 PSR-4 自动载入标准新建 PHP 。...这里我们以 php-cs-fixer 作为代码嗅探工具(使用它好处是不仅能够嗅探到「代码」还可以自动对其进行修复),将编码风格设置为遵循 PSR-2 标准。...单个文件 我们打开一个 PHP 文件,将和方法后面的花括号调整为不换行: ?...你可以通过点击下面的蓝色小字「PHP CS Fixer:fix the whole file」自动修复这个文件(对应快捷键是 Option + Shift + Enter)。

2.1K10

从壹开始学习NetCore 45 ║ 终于解决了事务问题

昨天发表问题,嗯,给我留下了一点点冲击,夜里辗转反侧,想了很多,从好到再到好再到,从希望到失望再到希望再到失望,想起来当年高四了,不想解释什么了,四年后再见❤,不说废话,直接说说今天内容吧。...UnitOfWork,然后创建事务接口实现 UnitOfWork.cs ,来对事务行为做实现。...4、修改每一个仓储构造函数 上边我们为了实现对 sugar client控制,在基仓储构造函数,注入了IUnitOfWork,但是这样会导致子类仓储报错,毕竟父构造函数修改了嘛,所以目前有两个方案...2、建立事务AOP,解决多仓储内事务操作 在 Blog.Core api 层 AOP 文件夹下,创建 BlogTranAOP.cs 文件,用来实现事务AOP操作: public class BlogTranAOP...AOP是一样,只有配置了才会实现事务提交,具体请查看 UseTranAttribute.cs

1.1K40

哈佛计算机系王牌项目,要请AI来当导师了

负责还是计算机系旗舰项目——计算机科学导论,也就是著名CS50。 借助机器人导师,哈佛CS50项目将拥有1:1师生比。...保持学生批判性思维 尽管有了AI工具,Malan教授还是强调了批判思维重要性。...比如华盛顿大学就全面放开了AI使用,甚至只要进行说明,在考试当中使用也无妨。 加州大学洛杉矶分校一名法学院教授在文章也表示,他完全允许学生使用AI完成写作任务。...另一种比较常见做法则是有条件地允许使用。 比如剑桥大学,那里学生不能将AI用于考试或完成写作作业,但在其他情况下可以自由使用。 悉尼大学则将是否允许学生使用AI工具决定权交由教师。...这些政策都有着各自背后考量,无法简单地评判是。 回到哈佛,从网友评论上来看,这次做法是比较受认可。 这位网友就认为,AI发展是人类无法回避,所以我们只能正视它。

18520

关于Java持久化相关资源汇集:Java Persistence API

Java Persistence API: The Good, the Bad, and the Ugly Java Persistence API:和一般功能 JPA:?...entry=jpa_the_good_the_bad JPA: ——关于网上技术交流会更多问答 下面是一组关于“JPA:”网上技术交流会 更多问答。...回答:持久化单元是和配置设置集合,可以根据该集合创建EntityManagerFactory。它在 persistence.xml 文件作为一个条目出现。...问题:在EJB3,更新实体bean单个字段/列会导致更新该DB行所有字段/列,还是仅更新该DB行更改列? 回答:该行为取决于实现。OpenJPA将只更新被修改字段对应列。...回答:JPA规范并不要求实现必须只使用单个数据库(甚至实现必须使用关系数据库)。因此实现可以随意提供对多个数据库访问。

2.5K30

C#项目里每个文件含义你都知道吗?

Properties文件夹 定义你程序集属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 文件,用于保存程序集信息,如名称,版本等,这些信息一般与项目属性面板数据对应,不需要手动编写....cs 文件。源代码都写在这里,主要就看这里代码。   .resx 资源文件,一些资源存放在这里,一般不需要看。   ....Designer.cs 设计文件,自动生成,不需要看。   .aspx 是网页文件,HTML代码写在这里面。   sln:在开发环境中使用解决方案文件。...它将一个或多个项目的所有元素组织到单个解决方案。...此文件存储在父项目目录.解决方案文件,他是一个或多个.proj(项目)集合   *.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项在磁盘上位置引用

60220

C#项目里每个文件含义你都知道吗?

Properties文件夹 定义你程序集属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 文件,用于保存程序集信息,如名称,版本等,这些信息一般与项目属性面板数据对应,不需要手动编写....cs 文件。源代码都写在这里,主要就看这里代码。   .resx 资源文件,一些资源存放在这里,一般不需要看。   ....Designer.cs 设计文件,自动生成,不需要看。   .aspx 是网页文件,HTML代码写在这里面。   sln:在开发环境中使用解决方案文件。...它将一个或多个项目的所有元素组织到单个解决方案。...此文件存储在父项目目录.解决方案文件,他是一个或多个.proj(项目)集合   *.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项在磁盘上位置引用

42820

【微信开发】微信公众号开发 之 编辑模式使用

自动回复 : 在自动回复模块, 可以设置自动回复功能, 可以回复内容包括 文本, 图片, 语音等消息; -- 被添加自动回复 : 微信公众第一次被用户添加时候发送信息; -- 消息自动回复 :...; 代码味道 :  -- 重复代码 : 一个以上位置出现相同代码结构; -- 过长函数 : 函数过长代码; -- 过大 : 单个功能太多, 内部定义成员变量多; -- 过长参数列 :...函数传入参数过多; -- 发散式变化 : 添加一种模块需要修改一个2种函数, 添加另一种模块需要修改同一个3个函数, 将这个分开比较好; -- 霰弹式修改 : 添加一个模块需要修改多个..., 这样将多个合并成一个类比较好; (3) 设计关键词规则  关键词 : 重构 (完全匹配) -- 对应回复内容 : 列出重构目录, 详细列举出22种代码味道, 以及所有的重构方法;  关键词 :...代码味道(未全匹配) -- 对应回复内容 : 列出22种代码味道; 关键词 : 代码味道具体名称(完全匹配); -- 对应回复内容 : 将这种味道具体信息回复; 2.

1.1K20

代码审查|这段代码,为什么复制文件夹总是“成功”?

最近开始一个人负责整个项目的全栈开发和维护,工作没了和同事交叉 code review 环节,所以就打算,如果工作遇到一些比较典型代码,包括味道和味道,就拿出来分析下,与大家一起交流,作为另一种形式...这天遇到这样一个问题:在 Android 手机上复制 assets 里文件夹到手机里,实际并没有拷贝完成,但代码总是显示成功,看了下代码,使用是阿里云播放器 Android SDK Demo 里一个工具...File.separator + fileName); } } else { // some code here,单个文件拷贝...代码 isSuccess 相当于是一个全局变量,如果多个线程同时调用 copyAssetsToDst 方法,会出现线程安全问题,导致 isSuccess 值被交叉覆盖,不可预期; 结果正确性:因为...如果由我来写这段代码,我会做这样修改: 将改为工具,公开方法都是静态方法,不需要单例控制; 方法执行是否成功,由返回值、是否抛出异常来表示,不使用成员变量记录; 拷贝过程,记录拷贝成功文件列表

10410

5张图,看懂数据分析体系

而且但看一个指标也显得不科学,比如有的视频就是播放很多但人均时长很短,还有一堆人涌过来看,然后秒退情况。 实际情况千奇百怪,连/都没法评估,咋进一步分析:为啥/为啥呢? ?...:/ 4 从单指标到多指标 整明白了一个指标,可以加入其他指标。...5 从多指标到原因解读 评价了/,就能进一步分析:为什么、为什么。到这一步,就会发现,现有数据指标的问题:虽然看似一堆指标,可都是结果性指标。并不能直接从指标里推出:到底为啥用户喜欢看。...首先想到是视频本身数据,视频本身可以有多种标签: 1、视频主题:讲哪一游戏 2、视频内容:游戏八卦、玩法、比赛…… 3、视频讲解:找技术高手还是找个美女亮腿…… 4、视频时长:太长可能中间关掉多...更进一步还可以结合用户画像来看,比如: ● 观察用户看别的游戏视频行为,给用户喜欢游戏类型,游戏内容贴标签 ● 观察用户近期关注热点内容、流行梗 ● 观察用户更喜欢技术宅还是美女 有了这些用户标签

42140

JAVA语言程序设计(一)04747

大家,又见面了,我是你们朋友全栈君。 indows常用快捷键和常见命令 省略100万行 二进制=>0、1 一个字节是八位。...//public class 后面代表定义一个名称,是java当中所有源代码基本组织单位 关键字概念与特征 完全小写字母 根据编辑器去分。。...列如:100、200、0、-250 浮点数常量:直接写上数字 ,有小数点。列如:2.5、-3.14 字符常量:凡是用单引号引起来单个字符,叫做字符常量。**注意:只能写一个,且不能不写。...教程失败 流程: 创建项目=>取名字并且选中jdk=>生成src文件=>在src文件创建包=>然后再建立 方法回顾 这边还是选用一般方式去执行,高度集成化方式将在具体开发重新学习 定义方法...,全都是统一什么类型 左侧括号,代表我是一个数组 左侧数组名称,给数组取一个名字 右侧new代表创建数组动作 右侧数据类型,必须和左侧数据类型保持一致 右侧括号长度,也就是数组当中,

5.1K20

100天搞定机器学习|Day22 机器为什么能学习?

Day17,Avik-Jain第22天完成Yaser Abu-Mostafa教授Caltech机器学习课程-CS156课程2。...首先,对于一个给定h,我们可以定义一个概念:“训练集”(对应于表红色bad)。所谓训练集,就是h在这个训练集上面的Ein和真实Eout差异超过了我们定义容忍度ε。...Hoeffding不等式保证了,对于一个给定h(表一行),选到训练集概率是很低。...然后,对于假设空间里面有M个候选h,我们重新定义“训练集”概念(对应于表橙色bad),只要它对于任何一个h是,那么它就是一个。那么我们选到橙色训练集概率可以如下推导: ?...使得我们能选择在训练集上表现h。 4 运气。因为还是有一定小概率会发生情况。

46420

【我们一起写框架】MVVMWPF框架(四)—DataGrid

事实上,代码界也一样,总是会那不守规矩程序员触犯法律,他们会让代码跨边界引用库,或者拒绝使用接口声明对象等等。 为什么不能准守规则呢?...因为,当一个代码出现后,马上就会有若干个类似的代码出现,犹如劣币逐良币一样,时间一长,框架就会被破坏。 接着代码就得依赖着代码写。 当代码多了到一定程度,代码就会变成Bug了。。。...因为数据控件通过绑定UI控件后,已经将复杂UI操作,变成了简单数据逻辑操作了。 如果没有数据控件,那当我们实现一个控件联动时,就得在Xaml.cs文件处理了。...如果该控件联动还要触发数据变化,那我们就又得从Xaml.cs文件,穿越回ViewModel处理逻辑了;亦或者,我们直接在Xaml.cs文件处理数据逻辑。...应用很简单,只要设置绑定,然后将读取数据赋值给数据控件ItemSource属性即可。

1.1K20

了解模板化控件(10):原则与技巧

命名能让使用者用起来更得心应手,命名只会让代码更混淆。下面总结了UWP控件命名一般模式: 根据控件实际功能命名,譬如Button。 以父类型名字作为后缀,如RepeatButton。...一个完整依赖属性定义可以有20行(属性标识符、属性包装器、PropertyChangedCallback等),而且其中一部分是静态,另外一部分不是,在中将一个依赖属性所有部分放在一起,还是按静态...一个做法是使用单独partial 存放所有依赖属性,具体可参考UWPCommunityToolkitAdaptiveGridView.Properties.cs。...3.2 合并资源字典 如果一个项目的模板化控件太多,Generic.xaml会异常复杂,可以将各个控件资源文件分开存放,再在Generic.xaml合并它们。...很多VisualState都是通用,譬如Normal、Disabled、Selected,把它们全都写进一个VisualStates可以方便调用。

87530

【Blog.Core开源】将Program升级为.NET6.0版本

大家假期,好久不见,之前忙于其他事情,公众号暂时搁置了一个月了,新一年开始了,很多小伙伴开始催更了,粉丝要求必须满足。...2)、Startup.cs将和 Program.cs 合并到单个 Program.cs 文件。 3)、使用顶级语句减少应用程序所需代码。...但是如果我们在和方法上点击F12,也能看到具体程序集。...),在cs文件对应目录发现了WebApplication1.GlobalUsings.g.cs文件: 虽然看着别扭,但是整体其实也能看明白,还是定义host、注册服务和配置中间件这三个步骤,两个核心关键点就是...同时要注意另一个null配置,如果配置了在controlleraction,会校验空值,必须传参,所以我建议还是不开启: enable 2、配置自定义注入容器

41530

生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型泛型

} 注意到类型泛型变成了多个,参数从一个变成了多个,返回值从单个值变成了元组。 于是,怎么生成呢?...在“预先生成事件命令行”填入工具名字和参数,便可以生成代码。 制作生成泛型代码工具 我们新建一个控制台项目,取名为 CodeGenerator,然后把我写好生成代码粘贴到新文件。...于是,在 Program.cs 调用以上代码即可完成泛型生成。我写了一个简单版本,可以将每一个命令行参数解析为一个需要进行转换泛型文件。...这段代码意思是按文件名递增生成多个泛型。 例如,有一个泛型文件 Demo.cs,则会在同目录生成 Demo2.cs,Demo3.cs,Demo4.cs。...\Walterlv.Demo\Generic\DemoFile.cs" 现在,编译此项目,即可生成多个泛型了。

1.4K20

中国程序员视角下英文命名

但这个问题确实是国内程序员不得不面对一个尴尬问题,英语没那么,体会不到不同单词之间差异。...你一个人英语可能没那么,但一群人总会找出一个合适说法。业务词汇表也是构建通用语言一部分成果。...排序文件吗?为啥用还是过去式?归档? 找出这段代码作者,向他求教,果然他把单词拼错了。 偶尔拼写错误不可避免,国内拼写错误比例是偏高。...总结 今天我们讲了几个英语使用不当造成味道: 违反语法规则命名 不准确英语词汇 英语单词拼写错误 还有一些常见与语言相关味道: 使用拼音进行命名 使用不恰当单词简写(比如,多个单词首字母...,或者写单词其中一部分) 如何从实践层面上更好地规避这些味道: 制定代码规范,比如,名要用名词,函数名要用动词或动宾短语 要建立团队词汇表 要经常进行CR 编写符合英语语法规则代码。

71430
领券