首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"o“作为变量前缀是什么意思?

"o“作为变量前缀是什么意思?
EN

Stack Overflow用户
提问于 2011-02-24 04:08:15
回答 8查看 2.7K关注 0票数 14

在oCn?规则是什么?

代码语言:javascript
复制
using(SqlConnection oCn = new SqlConnection(
        "Server=(local);Database=Pubs;User ID=TestUser1;Password=foo1;")) {
        oCn.Open();
        ...
    }

我在这篇文章http://msdn.microsoft.com/en-us/magazine/cc163799.aspx中找到了这种命名类型

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-02-24 04:10:31

一种完全过时的说法,即"Cn“是一个*o*宾语。

票数 50
EN

Stack Overflow用户

发布于 2011-02-24 04:11:29

我担心它是某个对象的某个hungarian dialect notation的剩余部分。

在C#和.NET中,我认为这是无用的。

编辑,我认为包含类型和/或作用域信息的匈牙利符号在C#中没有用处。I do like Apps Hungarian notation

票数 16
EN

Stack Overflow用户

发布于 2011-02-24 04:31:50

在本例中,"o“表示对象。这是一种尝试使用匈牙利符号的“系统”变体。

匈牙利语有两种类型:Systems and Apps。系统使用前缀来标识存储的数据类型。例如,iCounter中的"i“表示变量是一个整数。

应用程序匈牙利人采取了完全不同的方法,并指定前缀应该指示数据的目的。例如,rwPosition中的"rw“表示行。

windows api使用的是系统匈牙利语。这导致了大量其他程序员也在使用它。不幸的是,当对api进行更改时,即使实际数据类型发生更改,它们也会保留旧的变量名。这导致了对于给定API函数的参数应该传递什么数据类型的大量混淆。尤其是在各种把手周围。

在.Net编码指南中,MS explicitly states that hungarian shouldn't be used。现实是,他们谈论的是“系统”匈牙利语;这一点我100%同意。另一方面,"Apps“匈牙利语有大量的用途,因为你描述的是数据,而不是类型。

在一天结束时,只要去掉"o“就行了。它不会给程序增加任何东西。

哦,对于有趣的阅读,请查看Joel对此的看法:http://www.joelonsoftware.com/articles/Wrong.html

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5096453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档