Questions tagged «naming»

一个通用标签,用于覆盖与命名有关的所有内容,例如文件,编程结构,数据等。

13
命名类-如何避免将所有内容都称为“ <WhatEver> Manager”?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 很久以前,我读过一篇文章(我相信是博客文章),这使我走在命名对象的“正确”轨道上:在程序中命名事物时要非常谨慎。 例如,如果我的应用程序(作为典型的业务应用程序)正在处理用户,公司和地址,则我将具有User,a Company和Address域类-可能会弹出a UserManager,a CompanyManager和a AddressManager来处理这些问题。 所以,你可以告诉那些UserManager,CompanyManager和AddressManager做什么?不可以,因为Manager是一个非常通用的术语,适用于您可以使用域对象执行的所有操作。 我阅读的文章建议使用非常具体的名称。如果它是C ++应用程序,并且UserManager的工作是分配用户并将其从堆中释放出来,那么它将不会管理用户,而是保护用户的生死。嗯,也许我们可以将其称为UserShepherd。 或者,也许UserManager的工作是检查每个User对象的数据并用密码对数据签名。然后我们会有一个UserRecordsClerk。 现在,这个想法一直困扰着我,我尝试应用它。并且很难找到这个简单的想法。 我可以描述这些类的作用,并且(只要我不会陷入快速而肮脏的编码中)我编写的类就可以做一件事。从描述到名称,我想念的是一种名称目录,这是一个将概念映射到名称的词汇表。 最终,我想在脑海中想起一个模式目录(通常,设计模式很容易提供对象名称,例如工厂) 工厂-创建其他对象(取自设计模式的命名) 牧羊人-牧羊人处理对象的生命周期,对象的创建和关闭 同步器-在两个或多个对象(或对象层次结构)之间复制数据 保姆-帮助对象在创建后达到“可用”状态-例如,通过连接到其他对象 等等等 那么,您如何处理该问题?您是否有固定的词汇表,是否在动态地发明新名称,或者您认为命名不那么重要或错误? PS:我也对讨论该问题的文章和博客链接感兴趣。首先,这是让我思考的原始文章:不带“ Manager”命名Java类 更新:答案摘要 这是我同时从这个问题中学到的一些小知识。 尽量不要创建新的隐喻(保姆) 看看其他框架做什么 有关此主题的其他文章/书籍: 您会发现自己经常定期参加哪些课程? 命名类的最佳方法是什么? 图书:设计模式:可重用的面向对象软件的元素(精装本) 书籍:企业应用程序架构的模式(精装) 书籍:实施模式(平装本) 还有我从答案中(主观地!)收集的名称前缀/后缀的当前列表: 协调员 建造者 作家 读者 处理程序 容器 协议 目标 转换器 控制者 视图 厂 实体 桶 道路上的一个好提示: 不要让命名麻痹。是的,名称很重要,但它们的重要性还不足以浪费大量时间。如果您不能在10分钟内想到一个好名字,那就继续吧。

6
垫片和填料的区别是什么?
两者似乎都在Web开发圈子中使用,请参见HTML5跨浏览器Polyfills,其中说: 所以在这里,我们收集了所有的垫片,后备和填充物... 或者,有es5-shim项目。 在我当前的项目中,我们使用了许多这样的工具,我想将它们全部粘贴在同一目录中。所以,我应该怎么称呼这个目录--- shims或polyfills?

9
C#中变量名中@字符的用途/含义是什么?
我发现可以在C#中以'@'字符开头变量名。在我的C#项目中,我使用的是用Java编写的Web服务(向项目中添加了Web引用)。WSDL中定义的接口对象之一具有名为“ params”的成员变量。显然,这是C#中的保留字,因此您不能有一个带有成员变量的类,其名称为“ params”。生成的代理对象包含一个如下所示的属性: public ArrayList @params { get { return this.paramsField; } set { this.paramsField = value; } } 我搜索了VS 2008 c#文档,但找不到任何相关信息。另外,搜索Google并没有给我任何有用的答案。那么,变量/属性名称中“ @”字符的确切含义或用途是什么?


