标签: conventions

为什么C#使用不同的命名约定?

我最近开始使用C#,我注意到约定似乎是变量以大写字母和方法开头.

这是唯一可以做到这一点的语言吗?为什么?例如:

Page Page = new Page();
Page.Action(); 
Run Code Online (Sandbox Code Playgroud)

在其他语言中,你会看到:

Page page = new Page();
page.action();
Run Code Online (Sandbox Code Playgroud)

还有其他一些令人困惑的例子,因为我已经使用了UML,Ruby,C++和Java.

我的问题是,当其他语言没有时,为什么C#会这样做呢?

编辑

其他Stack Overflow用户注意到C#不遵循这个约定,这只是我的错误.

c# uml conventions naming-conventions

4
推荐指数
3
解决办法
3170
查看次数

实现类似自定义STL的数据结构

我已经实现并测试了数据结构,现在想让它与STL算法集合兼容.实现自定义迭代器等的指南.特别:

  • 必须支持的最小操作集是什么?(例如++,+=,==,!=?)
  • 算法是否期望这些操作的任何属性?

理想情况下,这些答案将成为实现STL兼容数据结构的更大参考的一部分,但我不确定这样的文档是否存在.

c++ stl conventions data-structures

4
推荐指数
1
解决办法
770
查看次数

我知道我应该将Python代码保留为79列,但是如何缩进行的延续?

我知道行宽的标准Python约定是79个字符.我知道可以通过多种方式继续行,例如自动字符串连接,括号和反斜杠.似乎没有明确定义的是如何格式化溢出文本.我是否一直将它推回到第1组?到原始线开始的col?到括号的开头(如果适用)?例如,说我有这样的事情:


        self.someLongAttributeName = {'someLongKeyName':'someLongValueName',
                                      'anotherLongKeyName':'anotherLongValueName'}
Run Code Online (Sandbox Code Playgroud)

假设我上面使用的格式符合79个字符的限制,第二行的缩进是否正确?

现在假设上面显示的第一行> 79个字符.在这种情况下应该怎么看?

注意:我知道很多人不同意79个字符的约定.虽然我尊重问题的每一方都有很多利弊,但这次辩论与我的问题无关.我问的是如何遵循惯例,而不是我是否应该遵守,所以请不要在回复中支持放弃它的好处.谢谢.=)

python code-formatting conventions

4
推荐指数
2
解决办法
465
查看次数

Python源文件组织

我正在开始一个新的Python项目,并希望尽可能地遵循标准约定.我已经读过,导入语句应该首先出现,例如.但我没有找到任何约定,例如在所有类定义之前或之后放置所有函数定义.这样的事情有没有约定?或者每个人通常只是以任何有意义的顺序组织函数和类定义之类的东西?

python conventions

4
推荐指数
2
解决办法
1926
查看次数

函数应该打印一个字符串还是返回它?

我正在编写一个Python脚本,它需要在控制台上打印一行.很简单,但我不记得(或决定)接受的做法是否在函数中打印,例如:

def exclaim(a):
    print (a + '!')
Run Code Online (Sandbox Code Playgroud)

或让它返回一个字符串,如:

def exclaim(a):
    return (a + '!')
Run Code Online (Sandbox Code Playgroud)

然后在主脚本中打印.我可以为任何一种方法争论.是否有普遍接受的方式来做到这一点还是取决于偏好?


编辑:澄清一下,这不是我正在使用的功能.我觉得在这里发布代码感觉不舒服,所以我把这些函数写成了一个过于简单的例子.

python styles conventions

4
推荐指数
1
解决办法
1111
查看次数

如何将Java POJO转换为JSON字符串?

我有一个POJO为我设定值,pojo是:

public class CreateRequisitionRO extends AbstractPortfolioSpecificRO {

    private static final long serialVersionUID = 2418929142185068821L;

    private BigDecimal transSrlNo;
    private String transCode;
    private InflowOutflow inflowOutflow;

public BigDecimal getTransSrlNo() {
        return transSrlNo;
    }

    public void setTransSrlNo(BigDecimal transSrlNo) {
        this.transSrlNo = transSrlNo;
    }

    public InflowOutflow getInflowOutflow() {
        return inflowOutflow;
    }

