最近,我通过Crockford的JSLint运行了一些我的JavaScript代码,它给出了以下错误:
第1行问题1:缺少"使用严格"声明.
做一些搜索,我意识到有些人会加入"use strict";他们的JavaScript代码.一旦我添加了语句,错误就会停止显示.不幸的是,谷歌没有透露这个字符串声明背后的历史.当然它必须与浏览器如何解释JavaScript有关,但我不知道效果会是什么.
那么它是"use strict";什么,它意味着什么,它是否仍然相关?
当前的任何浏览器都会响应"use strict";字符串还是将来使用?
我开始学习Scala,几乎在每个教程中我都看到一个build.sbt描述项目设置的文件.但现在我已经giter8从模板安装并创建了一个项目.并且从模板遗漏build.sbt文件生成项目,但它有build.scala(它似乎用于相同的目的,但它更灵活).
那么build.sbt和之间的区别是什么build.scala?
哪个更受欢迎,为什么?
我想查看.net框架中是否存在数月的官方枚举.
我觉得有一个,因为月份的使用有多常见,并且因为.net框架中还有其他这样的枚举.
例如,有一个星期几的枚举,System.DayOfWeek,包括星期一,星期二等.
我想知道一年中是否有一个月,即1月,2月等?
有人知道吗?
域驱动设计的一部分似乎没有太多细节,是您应该如何以及为什么要将域模型与界面隔离开来.我试图说服我的同事,这是一个很好的做法,但我似乎没有取得多大进展......
他们在演示文稿和界面层中随意使用域实体.当我向他们争辩说他们应该使用显示模型或DTO来将Domain层与接口层隔离时,他们反驳说他们在做类似的事情时看不到业务价值,因为现在你有一个UI对象要维护以及原始域对象.
所以我正在寻找一些可以用来支持它的具体原因.特别:
architecture design-patterns domain-driven-design data-transfer-objects presentation-layer
根据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) 在维基百科的命令查询分离定义中,有人说
更正式地说,方法只有在它们是引用透明的情况下才能返回值,因此没有副作用.
如果我发出命令,我该如何确定或报告该命令是否成功,因为通过此定义,该函数无法返回数据?
例如:
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绝对喜欢使用命令查询分离,但也有例外.弹出堆栈是修改状态的修饰符的一个很好的例子.梅耶正确地说你可以避免使用这种方法,但这是一个有用的习惯用法.所以我喜欢在我可以的时候遵循这个原则,但我准备打破它以获得我的流行音乐.
从他的观点来看,重构命令/查询分离几乎总是值得的,除了一些小的简单例外.
我试图弄清楚如何使用NHibernate配置与映射来更新表模式,而不是删除和重新创建它们.
目前我正在使用NHibernate.Tool.hbm2ddl.SchemaExport带有FluentNHibernate 的obj来为mysql数据库生成数据库模式.虽然我不能说这是一个很大的问题,但每当我调用SchemaExport.Execute数据库时,它都会删除所有表,然后重新创建它们.
如果我可以让它更新现有的表结构,尽可能保留数据,那会更酷.但我真的不想使用商业产品或代码生成器,因为我不喜欢一般的代码生成,而且我不需要这么多,我会考虑支付它.所以希望任何答案都会记住这些警告.
我读了你应该在定义JavaScript函数<head>的标签,但如何做的位置<script>(是否在<head>,<body>或任何其他标记)影响的JavaScript函数.
具体来说,它如何影响函数的范围以及从何处调用它?
我假设public或者private static目标必须减少内存使用量,因为内存中只有一个静态目标副本.
这似乎是因为一个方法是静态的,可能使该方法成为CLR编译器进一步优化的潜在点,超出了非静态函数的可能性.虽然只是一个脆弱的理论,所以我来问你们所有人.
做static public或private方法提供了超越减少内存使用量增加的任何性能优势?
(注意:我对那些谈论过早优化问题的回答不感兴趣.当然,这是我每天都遵循的合理建议,但这并不意味着有时不需要优化.(双重否定!).让我放纵我的好奇,至少)
c# ×3
javascript ×3
.net ×2
html ×2
architecture ×1
browser ×1
datetime ×1
enumeration ×1
function ×1
jslint ×1
json ×1
keyword ×1
nhibernate ×1
optimization ×1
orm ×1
performance ×1
sbt ×1
scala ×1
schema ×1
static ×1
syntax ×1
tags ×1
use-strict ×1
xhtml ×1