例如,拿这段代码:
var person = new Person();
Run Code Online (Sandbox Code Playgroud)
或者你的Pythonistas:
person = Person()
Run Code Online (Sandbox Code Playgroud)
我不断被告知这有多糟糕,但还没有看到这两行代码不道德的例子.对我来说,人是一个人,并试图给它另一个名字是浪费时间.我想在语法突出显示之前的几天,这将是一个大问题.但是现在,除了变量名之外,告诉类型名称很容易.哎呀,在SO上看到差异很容易.
还是有什么我想念的?如果是这样,如果您能提供导致问题的代码示例,将会很有帮助.
language-agnostic coding-style naming-conventions variable-names
警告:这是我发布的一个不太严肃的问题/讨论......但我愿意打赌,大多数开发人员都在考虑这个"问题"......
一直想得到关于从某个地方获取数据并返回它的方法的命名约定的其他意见......
大多数方法名称都有点简单明了...... SaveEmployee(),DeleteOrder(),UploadDocument().当然,对于类,你最有可能使用短格式...分别保存(),删除(),上传().
但是,我一直在努力采取初步行动......如何获取数据.似乎对于每个项目,我最终都会在不同的命名约定之间跳跃,因为我对我使用的最后一个项目感到非常满意.据我所知,这些是可能性 - >
你有什么想法?
Cookie名称应该是什么样的?
它们应该是:
或者他们应该是别的什么?
因为它们必须是唯一的,我应该在MySQL数据库中命名FK?
我想知道人们对数据库表中ID列命名的看法.
如果我有一个名为Invoices的表,其中包含一个标识列的主键,我会调用该列InvoiceID,这样我就不会与其他表发生冲突,而且它显然是什么.
我工作的当前他们已经调用了所有ID列ID.
所以他们会做以下事情:
Select
i.ID
, il.ID
From
Invoices i
Left Join InvoiceLines il
on i.ID = il.InvoiceID
Run Code Online (Sandbox Code Playgroud)
现在,我在这里看到一些问题:
1.你需要在select
2 上对列进行别名.ID = InvoiceID不适合我的大脑
3.如果你没有别名表并且提到InvoiceID那么显然是什么表它开着?
关于这个话题的其他人的想法是什么?
XML文档是否有任何标准,事实上或其他标准?例如哪个是编写标签的"最佳"方式?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
Run Code Online (Sandbox Code Playgroud)
同样,如果我有一个更好的属性的枚举值
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
Run Code Online (Sandbox Code Playgroud) Scala常量的命名约定是什么?简单搜索StackOverflow建议大写CamelCase(下面的第一行),但我想仔细检查.
val ThisIsAConstant = 1.23
val THIS_IS_ANOTHER_CONSTANT = 1.55
val thisIsAThirdConstant = 1.94
Run Code Online (Sandbox Code Playgroud)
哪个Scala风格推荐?
我经常发现自己实现了一个类来维护某种自己的状态属性作为枚举:我有状态类型的状态枚举和状态属性.我该如何解决这个名称冲突?
public class Car
{
public enum Status
{
Off,
Starting,
Moving
};
Status status = Status.Off;
public Status Status // <===== Won't compile =====
{
get { return status; }
set { status = value; DoSomething(); }
}
}
Run Code Online (Sandbox Code Playgroud)
如果Status enum对于不同的类型是通用的,我会把它放在课外,问题就会解决.但Status仅适用于Car,因此在类外声明枚举是没有意义的.
在这种情况下你使用什么命名约定?
注意:在回答这个问题的评论中,对这个问题进行了部分辩论.由于这不是主要问题,因此没有太多可见性.
编辑:Filip Ekberg建议IMO针对"状态"的具体案例提供出色的解决方法.然而,我很有兴趣阅读关于枚举/属性名称不同的解决方案,如Michael Prewecki的回答.
EDIT2(2010年5月):我最喜欢的解决方案是按照Chris S的建议复数枚举类型名称.根据MS指南,这应该仅用于标记枚举.但我越来越喜欢它了.我现在也将它用于常规枚举.
在我们的开发组中,我们就主键和外键的命名约定进行了激烈辩论.我们小组基本上有两种思想流派:
1:
Primary Table (Employee)
Primary Key is called ID
Foreign table (Event)
Foreign key is called EmployeeID
Run Code Online (Sandbox Code Playgroud)
要么
2:
Primary Table (Employee)
Primary Key is called EmployeeID
Foreign table (Event)
Foreign key is called EmployeeID
Run Code Online (Sandbox Code Playgroud)
我不想在任何列中复制表的名称(所以我更喜欢上面的选项1).从概念上讲,它与其他语言中的许多推荐实践一致,在这些实践中,您不在其属性名称中使用对象的名称.我认为命名外键EmployeeID(或Employee_ID可能更好)告诉读者它是表的ID列Employee.
其他一些人更喜欢选项2,您可以在其中命名前缀为表名的主键,以便整个数据库中的列名相同.我明白了这一点,但你现在无法在视觉上区分主键和外键.
此外,我认为在列名中包含表名是多余的,因为如果您将表视为实体而将列视为该实体的属性或属性,则将其视为ID属性,而Employee不是EmployeeID员工的属性.我不去问我的同事他PersonAge或她PersonGender是什么.我问他的年龄是多少.
就像我说的那样,这是一场激烈的争论,我们继续谈论它.我有兴趣获得一些新的观点.
使用"Async"后缀方法名称的约定是什么?
"Async"后缀是否应仅附加到使用async修饰符声明的方法?
public async Task<bool> ConnectAsync()
Run Code Online (Sandbox Code Playgroud)
或者该方法刚刚返回Task<T>还是足够Task?
public Task<bool> ConnectAsync()
Run Code Online (Sandbox Code Playgroud) .net ×2
c# ×2
coding-style ×2
sql ×2
async-await ×1
constants ×1
cookies ×1
enums ×1
foreign-keys ×1
methods ×1
mysql ×1
naming ×1
php ×1
scala ×1
xml ×1