我想了解如何在.NET中构建解析器来处理源文件.例如,也许我可以从学习如何解析SQL或HTML或CSS开始,然后对结果进行操作,以便能够将它们格式化以便于阅读或类似.
我在哪里可以学习如何做到这一点?我可以参考哪些特定书籍吗?我需要了解词法分析器/解析器吗?
特别适用于.NET平台,因为我对C#很满意.
我经常发现自己在阅读书籍和文章,概述模式,最佳实践以及如何编写"干净的代码".然而,这些概念中的一些似乎过于设计并且有时模糊了底层问题的本质,使得代码更难以与被建模的问题域相关联.
你经常发现自己重构一段能够支持"模式"的代码吗?您是否遇到过"模式"实际上使代码复杂化或模糊其含义的情况?在看到一个问题的解决方案后,我用一个简单的类使用lambdas和闭包重写了解决了这种方式.
我很挣扎,我很好奇其他人如何找到合适的平衡点.
我正在使用Windows 8 RTM x64上的Visual Studio 2012 Premium开发ASP.NET MVC 4站点.当我右键单击Web应用程序并选择"发布"时,Visual Studio 2012将返回以下消息:
"无法打开'http://.../'的网址.例外:类未注册"
发布过程似乎正常工作但无法启动浏览器.每次我尝试发布网站时都会发生这种情况,而Chrome(21.0.1180.79 m)或Firefox(14.0.1)则会发生这种情况.
此外,由于网站没有发布后发布,我使用Ctrl-F5手动执行.我能够正常浏览网站,但如果我右键单击任务栏上的浏览器图标以启动另一个浏览器实例,则没有任何反应.关闭所有浏览器实例后,浏览器任务栏图标将恢复其正常行为.
我不确定这两个问题是否相关,但这里的共同主题是从Visual Studio 2012启动浏览器会导致意外的副作用.浏览器无法在发布时启动或使用Ctrl-F5启动,但使用任务栏图标呈现启动另一个实例无用.
任何帮助表示赞赏.
编辑:我已经重新安装了整个软件堆栈(Windows 8,Office 2010,Visual Studio 2012,Windows Update,Chrome,Firefox).除非我将Internet Explorer设置为默认浏览器,否则上述问题仍会继续.
谢谢.
在以下代码段中:
<form>
<fieldset>
<button id="indexGetStarted" class="button" type="submit">Get Started!</button>
</fieldset>
</form>
<script type="text/javascript">
$(document).ready(function() {
$('#indexGetStarted').click(function() {
$('form').submit();
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
有$(document).ready(function() { ... }必要吗?