6
Android-包名称约定
对于android.com中的“ Hello World”示例,包名称为 "package com.example.helloandroid;" 是否有任何指南/标准来命名该软件包?(引用会很好)
205 android  naming 


30
“解析”的反义词是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我有一个函数parseQuery,它将SQL查询解析为该查询的抽象表示。 我将要编写一个函数,该函数采用查询的抽象表示形式并返回SQL查询字符串。 我应该怎么称呼第二个功能?


6
命名类的最佳方法是什么?
众所周知,要为班级提供好而精确的名称非常困难。如果做得正确,它将使代码更具自记录性,并为在更高抽象级别上进行代码推理提供了词汇。 可以基于众所周知的模式名称(例如FooFactory,FooFacade)为实现特定设计模式的类命名,而直接为领域概念建模的类可以从问题域中获取其名称,但是其他类呢?当我缺乏灵感并且想要避免使用通用类名(例如FooHandler,FooProcessor,FooUtils和FooManager)时,是否可以找到类似于程序员词库的东西?
92 naming 

3
在Apache RewriteRule指令中设置环境变量时,是什么导致变量名称以“ REDIRECT_”为前缀?
我正在尝试使用[E=VAR:VAL].htaccess文件中RewriteRule规则上的标志设置Apache环境变量(供PHP使用)。 我已经发现在PHP中将变量作为服务器变量$_SERVER而不是$_ENV(在一定意义上)进行访问。但是,我的问题是对于某些规则,该[E=VAR:VAL]标记按预期工作,并且我以变量结尾,$_SERVER['VAR']但是对于其他规则,我以变量$_SERVER['REDIRECT_VAR']或$_SERVER['REDIRECT_REDIRECT_VAR']等等结尾。 A.是什么导致在Apache中使用该[E=VAR:VAL]标志设置的环境变量通过在变量名前加上“ REDIRECT_”来重命名的? B.我该怎么做才能确保我得到的环境变量的名称没有更改,因此我可以在PHP中访问它,$_SERVER['VAR']而无需诉诸检查变量名的变体,该变量名带有多个“ REDIRECT_”实例要吗? 找到部分解决方案。如果需要,将以下内容添加到重写规则的开头会在每个重定向上重新创建原始的ENV:VAR(以及在其中保留REDIRECT_VAR版本): RewriteCond %{ENV:REDIRECT_VAR} !^$ RewriteRule .* - [E=VAR:%{ENV:REDIRECT_VAR}]

1
Python“私有”函数编码约定
在编写python模块及其中的函数时,我有一些“公开”函数应该向外界公开,但还有一些其他“私有”函数只能在本地和内部查看和使用。 我了解在python中没有绝对私有函数。但是,区分“公共”功能和“私人”功能的最佳,最简洁或最常用的样式是什么? 我列出了一些我知道的样式: __all__在模块文件中使用以指示其“公共”功能(python __all__模块级别变量的作用是什么?) 在“私有”函数名称的开头使用下划线 人们还有其他想法或约定吗? 非常感谢你!

9
参数命名:文件名还是文件名?
我在命名*上尽量做到语法正确。我一直用filename代替fileName。Java约定似乎也使用此方法,但FxCop更喜欢fileName。 WikiPedia上对此进行了讨论。我读得越多,我就越觉得自己是对的(这很平常!:))。有人能给出确定的答案吗?还是仅仅是主观的? *我只是希望这篇文章中没有语法错误!

4
有哪些不同类型的案例?
我对不同种类的标识符案例以及人们所说的它们感兴趣。您是否知道此列表有任何其他名称或其他替代名称? myIdentifier:驼峰式大小写(例如,在Java变量名称中) MyIdentifier:大写驼峰大小写(例如,在Java类名称中) my_identifier:蛇案(例如python变量名) my-identifier:Kebab案(例如球拍名称) myidentifier:大小写(例如,在Java包名称中) MY_IDENTIFIER:大写字母(例如,C常量名称)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.