gpt4 book ai didi

c# 具有相同数据但类型不同的变量的命名约定

转载 作者:可可西里 更新时间:2023-11-01 08:23:25 25 4
gpt4 key购买 nike

我查阅了一些 msdn 文章,这些文章介绍了 c# 编码约定和命名指南(C# Coding ConventionsNaming Guidelines)以及 similar question几个月前的堆栈溢出。

我不确定如何处理同时在范围内的两个变量,它们以不同类型保存[概念上]相同的数据。

一个有助于说明问题的示例是一个标识符,该标识符最初作为字符串保存,但随后被强制转换/解析为整数。

我提出了 3 种可能的行动方案,但我确信我错过了一些合理的选择。

COA #1:

int iRecordId;
string sRecordId;

其中一个或两个变量以类型缩写为前缀。这违反了 MS 编码指南,该指南规定不要使用匈牙利类型表示法作为参数名称的前缀。

COA #2:

int recordId;
string recordIdString;

其中一个或两个变量在名称中明确说明类型。这看起来很笨拙,虽然它没有使用匈牙利符号,但似乎违反了之前 COA 的精神。

COA #3:

int recordIdForDatabase;
string recordIdFromUrl;

每个变量由数据的来源或去向进一步限定。

提案

我的想法是,我最终想区分仅类型不同的两个变量,因此虽然有指南明确声明不要为变量添加类型信息前缀,但我倾向于使用匈牙利语前缀。由于它与代码其余部分中的命名约定形成鲜明对比,因此它似乎会突出情有可原的情况。这是一种合理的方法吗?

欢迎提问、评论和愤怒的呼喊。

最佳答案

第一个选项已过时,因为我们不再使用 Hunharian Notation。

第二个选项不错,我在不同的项目中看到了它的用法。

但从我的角度来看,最后一个选项更可取,因为它显示了两个变量之间的语义差异而不是类型差异。

关于c# 具有相同数据但类型不同的变量的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13689966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com