我最近开始使用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#不遵循这个约定,这只是我的错误.
我已经实现并测试了数据结构,现在想让它与STL算法集合兼容.实现自定义迭代器等的指南.特别:
++,+=,==,!=?)理想情况下,这些答案将成为实现STL兼容数据结构的更大参考的一部分,但我不确定这样的文档是否存在.
我知道行宽的标准Python约定是79个字符.我知道可以通过多种方式继续行,例如自动字符串连接,括号和反斜杠.似乎没有明确定义的是如何格式化溢出文本.我是否一直将它推回到第1组?到原始线开始的col?到括号的开头(如果适用)?例如,说我有这样的事情:
self.someLongAttributeName = {'someLongKeyName':'someLongValueName',
'anotherLongKeyName':'anotherLongValueName'}
Run Code Online (Sandbox Code Playgroud)
假设我上面使用的格式符合79个字符的限制,第二行的缩进是否正确?
现在假设上面显示的第一行> 79个字符.在这种情况下应该怎么看?
注意:我知道很多人不同意79个字符的约定.虽然我尊重问题的每一方都有很多利弊,但这次辩论与我的问题无关.我问的是如何遵循惯例,而不是我是否应该遵守,所以请不要在回复中支持放弃它的好处.谢谢.=)
我正在开始一个新的Python项目,并希望尽可能地遵循标准约定.我已经读过,导入语句应该首先出现,例如.但我没有找到任何约定,例如在所有类定义之前或之后放置所有函数定义.这样的事情有没有约定?或者每个人通常只是以任何有意义的顺序组织函数和类定义之类的东西?
我正在编写一个Python脚本,它需要在控制台上打印一行.很简单,但我不记得(或决定)接受的做法是否在函数中打印,例如:
def exclaim(a):
print (a + '!')
Run Code Online (Sandbox Code Playgroud)
或让它返回一个字符串,如:
def exclaim(a):
return (a + '!')
Run Code Online (Sandbox Code Playgroud)
然后在主脚本中打印.我可以为任何一种方法争论.是否有普遍接受的方式来做到这一点还是取决于偏好?
编辑:澄清一下,这不是我正在使用的功能.我觉得在这里发布代码感觉不舒服,所以我把这些函数写成了一个过于简单的例子.
我有一个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) 我只是从网上下载一个css文件这个网站,它包含的属性,如-webkit-transform和-moz-transform.破折号意味着什么,在什么情况下需要它?
对于nity grity,短语"供应商前缀"是指 - 或 - 和 - (散布 - 和 - )或 - 和 - (包括 - 他们自己)之间的内容之间的内容?
换句话说,供应商前缀是指破折号本身还是仅仅是短划线或破折号之间的内容以及它们之间的内容?
我对如何在脚本中编写参数和参数的用法文本感到困惑.无论我在哪里,它总是与众不同.特别是描述参数的方式及其语法各不相同.
例如,用于需要带文件名的标志的参数
$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)
等等
这可能是一个小问题,但很烦人,因为语法总是不同的,有时它实际上意味着不同的东西,但你看不到它,因为它不遵循任何约定.您对此有何看法?使用适当的语法编写使用文本的最佳做法是什么?
这可能是历史原因,但我不知道从哪里开始寻找可以记录的地方.
具体来说,代替含有"超文本引用"的神秘"锚标签"(好吧,我认为当时术语不同):
<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)
究竟什么"锚"意味着什么呢?
我最近加入了一个新项目。在这个项目中,服务中的所有 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。因为当服务器挂掉时,它不能返回任何东西。
所以这些是问题。