Questions tagged «naming»

以最少的字符数给出含义和解释,其形式应为整个团队或整个社区所接受。

2
命名约定DAL,BAL和UI层
我正在开发具有以下几层的典型Web应用程序 UI层(MVC) 业务逻辑层(BAL) 数据访问层(DAL) 每个层都有自己的DTO对象,包括BAL和DAL。我对此的疑问如下 DAL返回的DTO只需转换为BAL中的相应DTO,然后发送到UI层即可。在某些情况下,DTO对象的属性和结构都是相同的。在这种情况下,最好将DAL中的DTO简单地返回到UI层而不包含中间对象。 命名这些DTO对象和每一层中其他对象的最佳方法是什么。我应该使用一些前缀,例如DTOName,ServiceName吗?我之所以要求使用前缀的原因是,如果解决方案中的类与Framework中的其他类以及前缀不冲突,那么我更容易理解每​​个类所属的位置吗?
35 c#  design  naming 

8
在Java中实现接口时的默认vs Impl
阅读后包装名称应为单数还是复数?在我看来,我从未见过涉及我的宠儿之一的适当辩论:命名接口的实现。 假设您有一个Order旨在以各种方式实现的接口,但是在首次创建项目时只有初始实现。您是否选择DefaultOrder或OrderImpl或采取其他措施来避免错误的二分法?当出现更多实现时,您会怎么做? 最重要的是...为什么?

9
如何命名既执行任务又返回布尔值作为状态的方法?
如果有办法 bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } 它应该被称为IsStuffDone()吗? 用户可能会误解这两个名称:如果名称是DoStuff()为什么它返回布尔值?如果名称IsStuffDone()不明确,则该方法是执行任务还是仅检查其结果。 这种情况有约定吗?还是一种替代方法,因为这被认为是有缺陷的?例如,在具有输出参数的语言(如C#)中,可以将布尔状态变量作为1传递给方法,而方法的返回类型为void。 编辑:在我的特定问题中,异常处理不能直接委托给调用者,因为该方法是接口实现的一部分。因此,调用者不必负责处理不同实现的所有异常。它不熟悉那些例外。但是,调用者可以处理自定义异常,如npinti的answer和comment中StuffHasNotBeenDoneForSomeReasonException建议的那样。


6
我应该使用哪种语言来命名我的业务类别?
我要求有关此问题的最佳实践。我认为,这仅在客户公司严格属于国家/地区语言而不是英语时才是问题。 如果客户有很多主要是非常特定于域的(例如,德语)表达式,并且混合了一些较小的特定于域的命名。我们的代码注释的语言,类/方法/变量名是英语。您会翻译所有域名专用名称吗?
29 naming 

2
为什么XMLHttpRequest似乎没有遵循命名约定?
我最近一直在使用JavaScript 处理XMLHttpRequest对象,我不禁注意到该名称的大小写毫无意义。为什么“ XML”全部大写而“ Http”没有大写?他们都是缩写! 当然,将名称用作以下内容之一会更有意义: XmlHttpRequest (PascalCase,JavaScript中类名的最佳实践) xmlHttpRequest (camelCase,虽然不是类,但也很常见) XMLHTTPRequest (大写字母缩写,很少在编程中使用?) 我敢肯定一定有一些原因,并且我不愿意认为它现在是一成不变的,因为当时没有人对此提出质疑。我没有意识到另一种命名约定吗?

6
HTML / CSS命名约定(语法)的实际注意事项
问题: 和值中的语法有哪些实际考虑因素?classid 请注意,我并不是在询问语义,即所使用的实际单词,例如本博客文章中所述。命名约定方面已经有很多资源,事实上,这使我对各种语法位的实用信息的搜索变得困难,这些信息包括:-大写,插补(特别是破折号)的使用,要使用或避免的特定字符等。 总结一下我问这个问题的原因: 命名限制的ID和类不自然导致任何约定 命名约定在语义方面的资源丰富,使得对句法方面的考虑变得模糊 我在此找不到任何权威来源 SE程序员对此主题还没有任何问题:) 我考虑过使用的一些约定: UpperCamelCase,主要是作为服务器端编码的交叉习惯 lowerCamelCase,与JavaScript命名约定保持一致 css-style-classes,这与css属性的命名一致(但在选择Ctrl + Shift + ArrowKey文本时可能会令人讨厌) with_under_scores,我个人没见过用过 alllowercase,简单易记,但长名称很难读 UPPERCASEFTW,这是惹恼其他程序员的好方法(可能与选项4结合使用以提高可读性) 可能我也遗漏了一些重要的选项或组合。那么:命名约定有哪些考虑因素,它们导致了哪些约定?

7
对于静态表达不充分的语言,匈牙利符号是否可以解决?[关闭]
在埃里克·利珀特(Eric Lippert)的文章中,匈牙利表示法是怎么回事?,他指出,匈牙利符号(一种好符号)的目的是为了 扩展“类型”的概念以涵盖除存储表示信息之外的语义信息。 一个简单的示例是,用x表示变量的前缀是x,用y表示变量的前缀是y,无论这些变量是整数还是浮点数或其他形式,这样当您不小心编写时xFoo + yBar,代码显然看起来是错误的。 但是我也一直在阅读有关Haskell的类型系统的信息,似乎在Haskell中,可以使用编译器会为您检查的实际类型来完成同一件事(即“将类型的概念扩展为包含语义信息”)。因此,在上面的示例中,xFoo + yBar如果正确设计程序,在Haskell中实际上将无法编译,因为它们将被声明为不兼容的类型。换句话说,Haskell的类型系统似乎有效地支持了相当于匈牙利表示法的编译时检查。 那么,匈牙利符号法是否只是一种编程语言的创可贴,其类型系统无法对语义信息进行编码?还是匈牙利记谱法提供的东西超出了Haskell的静态类型系统所能提供的东西? (当然,我以Haskell为例。我确定还有其他语言具有类似表现力(丰富?强?)类型系统,尽管我还没有遇到过。) 明确地说,我不是在用数据类型注释变量名,而是在程序上下文中使用有关变量含义的信息。例如,变量可以是整数,浮点数,双精度或长整数等,但变量的含义可能是它是以英寸为单位的相对x坐标。这就是我所说的通过匈牙利表示法(和通过Haskell类型)编码的信息。

