Questions tagged «naming»

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

3
例如,局部变量和参数变量的命名约定
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我正在与高级开发人员讨论编码约定,以适用于我们的项目(主要是Java / JEE项目)。我不同意他提出的一项约定: 实例变量名称应以“ _”开头,局部变量应以“ loc”开头,方法参数应以“ par”开头,因此很容易识别变量的来源和范围。 尽管他提出了关于短期内存和可读性的观点,但我不同意这样的事实,即它会降低可读性,IDE像Eclipse格式变量一样根据类型的不同而不同,并且通过良好的类和方法设计可以避免此问题。 您是否有任何观点,论点或研究支持我的观点(或反对)?
13 java  naming  variables 

1
“扁平化”是什么意思?
如果我有一棵树,会直观地暗示“变平” 获取树中所有项目的列表,从左到右遍历? 如果我有一个链表,会直观地暗示 从此开始获取所有物品的清单 例如,一个链表将由一个聚集其内部异常的异常组成。为异常命名一个方法“ flattenInnerExceptions”是否公平,希望它会返回一系列异常,最外层的异常优先,最后内层的异常-最后?
13 naming 

6
C中变量和函数的命名约定
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 在CI中编写大型项目时遇到了问题。如果我继续编写更多的代码,那么有时候我将很难组织代码。我的意思是,程序不同部分的函数和变量的命名似乎混淆了。 因此,我在考虑是否存在可以用于C变量和函数的有用的命名约定? 大多数语言都建议使用命名约定。但是到目前为止,对于C来说,我唯一读到的是名称应具有描述性,以提高代码的可读性。 编辑: 建议的命名约定的一些示例的示例: Python的PEP 8 Java教程 我在某处阅读了一些其他的Java命名约定,但不记得在哪里。
13 c  naming 

4
C项目避免命名冲突
我正在努力寻找有关中型C库项目的函数命名约定的实用建议。我的库项目分为几个模块和带有各自标题的子模块,并且松散地遵循OO风格(所有函数均以某个结构作为第一个参数,而没有全局变量等)。它奠定了我们这样的东西: MyLib - Foo - foo.h - foo_internal.h - some_foo_action.c - another_foo_action.c - Baz - baz.h - some_baz_action.c - Bar - bar.h - bar_internal.h - some_bar_action.c 一般来说,功能远远太大,(例如)棒some_foo_action,并another_foo_action在一个foo.c实现文件,使大多数功能静态的,收工。 在构建库时,我可以处理去除内部(“模块私有”)符号的问题,以避免用户与其客户端程序发生冲突,但是问题是如何在库中命名符号?到目前为止,我一直在做: struct MyLibFoo; void MyLibFooSomeAction(MyLibFoo *foo, ...); struct MyLibBar; void MyLibBarAnAction(MyLibBar *bar, ...); // Submodule struct MyLibFooBaz; void MyLibFooBazAnotherAction(MyLibFooBaz *baz, ...); 但是,我最终得到了疯狂的长符号名(比示例长得多)。如果我没有在名称前添加“假名称空间”,则模块的内部符号名称会发生​​冲突。 注意:我不在乎骆驼案/帕斯卡案等,只是名字本身。

2
如何命名在Python中返回值的函数?
我对在Python中为函数选择名称感到困惑。有时,Python内置函数势在必行,例如:printfunction和string method find。有时它们不是这样的:例如,len它的名称不是必须的calculate_len,而type不是find_type。 我可以理解,它print返回了一个我们不使用的值(即None),并且执行了某项操作(即,它在屏幕上显示了一个字符串),因此其名称势在必行。 但是len返回一个我们使用并执行某项操作的值(即,计算序列或映射中有多少个项。),其名称不是必须的。另一方面,find字符串方法(as len)返回一个我们使用并执行某操作的值,并且它的名称是必要的。 问这个问题的原因是,我将使用Caesar密码对字符串进行加密和解密的脚本进行了审查。审稿人说: 只是一种直觉:函数可以完成任务。因此,一个函数的好名字是势在必行的:我会用rotate_letter代替rotated_letter。 rotated_letter返回表示由数字旋转的字母的单字母字符串。我不知道有什么更好的,我用rotated_letter它返回一个值,就像random模块中的randint function,不是。generate_randint 因此,在这种情况下,我应该如何命名一个返回要使用的值的函数?我应该将名称设为命令性还是仅是名词。在其他情况下,显而易见的是如何执行此操作,例如布尔函数,例如is_even和is_palindrome我们将其设为是/否问题,以及仅执行并返回未使用的值(即None)的函数,例如printand list方法。sort。

