我正在配置 CI 服务器并希望添加代码样式检查步骤来构建步骤序列。我的 CI 服务器是 TeamCity,这样的代码样式检查步骤必须生成与codestyle格式兼容的 XML 输出。我发现用于 PHP 代码风格检查的工具很少,我很困惑我应该使用哪一个。
我正在使用这个eclipse插件(http://www.phpsrc.org/projects/pti-php-codesniffer/wiki/)来检查PHP代码风格.
这个插件有一些标准要检查,但没有PSR-2.
此插件允许通过提供文件来定义自定义标准.
我已经下载了这个psr2标准(https://github.com/squizlabs/PHP_CodeSniffer/tree/master/CodeSniffer/Standards/PSR2)并在eclipse插件中定义,就像自定义标准一样.
但它不起作用(eclipse并没有告诉我任何错误).如果我配置无自定义标准(包含标准的插件),它会这样做.
谁有这个问题?配置eclipse的任何其他方式告诉我(当我编码时)PSR-2非合规代码在哪里?
我被一个生产错误所困,我把一个不纯的0元函数传递给了一个错误地期望一个裸结果类型的类.
def impureFunc(): Future[Any] = ???
case class MyService(impureDependency: Future[Any] /* should have been () => Future[Any] */)
Run Code Online (Sandbox Code Playgroud)
实际上,这会MyService立即调用impureFunc并缓存程序生命周期的第一个结果,从而导致一个非常微妙的错误.
通常,类型系统会阻止这类错误,但由于能够在没有参数列表的情况下调用0-ary函数,编译器会接受此程序.
显然,这是Scala的"功能",旨在使代码看起来更干净,但这是一个糟糕的问题.有没有办法使这成为编译器警告或linting错误?换句话说,不赞成"空应用程序"类型的隐式方法转换?
我只是有一个简单的问题,看看自己上课时最好的做法是什么.
假设这个类有一个私有成员在构造函数中初始化,我是否必须检查这个私有成员在另一个公共的非静态方法中是否为null?或者是假设该变量不为null,因此不必添加该检查?
例如,如下所示,检查null是绝对必要的.
// Provides Client connections.
public TcpClient tcpSocket;
/// <summary>
/// Creates a telnet connection to the host and port provided.
/// </summary>
/// <param name="Hostname">The host to connect to. Generally, Localhost to connect to the Network API on the server itself.</param>
/// <param name="Port">Generally 23, for Telnet Connections.</param>
public TelnetConnection(string Hostname, int Port)
{
tcpSocket = new TcpClient(Hostname, Port);
}
/// <summary>
/// Closes the socket and disposes of the TcpClient.
/// </summary>
public void CloseSocket()
{ …Run Code Online (Sandbox Code Playgroud) 在我正在进行的当前项目中,我们讨论了我们应该用来描述路径名,字段,有效负载等的语言(英语或西班牙语).
我认为这是一个容易的主题,但是,我找不到一个准确的来源,其中描述了英语应该是描述Webservice组件的标准.
例如,假设我们使用CRUD非常简单,可以创建用户
英语
POST /v1/users
GET /v1/users/{uid}
DELETE /v1/users/{uid}
PUT /v1/users/{uid}
西班牙语
POST /v1/usuarios
GET /v1/usuarios/{uid}
DELETE /v1/usuarios/{uid}
PUT /v1/usuarios/{uid}
我认为这不是问题,但是,我想了解我是否需要遵循标准,或者我使用哪种语言来描述Webservice的组件并不重要.
可能这是一个主要基于意见的问题,如果您认为是这样,请发表评论.
architecture standards web-services nomenclature code-standards
我似乎在文件中找不到该APP_ENV变量的任何正式列表.env。在实践中我用local,dev,development,staging,和production。而且我觉得这样还行。。。甚至我还看到过其他知名Laravel开发人员使用的一些软件。但是,如果有一个标准,我会更有信心。是否有定义环境名称的PSR标准?也许我缺少一些Laravel文档?
在我工作的地方,我经常看到这样的代码:
public void Test(Models.User.UserInfo userInfo, Models.User.UserParameter param)
{ ... }
Run Code Online (Sandbox Code Playgroud)
就个人而言,我更喜欢看到类似的东西:
public void Test(UserInfo userInfo, UserParameter param) { ... }
Run Code Online (Sandbox Code Playgroud)
并在顶部有一个导入.
你怎么看待这个?最佳做法是什么?两者的利弊是什么?我怎么能说服我的队友?
我发现第二种选择更加明确.
有谁知道如何检查nodejs代码自动编码标准?我正在寻找一些像codesniffer这样的功能但是对于node.js(快速框架).
我试图找到所有PHP核心函数的列表,以编写概念证明包装器,将所有PHP函数名称标准化为一致的命名约定; 在这种情况下PSR标准.任何人都可以指向一个合理完整的功能列表及其参数的正确方向吗?
我理解实现这将为脚本添加另一层执行,但它只是一个概念证明,看看如果函数名称和参数顺序是标准化的PHP将如何看待.
我想介绍一个可以在多个项目中共享的打字稿编码指南.我不想复制粘贴tslint.json多次,它已经发生了,我们已经发布了它的分歧版本.
我想以我的指南为基础tslint:recommended.我看到tslint语法允许extend,但我不清楚它的用法以及如何构造这样的包.
这样的项目可以仅仅是一个tslint.json本身,还是我需要导出一个模块?
我希望包然后在npm/sinopia实例上托管,但我不确定如何继续.
code-standards ×10
php ×3
.net ×2
architecture ×1
c# ×1
eclipse ×1
function ×1
laravel ×1
node.js ×1
nomenclature ×1
npm ×1
scala ×1
standards ×1
teamcity ×1
tslint ×1
typescript ×1
web-services ×1