小编Mar*_*ers的帖子

JavaScript中使用"严格"做什么,背后的原因是什么?

最近,我通过Crockford的JSLint运行了一些我的JavaScript代码,它给出了以下错误:

第1行问题1:缺少"使用严格"声明.

做一些搜索,我意识到有些人会加入"use strict";他们的JavaScript代码.一旦我添加了语句,错误就会停止显示.不幸的是,谷歌没有透露这个字符串声明背后的历史.当然它必须与浏览器如何解释JavaScript有关,但我不知道效果会是什么.

那么它是"use strict";什么,它意味着什么,它是否仍然相关?

当前的任何浏览器都会响应"use strict";字符串还是将来使用?

javascript syntax jslint use-strict

7339
推荐指数
29
解决办法
105万
查看次数

build.sbt和build.scala有什么区别?

我开始学习Scala,几乎在每个教程中我都看到一个build.sbt描述项目设置的文件.但现在我已经giter8从模板安装并创建了一个项目.并且从模板遗漏build.sbt文件生成项目,但它有build.scala(它似乎用于相同的目的,但它更灵活).

那么build.sbt和之间的区别是什么build.scala
哪个更受欢迎,为什么?

scala sbt

107
推荐指数
3
解决办法
2万
查看次数

.NET库中是否有针对Month的预定义枚举?

我想查看.net框架中是否存在数月的官方枚举.

我觉得有一个,因为月份的使用有多常见,并且因为.net框架中还有其他这样的枚举.

例如,有一个星期几的枚举,System.DayOfWeek,包括星期一,星期二等.

我想知道一年中是否有一个月,即1月,2月等?

有人知道吗?

.net c# datetime enumeration

95
推荐指数
6
解决办法
5万
查看次数

为什么要将我的域实体与表示层隔离?

域驱动设计的一部分似乎没有太多细节,是您应该如何以及为什么要将域模型与界面隔离开来.我试图说服我的同事,这是一个很好的做法,但我似乎没有取得多大进展......

他们在演示文稿和界面层中随意使用域实体.当我向他们争辩说他们应该使用显示模型或DTO来将Domain层与接口层隔离时,他们反驳说他们在做类似的事情时看不到业务价值,因为现在你有一个UI对象要维护以及原始域对象.

所以我正在寻找一些可以用来支持它的具体原因.特别:

  1. 我们为什么不在表示层中使用域对象?
    (如果答案是明显的,'脱钩',那么请解释为什么这在这方面很重要)
  2. 我们应该使用其他对象或构造来将我们的域对象与接口隔离吗?

architecture design-patterns domain-driven-design data-transfer-objects presentation-layer

83
推荐指数
5
解决办法
1万
查看次数

是否有任何实际的理由为JSON密钥使用带引号的字符串?

根据Crockford的json.org,JSON 对象成员组成,成员成对组成.

每对由字符串值组成,字符串定义为:

字符串是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义.字符表示为单个字符串.字符串非常类似于C或Java字符串.

但实际上大多数程序员甚至不知道JSON键应该用双引号括起来,因为大多数浏览器不需要使用双引号.

用双引号打扰你的JSON是否有意义?

有效示例:

{
  "keyName" : 34
}
Run Code Online (Sandbox Code Playgroud)

与无效相反:

{
   keyName : 34
}
Run Code Online (Sandbox Code Playgroud)

javascript browser json double-quotes

82
推荐指数
2
解决办法
2万
查看次数

当命令需要结果数据时,如何应用命令查询分离(CQS)?

在维基百科的命令查询分离定义中,有人说

更正式地说,方法只有在它们是引用透明的情况下才能返回值,因此没有副作用.

如果我发出命令,我该如何确定或报告该命令是否成功,因为通过此定义,该函数无法返回数据?

例如:

string result = _storeService.PurchaseItem(buyer, item);
Run Code Online (Sandbox Code Playgroud)

此调用中包含命令和查询,但查询部分是命令的结果.我想我可以使用命令模式重构这个,如下所示:

PurchaseOrder order = CreateNewOrder(buyer, item);
_storeService.PerformPurchase(order);
string result = order.Result;
Run Code Online (Sandbox Code Playgroud)

但这似乎增加了代码的大小和复杂性,这对于重构来说并不是一个非常积极的方向.

当您需要操作结果时,有人能给我一个更好的方法来实现命令查询分离吗?

我在这里错过了什么吗?

谢谢!

注意:Martin Fowler对此有关cqs CommandQuerySeparation的限制:

Meyer绝对喜欢使用命令查询分离,但也有例外.弹出堆栈是修改状态的修饰符的一个很好的例子.梅耶正确地说你可以避免使用这种方法,但这是一个有用的习惯用法.所以我喜欢在我可以的时候遵循这个原则,但我准备打破它以获得我的流行音乐.

从他的观点来看,重构命令/查询分离几乎总是值得的,除了一些小的简单例外.

c# command-query-separation

62
推荐指数
3
解决办法
2万
查看次数

如何使用NHibernate模式生成更新数据库表模式?

我试图弄清楚如何使用NHibernate配置与映射来更新表模式,而不是删除和重新创建它们.

目前我正在使用NHibernate.Tool.hbm2ddl.SchemaExport带有FluentNHibernate 的obj来为mysql数据库生成数据库模式.虽然我不能说这是一个很大的问题,但每当我调用SchemaExport.Execute数据库时,它都会删除所有表,然后重新创建它们.

如果我可以让它更新现有的表结构,尽可能保留数据,那会更酷.但我真的不想使用商业产品或代码生成器,因为我不喜欢一般的代码生成,而且我不需要这么多,我会考虑支付它.所以希望任何答案都会记住这些警告.

.net nhibernate orm schema fluent-nhibernate

54
推荐指数
1
解决办法
3万
查看次数

页面中脚本标记的位置如何影响其中定义的JavaScript函数?

我读了你应该在定义JavaScript函数<head>的标签,但如何做的位置<script>(是否在<head>,<body>或任何其他标记)影响的JavaScript函数.

具体来说,它如何影响函数的范围以及从何处调用它?

html javascript tags function

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

除了减少内存使用外,C#静态函数的性能是否优于非静态函数?

我假设public或者private static目标必须减少内存使用量,因为内存中只有一个静态目标副本.

这似乎是因为一个方法是静态的,可能使该方法成为CLR编译器进一步优化的潜在点,超出了非静态函数的可能性.虽然只是一个脆弱的理论,所以我来问你们所有人.

static publicprivate方法提供了超越减少内存使用量增加的任何性能优势?

(注意:我对那些谈论过早优化问题的回答不感兴趣.当然,这是我每天都遵循的合理建议,但这并不意味着有时不需要优化.(双重否定!).让我放纵我的好奇,至少)

c# optimization performance static keyword

42
推荐指数
3
解决办法
1万
查看次数

<span>标签可以包含任何类型的标签吗?

被标记,如<div>,<form>,<pre>等等.允许内<span>

html xhtml

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