问题标签 [code-standards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP - if 条件下的“多于零”
通常在 php 中我会看到类似的代码行
或者
但对我来说,更多信息是风格
或者
哪个做同样的检查。哪个选项更正确?这不是问题,而只是代码风格的问题。对于这样的条件,可能存在一些标准(如 PSR-2)。
swift - 在 Swift 中的类之外声明私有常量
在 Swift 中创建私有常量时,可以在类中声明它们,
以及课外。
当在类之外时,范围是在其中创建常量的文件。使用一种方法与另一种方法是否有任何其他区别,是否有人对最佳实践有意见?
php - php codesniffer 什么都不返回……我的代码是标准的吗?
我有一个 laravel 应用程序(使用 composer 创建),我试图确保它符合 PHP 编码标准(级别 PSR-1)。我跑:
在几秒钟内,它返回一个新的、空的、准备就绪的命令行:
这是否意味着我的代码符合 PSR-1 中的所有要求和标准?它只做同样的事情:
我只是想确保如果命令什么都不返回,这意味着我的代码是标准的。谢谢!
javascript - 提取 ReactDOM.render() 调用到单独的文件
背景
我的 React 应用目前由 3 个顶级组件组成;一个标题、一个解释段落和应用程序本身,包装了一堆子组件。最后一部分很好,每个子组件都被提取到自己的文件中并导入。
现在,在我的主 JavaScript 文件中,我有这三个组件,然后在底部,我ReactDOM.render(...)
对它们中的每一个都有一个调用,这似乎有点不整洁,尤其是如果以后应该添加更多组件的话。
问题
根据今天的标准,是否应该将这些提取到他们自己的文件中,如果是这样,最好的(或至少是好的)方法是什么?
java - 模块之间的实体和DTO通信
我想知道最佳实践。以下事情令人困惑:1)应该model
使用返回实体还是直接返回DTO select new ExampleDto(...)
?2)我们应该如何将实体转换为 DTO,反之亦然?3)我们可以使用 DTO 进行实体到 DTO 的转换,实现serializable
类来转换对象json
等吗?
请在您想要的任何方向上提供您的专家意见。
oop - 反模式的名称是什么!string.IsnullOrEmpty(Employee.Name), (Decapsulation ?)
我经常遇到代码,应该在业务对象中的逻辑在任何地方都重复,如下所示:
它应该是这样的:
并且Employee.IsNameSpecified
具有指定值的逻辑。
这只是一个例子,我想到了许多其他与 OOP 相反的例子,过程代码用于对业务对象做出逻辑决策。
当 Logic 被封装在 BusinessObject 中时,这只是正常的 OOP 实践(或有不同名称的 doeas?),相反的名称是什么?解封装?
typescript - 如何创建我的自定义 tslint 规则集?
我想介绍一个可以跨多个项目共享的打字稿编码指南。我不想tslint.json
多次复制粘贴,它目前已经发生,我们有不同的版本。
我想将我的指导方针建立在tslint:recommended
. 而且我看到 tslint 语法允许extend
,但我不清楚它的用法以及如何构建这样的包。
这样的项目可以仅包含一个tslint.json
本身还是我需要导出一个模块?
我希望将包托管在 npm/sinopia 实例上,但不确定如何继续。
java - Sonarqube 在计算新的错误/漏洞/泄漏时不遵守 git 提交日期
我最近融入sonarqube
了我们的发布过程。我已将泄漏期设置为整合日期,并在quality gate
定义中规定自泄漏期开始以来应该有零个新问题。
问题是每当文件发生更改时,sonarqube 就会开始将所有以前的问题视为新问题。这对于大文件尤其成问题,因为对文件进行任何更改的人需要回顾性地进行所有更正。我想要 sonarqube 做的是从责任信息中兑现提交日期,并new
通过将提交日期与泄漏期进行比较来定义。
如何使这成为可能?我在用sonarqube 6.0
typescript - 如何在 WebStorm / PhpStorm 中自动按字母顺序对 TypeScript 文件的导入进行排序?
我使用带有默认配置的 tslint,tslint:recommended
我希望尽可能少地调整规则。
某些规则强制进口应按字母顺序排列:
我不想自己按字母顺序对导入进行排序。在我禁用 linting 之前:WebStorm / PhpStorm 可以为我做这件事吗?