Questions tagged «naming-conventions»

命名约定是指管理分配给编程结构(例如变量和方法)的名称的通用规则。这些约定通过增强跨不同模块的命名一致性来提高可读性,从而提高代码的可维护性。

30
表命名难题:单数与复数名称[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 学术界认为表名应该是存储其属性的实体的单数形式。 我不喜欢任何需要在名称Users两边加上方括号的T-SQL,但是我将表重命名为单数,永远判刑那些使用该表的人有时不得不使用方括号。 我的直觉是保持单数形式更正确,但我的直觉还是括号表示不需要的内容,例如列名中带有空格等。 我应该走还是留?


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分钟内想到一个好名字,那就继续吧。

7
命名git分支的常用做法有哪些例子?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 几个月来,我一直在使用本地git存储库与小组的CVS存储库进行交互。我已经做出了几乎神经质的分支,幸运的是,其中大多数已经合并回了我的树干。但是命名开始成为一个问题。如果我有一个用简单标签轻松命名的任务,但我分三个阶段完成了该任务,每个阶段都包含自己的分支和合并情况,那么我可以每次都重复分支名称,但这会使历史有些混乱。如果我在名称上更加具体,并且每个阶段都有单独的描述,则分支名称开始变得冗长而笨拙。 我确实在这里学习了旧线程,可以开始用名称/命名分支,即主题/任务等。我可能会开始这样做,看看它是否有助于使事情井井有条。 命名git分支的最佳做法是什么? 编辑:实际上没有人建议任何命名约定。处理完分支后,我会删除它们。由于管理人员不断调整我的工作重点,所以我碰巧遇到了几个问题。:)作为一个示例,为什么我可能在一个任务上需要多个分支,假设我需要将该任务中的第一个离散里程碑提交到组的CVS存储库。到那时,由于我与CVS的互动不完善,我将执行该提交,然后终止该分支。(如果我尝试在那时继续使用同一分支,我已经看到与CVS交互的怪异之处。)



23
数据库,表和列的命名约定?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 每当我设计数据库时,我总是想知道是否有最佳方式在数据库中命名项目。我经常问自己以下问题: 表名应该是复数吗? 列名应为单数吗? 我应该为表格或列添加前缀吗? 我在命名项目时应该使用大小写吗? 是否有建议的指南来命名数据库中的项目?

13
Python中变量和函数名称的命名约定是什么?
来自C#背景的变量和方法名称的命名约定通常为camelCase或PascalCase: // C# example string thisIsMyVariable = "a" public void ThisIsMyMethod() 在Python中,我已经看到了上述内容,但也看到了使用下划线的情况: # python example this_is_my_variable = 'a' def this_is_my_function(): 有没有更优选的,确定的Python编码风格?

4
◎ܫ◎和☺为什么不是有效的JavaScript变量名称?
我注意到,在Internet Explorer中(但是,不幸的是,在我测试过的其他浏览器中没有),您可以使用一些Unicode变量名称。这让我感到很开心,我非常高兴能够编写有趣的Unicode编码,如下所示: var ктоείναι草泥马 = "You dirty horse.", happy☺n☺mat☺p☺eia = ":)Yay!", ಠ_ಠ = "emoticon"; alert(ктоείναι草泥马 + happy☺n☺mat☺p☺eia + ಠ_ಠ); 出于某种原因,虽然◎ܫ◎,♨_♨而☺不是有效的变量名。 为什么ಠ_ಠ和草泥马工作,但是◎ܫ◎,♨_♨并☺没有? 编辑:在JSFiddle的浏览器中对其进行测试。我已经在Internet Explorer 9,Chrome,Firefox和Opera中对其进行了测试。到目前为止,它似乎只能在Internet Explorer 9中使用。(我不了解Internet Explorer 8及以下版本。)让我知道它是否可以在其他浏览器中使用。


12
单元测试命名最佳实践
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 命名单元测试类和测试方法的最佳实践是什么? 之前,在SO上讨论了哪些流行的单元测试命名约定? 我不知道这是否是一个很好的方法,但是目前在我的测试项目中,我在每个生产类和一个测试类(例如Product和)之间都有一对一的映射ProductTest。 在测试类中,我有一些方法,这些方法带有要测试的方法的名称,下划线,然后是情况和我希望发生的事情,例如Save_ShouldThrowExceptionWithNullName()。


22
REST URI约定-创建资源时的单数或复数名称
我是REST的新手,我注意到在某些RESTful服务中,它们使用不同的资源URI进行更新/获取/删除和创建。如 创建-使用/资源用POST方法(注意复数),使用一些地方/资源(单数) 更新-使用/ resource / 123和PUT方法 获取-将/ resource / 123与GET方法一起使用 我对此URI命名约定有点困惑。我们应该使用复数还是单数来创建资源?决定的标准是什么?



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.