5
Java包名称约定是否有缺陷?[关闭]
我们都熟悉反转域名的Java包名称约定。即www.evilcorp.com,按照惯例,将选择具有其java包com.evilcorp.stuff。 我越来越厌倦了这个。作为一名商业程序员,我一次又一次地遇到由于更名,收购或类似原因而导致的软件包名称完全不相关的情况。 在开源世界中,名称更改较少,因此有意义。然而,在我看来,许多(商业/内部)软件的保质期都比制造它们的组织的保质期长得多。 这个问题通常是通过采取营销部门的领导使用的名称的软件项目变得更糟大谈特谈他们使用是指某个项目。这个名称将在接下来的三个月内进行更改,以使皇帝的新衣服焕然一新。 因此,我几乎停止使用反向域作为程序包名称。当然,如果大规模进行,则存在名称冲突的风险,但是可以肯定的是,可以通过使用“唯一”软件名称,避免使用通用词或将反向域用于打算作为库出售/发布的项目来缓解这种情况。 。 其他想法?
28 java  naming 

4
在实现类中使用设计模式名称是个好主意吗?[关闭]
最近我碰到有大量的中等大蟒蛇的代码库来了MyClassAbstractFactory,MyClassManager,MyClassProxy,MyClassAdapter等类。 一方面,这些名称指示我研究和学习相应的模式,但它们并不能很好地描述班级的工作方式。 此外,他们似乎落在单词的列表禁止内编程:variable,process_available_information,data,amount,compute:过于宽泛的名字,不给我们介绍一下什么功能不能单独使用。 那么应该存在CommunicationManager还是宁愿PortListener?或者,也许我根本不理解问题...?

9
在临时解决方法的方法名称中包含错误编号是否被认为是不好的做法?
我的高级同事阻止我进行代码审查,因为他希望我将方法命名为“ PerformSqlClient216147Workaround”,因为这是某些缺陷的解决方法。现在,我的方法名称建议类似于PerformRightExpressionCast,它倾向于描述该方法的实际作用。他的论点是这样的:“这种方法仅在这种情况下用作解决方法,而在其他地方则没有。” 在临时解决方法的方法名称中包含错误号是否被视为不良做法?

4
库的C#名称空间和类命名约定
我正在用C#构建带有各种小型实用程序函数的库,并尝试确定名称空间和类命名约定。我目前的组织是这样的: Company Company.TextUtils public class TextUtils {...} Company.MathsUtils public class MathsUtils {...} public class ArbitraryPrecisionNumber {...} public class MathsNotation {...} Company.SIUnits public enum SISuffixes {...} public class SIUnits {...} 这是组织名称空间和类的好方法,还是有更好的方法?特别是,在名称空间和类名称(例如,Company.TextUtils名称空间和TextUtils类)中具有相同的名称似乎只是重复,这表明该方案可能会更好。
26 c#  naming  namespace 

5
为什么将其称为“哈希表”或“哈希函数”?在这里,哈希对我没有任何意义[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5个月前关闭。 现在,我正在使用,聆听,讨论和实现哈希表和哈希函数大约需要4年的开发时间。但我真的不明白为什么将其称为哈希? 我记得我开始编程的第一天,这个术语对我来说有点繁琐。我从不知道它是什么,基于它的名字。我只是通过实验了解了它的作用以及为什么以及何时应该使用它。 但是,有时我还是试图弄清楚为什么将其称为hash。我对表或函数没有问题,老实说,它们是相当演绎,合理的术语。但是,我认为可以使用更好的词来代替哈希,例如key或uniqueness。不要键入表或唯一性表。 根据我的字典,哈希表示: 土豆和肉类的炒菜(高度无关) #符号(又名数字符号,井号等)(仍然无关紧要,也许只是误称) 将算法应用于字符串(仍然与唯一性无关,这是哈希表的最重要特征) 切食物 大麻的另一个术语 有谁知道为什么将其称为哈希?
26 naming 


8
有意义的简洁方法命名准则
最近,我开始发布一个开源项目,虽然我是该库的唯一用户,但我并不关心名称,但知道我想为每种方法分配聪明的名称,以使其更易于学习,但我还需要使用简洁的名称,因此也易于编写。 我在考虑一些有关命名的准则,我知道许多准则只关心字母大小写或一些简单的注释。在这里,我正在寻找有意义但又简洁的命名准则。 例如,这可能是我所遵循的准则的一部分: 将现有项目添加到目标时,请使用添加;要创建新项目并将其添加到目标时,请使用创建。 要从目标中删除现有项目时,请使用“删除”;要永久删除项目时,请使用“删除”。 将AddXXX方法与RemoveXXX方法配对,并将CreateXXX方法与DeleteXXX方法配对,但不要混合使用。 如以上示例所示,我想找到一些在线资料,以帮助我找到符合英语语法和单词含义的命名方法和其他项目。 对于以英语为母语的人来说,以上指导可能是直观的,但对我来说,英语是我的第二语言,因此需要告知我这种情况。
25 naming 

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.