18
当您想到一个好名字时,如何命名函数/变量/等?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 当您定义函数/变量/等时,不确定如何命名,该如何命名?您如何命名? 如果您在使用临时名称作为真实姓名之前将其用作真实姓名,那么您使用什么临时名称? 更新 我一直在使用类似的东西WILL_NAME_LATER,NEEDS_NAME或TO_BE_NAMED。我希望有一个采用的约定,实际上我希望,如果使用该采用的约定,IDE会在不更改名称之前突出显示该名称。

4
为集成测试选择名称
使用单元测试时,域很小,因此很容易。我使用了Osherove的methodName_conditions_result()方案,发现它很清楚。 但是通过集成测试,我觉得它会叫一个很长的名字,我该用什么代替methodName?如何命名集成测试类? 集成测试名称的真实示例非常受欢迎。我希望答案也能帮助我更好地理解这些测试。

3
如何在C和C ++程序中标记类型?
在我的这个答案中,我_t在类型的末尾使用了它,但这种情况最多是有争议的。这是我在当前项目中使用的做法。 typedef struct { int x; int y; } point_t; 旨在与来自stddef.hlike size_t或C的C类型一致ptrdiff_t。但是,根据我的问题中的某些评论,_t后缀似乎是为POSIX保留的。我应该用什么代替_t?还是应该继续使用_t? 这个问题是针对C和C ++的。如果这些语言有不同的约定,请随时回答。
12 c++  c  naming 

5
指导尴尬的领域特定对象的命名?
我正在为化学系统建模,但是在枚举中命名元素/项目时遇到了问题。 我不确定是否应该使用: 原子公式 化学名称 化学名称的缩写。 例如,硫酸是H2SO4,盐酸是HCl。 对于这两个,我可能会只使用原子公式,因为它们相当普遍。 但是,我还有其他类似Na2SiF6的六氟硅酸钠。 在该示例中,原子式(对我而言)不那么明显,但化学名称长得令人毛骨悚然: myEnum.SodiumHexaFluoroSilicate。我不确定如何才能安全地提出一个具有一致命名模式的缩写化学名称。 我正在尝试通过命名枚举元素来解决一些问题。 首先是可读性,较长的名称会带来问题。 第二个问题是为新的维护者挑选代码很容易,在这里较短的名字带来了问题。 下一个问题是企业主通常使用完整的化学名称,但并非总是如此。“鲜味”化学物质由其化学式表示。 最后要考虑的是确保其一致性。我不需要混合的命名约定,因为将无法记住要使用的命名约定。 从维护的角度来看,您希望查看上述哪个命名选项,为什么? 注意:该行下面的所有内容都是补充| 澄清材料。请不要陷入其中。主要问题涉及命名尴尬的对象。 原子选项 公共myEnum.ChemTypes { 硫酸 盐酸 Na2SiF6 } 化学名称选项 公共myEnum.ChemTypes { 硫酸 盐酸, 六氟硅酸钠 } 以下是有关此问题的评论中的一些其他详细信息: 代码的受众只是程序员,而不是化学家。 我正在使用C#,但是我认为在忽略实现语言时,这个问题会更有趣。 我从10-20种化合物开始,最多可以有100种化合物,因此我不必担心每种可能的化合物。幸运的是,这是一个固定域。 枚举用作查找的关键字,以方便进行常规/通用化学计算-这意味着所有化合物的方程式均相同,但您插入化合物的属性即可完成方程式。 例如,当从化合物的质量(以克为单位)计算摩尔数时,使用摩尔质量(以g / mol为单位)。FWIW,摩尔质量==摩尔重量。 常见计算的另一个示例是理想气体定律及其对特定气体常数的使用 示例函数可能类似于: 公共double GetMolesFromMass(double mass_grams,myEnum.ChemTypes chem) { double moleWeight = …