    public void setInflowOutflow(InflowOutflow inflowOutflow) {
        this.inflowOutflow = inflowOutflow;
    }
    public String getTransCode() {
        return transCode;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我设置值的方式:

CreateRequisitionRO[] request = new CreateRequisitionRO[1];
    request[0].setTransSrlNo(new BigDecimal(1));
    request[0].setTransCode("BUY");
    request[0].setInflowOutflow(InflowOutflow.I);

now i would like to convert/serialize the …
Run Code Online (Sandbox Code Playgroud)

java json conventions

4
推荐指数
1
解决办法
7205
查看次数

当css属性以破折号开头时,这意味着什么?

我只是从网上下载一个css文件这个网站,它包含的属性,如-webkit-transform-moz-transform.破折号意味着什么,在什么情况下需要它?

对于nity grity,短语"供应商前缀"是指 - 或 - 和 - (散布 - 和 - )或 - 和 - (包括 - 他们自己)之间的内容之间的内容?

换句话说,供应商前缀是指破折号本身还是仅仅是短划线或破折号之间的内容以及它们之间的内容?

css conventions naming-conventions

4
推荐指数
1
解决办法
2649
查看次数

Shell脚本:为参数编写用法文本的约定?

我对如何在脚本中编写参数和参数的用法文本感到困惑.无论我在哪里,它总是与众不同.特别是描述参数的方式及其语法各不相同.

例如,用于需要带文件名的标志的参数

$0 -f <filename>
$0 [-f filename]
$0 [-f] <filename>
$0 [-f] [filename]
$0 [-f <filename>]
$0 [-f] [<filename>]
Run Code Online (Sandbox Code Playgroud)

例如,用于可选参数(-f,-g,-h)

$0 [-fgh]
$0 [<optional>]
$0 [-[fgh]]
$0 [-<fgh>]
$0 -fgh
$0 -[fgh]
Run Code Online (Sandbox Code Playgroud)

等等

这可能是一个小问题,但很烦人,因为语法总是不同的,有时它实际上意味着不同的东西,但你看不到它,因为它不遵循任何约定.您对此有何看法?使用适当的语法编写使用文本的最佳做法是什么?

shell text conventions

4
推荐指数
1
解决办法
2603
查看次数

当存在完全有效的<link>标记时,为什么<a>标记代表链接?

这可能是历史原因,但我不知道从哪里开始寻找可以记录的地方.

具体来说,代替含有"超文本引用"的神秘"锚标签"(好吧,我认为当时术语不同):

<a href="https://stackoverflow.com">StackOverflow</a>
Run Code Online (Sandbox Code Playgroud)

为什么没有这样的事情发生?

<link to="https://stackoverflow.com">StackOverflow</link>
Run Code Online (Sandbox Code Playgroud)

究竟什么"锚"意味着什么呢?

conventions

4
推荐指数
1
解决办法
75
查看次数

即使请求失败,HTTP 响应始终返回响应代码 200,并且返回状态代码是 REST 的一部分

我最近加入了一个新项目。在这个项目中,服务中的所有 API 总是返回状态代码 200。即使响应应该是 400 或 404,API 也会返回状态代码 200。

我问了 API 不返回其他响应代码的原因,程序员告诉我他们不使用响应代码。他们将信息放入体内。

例如,缺少一些必填字段,它们返回响应状态代码 200,但正文返回这样

{"result" : "fail"}
Run Code Online (Sandbox Code Playgroud)

如果未经授权的用户尝试访问,状态码为 200,则正文返回如下

{"result" : "unautherized"}
Run Code Online (Sandbox Code Playgroud)

我之前所做的非常不同,我总是按案例指定状态代码并尝试返回合适的状态代码和消息。我认为这是 HTTP 协议的一部分。但是,他们告诉我,像 400、404、300 这样的指定状态代码是 RESTful API 的一部分,并且始终返回 200 是正确的状态代码,因为服务器响应并且它处于活动状态。APIs,除了500,总是要返回200。因为当服务器挂掉时,它不能返回任何东西。

所以这些是问题。

  1. 服务器应该总是返回状态代码 200 除非服务器死机?
  2. 指定各种状态代码是 REST API 的一部分吗?
  3. 不使用状态码很常见吗?

rest http conventions httpresponse http-status-codes

4
推荐指数
2
解决办法
7521
查看次数