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

Lance Hunt的C#编码标准 - 枚举混乱

枚举混乱是指在使用枚举(enumeration)类型时,枚举成员的命名和值的不一致,或者枚举成员之间的关系和顺序不清晰。这可能导致代码难以阅读和维护。

为了避免枚举混乱,以下是一些C#编码标准:

  1. 使用描述性名称:枚举成员的名称应该能够清楚地描述其含义,以便其他开发人员能够理解其用途。
  2. 使用递增值:枚举成员的值应该按照递增顺序排列,以便其他开发人员能够更容易地理解它们之间的关系。
  3. 使用固定值:如果枚举成员的值需要与其他系统或数据库中的值匹配,则应该使用固定值,以确保代码和数据之间的一致性。
  4. 避免使用整数值:除非有特殊需求,否则应该避免使用整数值作为枚举成员的值。这可以防止其他开发人员在使用枚举时出现错误。
  5. 使用标志枚举:如果枚举成员之间存在多对多的关系,则应该使用标志枚举,以便其他开发人员能够更容易地理解它们之间的关系。
  6. 使用枚举类型:在定义枚举时,应该使用枚举类型,而不是整数类型,以便其他开发人员能够更容易地理解代码的意图。

总之,为了避免枚举混乱,应该遵循一些C#编码标准,例如使用描述性名称、递增值、固定值、避免使用整数值、使用标志枚举和使用枚举类型。这将有助于提高代码的可读性和可维护性,并减少潜在的错误。

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

相关·内容

C#开发人员应该知道13件事情

编码标准 遵照编码标准可以编写出更多可维护代码,特别是在由多个开发人员或团队编写和维护代码库中。例如FxCop,StyleCop和ReSharper等,就是常用实施编码标准工具。...静态分析 静态分析工具会在不运行代码情况下分析代码,在不需要编写测试用例情况下,查找违反编码标准或存在缺陷问题。...安全 编码标准,代码审查,静态分析,动态分析,测试 安全是一个非常复杂问题; 任何弱点或缺陷都可能被利用。...开发人员生产力 编码标准,静态分析,测试 当他们有工具来识别错误时,开发人员更快地实现代码更改。...类型陷阱 C#一个主要优势是其灵活类型系统; 类型安全有助于早期发现错误。通过强制实施严格类型规则,编译器能够帮助你保持正确编码实践。

2.2K90

Mybatis(一)走进Mybatis与FisrtExample

Mybatis可以将Sql语句配置在XML文件中,避免 将Sql语句硬编码在Java类中。 MyBatis 是支持普通 SQL查询,存储过程和高级映射优秀持久层框架。...设想解决:使用数据库连接池管理数据库连接 2)问题二:将 sql 语句硬编码到程序中,如果sql语句修改了,那么需要重新编译 Java 代码,不利于系统维护 设想解决:将 sql 语句配置到 xml...文件中,即使 sql 语句变化了,我们也不需要对 Java 代码进行修改,重新编译 3)问题三:在 PreparedStatement 中设置参数,对占位符设置值都是硬编码在Java代码中,不利于系统维护... 设想解决:将 sql 语句以及占位符和参数都配置到 xml 文件中 4)问题四:从 resultset 中遍历结果集时,对表字段存在硬编码,不利于系统维护 设想解决:将查询结果集自动映射为...--dataSource 元素使用标准 JDBC 数据源接口来配置 JDBC 连接对象源 -->

63820

FreeBuf 周报 | 加拿大航空员工信息遭到泄露;紫光股份暂缓收购新华三49%股权

国家标准《信息安全技术 存储介质数据恢复服务安全规范》征求意见稿发布 全国信息安全标准化技术委员会发布《信息安全技术 存储介质数据恢复服务安全规范》征求意见稿。...AD_Enumeration_Hunt:一款针对活动目录 AD 渗透测试安全工具 AD_Enumeration_Hunt 是一款针对活动目录 AD 渗透测试安全工具,该工具功能非常完整且强大,并且提供了可以用于活动目录...其中涵盖了 AD 枚举、用户和组管理、计算机枚举、网络和安全分析等各个方面。 2....Columbus:一个基于 API 实现子域名发现服务工具 Columbus 是一款功能强大子域名发现与枚举工具,该工具基于 API 实现其功能,并且还提供了很多其他高级功能。...在该工具帮助下,广大研究人员可以快速且高效地实现子域名枚举任务。 3.

25930

边玩边学,安利30+个学习编程游戏网站

9Codewars Codewars在战斗中进行学习,和其他人一起在真实编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持语言见下图)。...来自全世界知名IT公司程序员在这里互相挑战,为就是赢得他们奖品。 12 Hacker.org hacker.org挑战赛是一系列拼图、敲砖块、测试和智力题,用来测试你黑客能力。...要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...13 Code Hunt Code Hunt是一个由 Microsoft Research 开发 HTML5 科幻主题游戏。在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。...Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。

1.1K20

C语言定义数组时使用枚举作为数组下标