6
JavaScript命名约定
我来自Java,对JavaScript还是陌生的。我注意到许多使用单个字符参数名称的JavaScript方法,例如以下示例。 doSomething(a,b,c) 我不喜欢它,但是一位JavaScript开发人员说服我这样做是为了减小文件大小,并指出必须将JavaScript文件传输到浏览器。 然后我发现自己正在与另一位开发人员交谈。他向我展示了Firefox将截断变量名以更快地加载页面的方式。这是Web浏览器的标准做法吗? 使用JavaScript编程时应遵循的最佳实践命名转换是什么?标识符长度重要吗?如果有,程度如何?

1
编程中的“解析”是什么意思?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我在很多地方Resolve都使用过这个词,例如在“依赖注入”(解析接口的实现),“包管理器”(例如:解析包的依赖关系),“ Web”(例如:解析主机名)中。 那么,是什么使代码的逻辑,特别是使一个人选择这个词Resolve在简单的Convert或者Transform甚至是Get?

3
在Golang中使用“ this”
对于Golang而言,最接近于此处的样式指南的东西是这样写的: 方法的接收者的名称应反映其身份。通常,其类型的一个或两个字母缩写就足够了(例如,“ Client”(客户)使用“ c”或“ cl”)。不要使用诸如“我”,“此”或“自我”之类的通用名称,它们是面向对象语言的典型标识符,这些标识符更加强调方法而非功能。该名称不必像方法参数那样具有描述性,因为它的作用是显而易见的,没有任何文档目的。 我个人一直只是使用“ this”作为标识符,因为“ this”是我编写和编辑函数时正在研究的重点。听起来不错,而且(至少对我而言)是有道理的。 如果名称不需要描述,那么它的作用是显而易见的,并且没有记录目的,为什么“ this”的使用会被拒绝?

6
命名:您是否应该为了简洁而牺牲简洁性?
例如,以下函数循环遍历包含输入字段名称和错误的数组。它通过检查验证字段的名称,然后将错误信息推送到无效的字段数组来完成此操作。 简短点说并写成更好: addInvalidField (field, message) { const foundField = this.invalidFields.find(value => { return value.name === field.name }) const errors = foundField.errors if (!errors.some(error => error.name === message)) { errors.push({ name: message, message }) } }, 还是更具体地这样? addInvalidField (validatingField, message) { const foundField = this.invalidFields.find(invalidField => { return validatingField.name === invalidField.name …

7
对于仅具有不可变引用或标签的语言,对于名称变量有什么好的替代方案?
例如,在函数式语言中,变量是单个赋值,并且一旦赋值它们的值就不可变。因此,它们有两个状态unbound和bound,一旦绑定,就无法更改。 是否有最适合诸如事物之类的数学术语或其他计算机科学术语?一些语义并不意味着方差或可变性。 如果不存在诸如term之类的词,并且如果您正在设计一种具有这种结构的语言,那么您除了使用word 变量之外还会使用什么呢? 我不是真的希望调查的想法,我试图找出是否已经有一个公认的行业(任何行业)项这样的事情。

5
一次性变量的惯用名称是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 Velocity Template Language的set指令在左侧需要一个变量。这行不通。 #set ( $entries.add("d") ) 即使我没有用的返回值add("d"),我也必须将其分配给变量。 #set ( $x = $entries.add("d") ) 我想说明该变量是必需的,但我无意以后再使用它。是否有命名约定来仅存在于安抚编译器中的变量?
11 naming  syntax 

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.