naming-conventions相关内容
对控制器和助手使用单数名称有什么缺点吗?似乎没有什么依赖于此.至少根据我有限的实验,助手似乎不必像他们相应的控制器一样对单数和复数做出相同的选择.是真的吗? 解决方案 绝对复数. 使用宁静路由和单一控制器 控制器: dog_controller.rb 路线: map.resources :dogs # =>炸毁map.resources :dog # 没问题,但是...d
..
我有一个名为“clothing"的模型,我想将其作为单数(一件衣服).默认情况下,rails 说复数是服装.对还是错,我觉得如果复数是“clothes"会更易读. 如何覆盖复数命名约定?我可以在模型中正确地做,这样我就不必一遍又一遍地做吗?这将如何改变路由的处理方式(我使用的是 Restful 架构)? 解决方案 我不是 RoR 专家,但确实找到了 可能的方法.从引用的站点,您可以在
..
为什么大多数 C 程序员都这样命名变量: int *myVariable; 而不是这样: int* myVariable; 两者都有效.在我看来,星号是类型的一部分,而不是变量名称的一部分.谁能解释一下这个逻辑? 解决方案 它们完全等效.然而,在 int *myVariable, myVariable2; 很明显,myVariable 的类型为 int*,而 myVariabl
..
这似乎是一个简单的问题,但我无法通过 Stack Overflow 搜索或 Google 找到它.类型后跟 _t 是什么意思?比如 int_t anInt; 我在 C 代码中经常看到它与硬件密切相关——我不禁认为它们是相关的. 解决方案 正如 Douglas Mayle 所指出的,它基本上表示一个类型名称.因此,不建议您将变量或函数名称以 '_t' 结尾,因为这可能会引起一些混淆.除了
..
学术界认为表名应该是它们存储属性的实体的单数. 我不喜欢任何需要在名称周围使用方括号的 T-SQL,但我已将 Users 表重命名为单数形式,永远判刑那些使用该表的人有时不得不使用方括号. 我的直觉是保持单数更正确,但我的直觉也是括号表示不受欢迎的内容,例如列名中带有空格等. 我该留下还是该走? 解决方案 我有同样的问题,在阅读了这里的所有答案后,我仍然坚持 SINGUL
..
在 C++ 中,用某种前缀命名成员变量是很常见的,以表示它们是成员变量,而不是局部变量或参数.如果您有 MFC 背景,您可能会使用 m_foo.我也偶尔看到 myFoo. C#(或可能只是 .NET)似乎推荐只使用下划线,如 _foo.C++ 标准允许这样做吗? 解决方案 规则(在 C++11 中没有改变): 保留在任何范围内,包括用作实现宏: 以下划线开头的标识符,后跟大写
..
这段代码中for后面的_是什么意思? 如果 tbh.bag:n = 0对于 _ 在 tbh.bag.atom_set() 中:n += 1 解决方案 _ 在 Python 中有 3 个主要的常规用途: 在交互式中保存上次执行的表达式的结果解释器会话(参见 docs).这个先例是由标准 CPython 设定的口译员,其他口译员也纷纷效仿 对于 i18n 中的翻译查找(请参阅gett
..
我经常看到 JavaScript 的变量以美元符号开头.您何时/为什么选择以这种方式为变量添加前缀? (我不是在问你在 jQuery 和其他人中看到的 $('p.foo') 语法,而是像 $name 和 这样的普通变量>$order) 解决方案 jQuery 中非常常见的用途是将存储在变量中的 jQuery 对象与其他变量区分开来. 例如,我会定义: var $email =
..
表单域有命名约定吗?Chrome、IE、Firefox 寻找哪些领域?我的意思是,一应俱全,或者至少是大多数现代浏览器. 我偶然发现: http://wonderfullyflawed.com/2009/02/17/rails-forms-microformat http://acidmartin.wordpress.com/2008/10/28/using-ecml-11-to-m
..
我正在查看 google go 的运行时源代码(位于 https://go.googlecode.com/hg/src/pkg/runtime/ ),似乎他们的函数名称使用了一个特殊字符, · .(例如在 https://go.googlecode.com/hg/src/pkg/runtime/cgocall.c).这是否被主要编译器接受?它不是 ANSI C,是吗?还是只是一些宏观魔术?
..
Android 中是否有命名资源的约定?例如按钮、textViews、菜单等 解决方案 不知道官方有没有推荐. 对于带有小部件和容器的布局中的 id,我使用约定: __ 我对我在这些布局中使用的任何尺寸、字符串、数字和颜色都采用相同的策略.但是,我确实尝试进行概括.例如,如果所有按钮都有一个共同的 textColor,我就不会在名称前加上布局.资源名称将是“button_text
..
由于 C++ 缺少 Java 和 C# 的 interface 特性,那么在 C++ 类中模拟接口的首选方法是什么?我的猜测是抽象类的多重继承.在内存开销/性能方面有什么影响?此类模拟接口是否有任何命名约定,例如SerializableInterface? 解决方案 由于 C++ 与 C# 和 Java 不同,具有多重继承,所以您可以制作一系列抽象类. 至于约定,由您决定;然而,我喜
..
我清楚地记得,有一次,Microsoft 推动的指导方针是添加“Base"抽象类的后缀,以消除它是抽象的事实.因此,我们有类似 System.Web.Hosting.VirtualFileBase、System.Configuration.ConfigurationValidatorBase、System.Windows.Forms.ButtonBase 和,当然,System.Collectio
..
.NET 5.0 将在以下情况下取代 .NET Core 3.x它于 11 月发布 - 因此,ASP.NET 5.0 将取代 ASP.NET Core 3.x. 编辑:这个问题基于一个根本不正确的假设.虽然 .NET Core 的下一版本实际上是 .NET 5.0,但 ASP.NET Core 的下一版本将是 ASP.NET Core 5.0.查看来自 @Camilo-Terevinto 和
..
我有以下两种方法,我想知道它们是否合适: public bool IsGetter(MethodInfo method){返回方法.IsSpecialName&&method.Name.StartsWith("get_", StringComparison.Ordinal);}public bool IsSetter(MethodInfo 方法){返回方法.IsSpecialName&&meth
..
包名中的一个单词应该如何分隔?以下哪些是正确的? com.stackoverflow.my_package(Snake Case 使用下划线) com.stackoverflow.my-package(Kebab Case 使用连字符) com.stackoverflow.myPackage (Camel Case) com.stackoverflow.MyPackage (Pasca
..
大多数面向对象语言的接口名称都以大写字母 I 为前缀,为什么 Java 不这样做?不遵守这个约定的理由是什么? 为了说明我的意思,如果我想要一个用户界面和一个用户实现,我在 Java 中有两个选择: 类 = 用户,界面 = 用户界面 类 = UserImpl,接口 = 用户 在大多数语言中的位置: 类 = 用户,接口 = IUser 现在,您可能会争辩说,您总是可以
..
Java 中是否有命名枚举的约定? 我的偏好是枚举是一种类型.因此,例如,您有一个枚举 水果{苹果、橙子、香蕉、梨子、... }网络连接类型{LAN,Data_3g,Data_4g, ... } 我反对命名: FruitEnum网络连接类型枚举 我知道很容易挑选出哪些文件是枚举,但你也会有: NetworkConnectionClass水果类 另外,是否有一个很好的文档来描述常量
..
你如何命名你创建的不同类/接口?有时我没有要添加到实现名称的实现信息 - 例如接口 FileHandler 和类 SqlFileHandler. 当发生这种情况时,我通常以“普通"名称命名接口,例如 Truck,并将实际类命名为 TruckClass. 在这方面,您如何命名接口和类? 解决方案 为您的 Interface 命名.卡车.不是 ITruck 因为它不是 ITruck
..
Java 类名中哪些字符是有效的?Java 类名还有哪些其他规则(例如,Java 类名不能以数字开头)? 解决方案 您几乎可以拥有任何字符,包括大多数 Unicode 字符!确切的定义在 Java 语言规范中在第 3.8 节:标识符下. 一个标识符是Java字母和Java数字的无限长度序列,其中第一个必须是Java信.... 可以从整个 Unicode 字符集中提取字母和数字,
..