,如果这个数组里保存数据比较复杂,那么这种硬编码下标方式非常危险。...这样写可读性很高,而且后期可以继续添加数组成员,枚举成员,且代码可以用循环判断来写,这样以后增加新成员只需要在枚举和数组上增加变量既可。但这段代码也有隐藏问题。...看似可读性高代码其实也是硬编码作为脚标,如果在输入数据时候数组和枚举顺序有一些变化,就会出现bug,且这个bug很难被发现。...且这个枚举是作为SDK提供给上层,且你代码不公开,这样会出现很大问题。...为了避免这种隐患可以在定义数组时候使用枚举作为数组下标,这样即使数据输入混乱,但是只要数组定义时候枚举下标定义和数组成员可以对应正确就可以避免这种错误。

3.4K30

边玩边学,15个学习Python 编程游戏网站!

这个游戏是一个开放策略游戏,游戏中你控制单位被称为 “creeps”,它可以帮你获得资源、建立自己领地等等。作为一个多人在线游戏,游戏中你 creeps 会被其他玩家 creeps 包围。...和其他人一起在真实编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持语言见下图)。...要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...网址:https://www.hacker.org/ 13、Code Hunt Code Hunt 是一个由 Microsoft Research 开发 HTML5 科幻主题游戏。...在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。

90920

边玩边学,15个学习Python 编程游戏网站!

这个游戏是一个开放策略游戏,游戏中你控制单位被称为 “creeps”,它可以帮你获得资源、建立自己领地等等。作为一个多人在线游戏,游戏中你 creeps 会被其他玩家 creeps 包围。...和其他人一起在真实编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持语言见下图)。...要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...网址:https://www.hacker.org/ 13、Code Hunt Code Hunt 是一个由 Microsoft Research 开发 HTML5 科幻主题游戏。...在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。

1.1K20

边玩游戏边学编程,怎么做到?!

这个游戏是一个开放策略游戏,游戏中你控制单位被称为 “creeps”,它可以帮你获得资源、建立自己领地等等。作为一个多人在线游戏,游戏中你 creeps 会被其他玩家 creeps 包围。...和其他人一起在真实编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持语言见下图)。 网址:www.codewars.com ?...Hacker.org hacker.org 挑战赛是一系列拼图、敲砖块、测试和智力题,用来测试你黑客能力。要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...Code Hunt Code Hunt 是一个由 Microsoft Research 开发 HTML5 科幻主题游戏。在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。...Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。 网址:www.codehunt.com ?

1.3K30

优秀程序员眼中整洁代码

被浪费掉运算周期并不雅观,并不令人愉悦。留意 Bjarne 怎么描述那种不雅观结果。他用了 “引诱” 这个词。诚哉斯言。糟糕代码引发混乱!别人修改糟糕代码时,往往会越改越烂。...务实 Dave Thomas 和 Andy Hunt 从另一角度阐述了这种情况。他们提到破窗理论 4。窗户破损了建筑让人觉得似乎无人照管。于是别人也再不关心。他们放任窗户继续破损。...糟糕代码想做太多事,它意图混乱、目的含混。整洁代码力求集中。每个函数、每个类和每个模块都全神贯注于一事,完全不受四周细节干扰和污染。...Ron Jeffries,Extreme Programming Installed(中译版《极限编程实施》)以及 Extreme Programming Adventures in C#(中译版《C#...借助 Eclipse 这样现代编码工具,重命名代价极低,所以我无所顾忌。然而,表达力还不只体现在命名上。我也会检查对象或方法是否想做事太多。如果对象功能太多,最好是切分为两个或多个对象。

62170

边玩边学,15个学习Python 编程游戏网站!

这个游戏是一个开放策略游戏,游戏中你控制单位被称为 “creeps”,它可以帮你获得资源、建立自己领地等等。作为一个多人在线游戏,游戏中你 creeps 会被其他玩家 creeps 包围。...和其他人一起在真实编程挑战中提升技巧,支持 JavaScript、Python、C#、Java、Python 等语言(支持语言见下图)。...要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...网址:https://www.hacker.org/ 13、Code Hunt Code Hunt 是一个由 Microsoft Research 开发 HTML5 科幻主题游戏。...在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。Code Hunt 支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。

2.6K10

有了这 15 款编程游戏,谁都可以学编程!

这个游戏是一个开放策略游戏,游戏中你控制单位被称为“creeps”,它可以帮你获得资源、建立自己领地等等。作为一个多人在线游戏,游戏中你creeps会被其他玩家creeps包围。...和其他人一起在真实编程挑战中提升技巧,支持JavaScript、Python、C#、Java、Python等语言(支持语言见下图)。 网址:www.codewars.com ?...12 Hacker.org hacker.org 挑战赛是一系列拼图、敲砖块、测试和智力题,用来测试你黑客能力。要通过这一系列考验,你需要学会解密、编码、渗透等等技能,揭开重重迷雾。...13 Code Hunt Code Hunt 是一个由Microsoft Research开发 HTML5 科幻主题游戏。在这个游戏中,你扮演一个代码猎人,负责修复代码,并使它它返回预期结果。...Code Hunt支持 Java 和 C# 两种语言。你可以学习到包括算法、循环和条件表达式等编程概念。 网址:www.codehunt.com ?

1.6K21

深入理解 C# 编程:枚举、文件处理、异常处理和数字相加

C# 枚举 枚举是一个特殊“类”,表示一组常量(不可更改/只读变量)。...要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项: enum Level { Low, Medium, High } 您可以使用点语法访问枚举项...默认情况下,枚举第一项值为 0。...C# 异常 在执行 C# 代码时,可能会发生不同类型错误:由程序员制造编码错误,由于错误输入或其他不可预见事物而导致错误。 当发生错误时,C# 通常会停止执行并生成错误消息。...这种情况技术术语是:C# 会引发异常(抛出错误)。 C# try 和 catch try 语句允许您定义一块在执行过程中测试错误代码块。

13610

微软官方出品微服务架构:10个.Net开源项目

1、一个高性能类型安全.NET枚举实用开源库 Enums.NET是一个.NET枚举实用程序库,专注于为枚举提供丰富操作方法。它支持.NET Framework和.Net Core。...它主要优点表现在类型安全、高性能、丰富操作方法和易于使用等方面,为开发者提供了更加便捷和高效枚举类型操作方式。...4、基于C#开发任天堂 Switch 开源模拟器 Ryujinx 是一个开源任天堂 Switch 模拟器,可以在 PC 上模拟运行 Switch 游戏。...7、一个常用.Net集合开源工具库,包含CSV、Excel等 该项目主要分为5个部分: 1、常用:编码转换、常用枚举变量、多线程、列表排序等; 2、数据库:针对ADO.net封装常用操作; 3、...它目标是成为.NET平台上功能最强,最为标准JavaScript引擎。

40310

【黄啊码】关于C#数据类型,初入门开发者必须学会

C#数据类型可以分为3类:数值类型,引用类型,指针类型。 指针类型仅在不安全代码中使用。 值类型包括简单类型(如字符型,浮点型和整数型等),集合类型和结构型。...0M 对于bool,默认值是false 对于一个枚举类型,默认值是0 对于一个结构类型,默认值设置就是把所有值类型域都设置为它们各自默认值,把所有的引用类型域赋为空 **1.1 简单类型 **...C#提供一套预定义结构类型叫做简单类型。...char:代表无符号16位整数,数值范围从0~65535。 Char类型可能值对应于统一字符编码标准(Unicode)字符集。...没有标准能实现布尔类型和其他类型转换。 1.2 枚举类型 枚举类型元素使用类型只能是long,int,short,byte。默认类型是int。默认第一个元素值是0,每一个连续元素按1递增。

57210

编程中老生常谈编码规范】你还记得多少?进来回顾一下吧【文末送书】

所以本篇就来对C#编码规范做一个详细总结整理,并对一些超级常用做一个重点解析!...对于编程而言,大多数语言编码规范基本上是遵循一些相同规范标准,除去少些个语言有一些特殊用法之外。...所以本篇文章不止对使用C#工程师们有帮助哦,不使用C#小伙伴也可以看看跟自己平时用语言有什么编码差异吧!...在不久将来,维护和调试代码将变得不容易。   有一套编码标准在手,更容易保持代码清晰和易于协作。当然,标准因应用、性质、行业、项目、开发人员技能和多种因素而不同。...对于一个开发团队来说,在开发过程中拥有适当编码规范和标准是至关重要,这将有助于团队保持代码质量,并减少新开发人员试图理解复杂代码库所花费时间。

78830

gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)

字符串 string表示任意长度文本,但是它必须包含是UTF-8编码或7位ASCII文本,长度不可超过232。...在proto3里面,标量类型repeated字段采用是packed编码。 注释 proto文件里可以添加注释。它们通常被当作你定义这些消息文档。...字段默认值 当消息被解析时候,如果编码消息里不含有特定一个singular元素,那么在被解析对象里相应字段就会被设为默认值。...枚举 之前说了,枚举里面定义第一个值就是这个枚举默认值。 Enumtag必须从0开始,所以0就是枚举数值默认值。...--csharp_out=OUT_DIR用来指定存放生成C#代码目录。 我们先试验一下,生成PersonC#代码: ?

1.1K30

Java 中枚举使用

枚举类型在 C# 或 C++ 、 java 、 VB 等一些编程语言中是一种基本数据类型而不是构造数据类型。 而在C语言中则是一种构造数据类型。...枚举定义就是指将变量值一一列出来,变量值只限于列举出来范围内,使用枚举可以很方便地定义数据常量、以及我们使用。 02  【为什么需要枚举类?】...在大一点项目中,可以使用数百个静态常量。如果它们都写在一个文件类里面的话,很容易造成命名混乱,程序也很难读取。 (3)可以帮助我们定义所需类型。 枚举易于记忆和使用,相当于一个接口。...此外,还可以为不同枚举变量调用不同处理方法(这可以通过实现枚举抽象方法来实现)。...toString(),name():返回当前枚举类变量name属性 ordinal():枚举类会给所有的枚举变量一个默认次序,该次序从0开始,是根据我们定义次序来排序

1.6K20
领券