代码改变世界

轻松Web调试、扩展Reflector及更多内容

2008-06-05 14:29  Valens  阅读(353)  评论(0编辑  收藏  举报
客户端 Web 开发
      虽然 Visual Studio® 的设计时体验让为 Web 应用程序编写 HTML、CSS 和 JavaScript 得以真正简化,但还不完美。设计器相当准确地展示了页面在浏览器中的显示情况,但并不总是精确无误的,并且它无法支持动态添加 HTML 或 CSS。也不执行客户端脚本。因此,要想测试 Web 页面的外观和客户端脚本,需要在设计器和浏览器之间频繁切换。
      幸运的是,有工具可以直接在浏览器中检查和修改所呈现 Web 页面的标记、CSS 和脚本。Joe Hewitt 的Firebug 1.05 就是执行这类功能的一种工具。Firebug 是一种用于 Mozilla Firefox 浏览器的免费开源加载项,它会在选项卡式界面中显示页面的 HTML、CSS、JavaScript、图像以及 Flash 内容方面的相关信息。
      在 Firebug 中,由于页面的 HTML 元素显示在可搜索树视图中,所以不再需要视图/源代码。用鼠标单击树中的节点,会突出显示浏览器中相应的区域,选择节点可显示其 CSS 样式以及其文档对象模型 (DOM) 属性。Firebug 还会列出页面的 CSS 定义和 JavaScript。
      此外,还可在 Firebug 中编辑 HTML 和 CSS,效果在浏览器中立竿见影。通过单击鼠标,您可以添加或删除 HTML 元素、修改属性并创建、更新或禁用 CSS 定义。这些都是在浏览器内存中的修改—您仍然需要返回 Visual Studio 以便更永久地应用更改—但 Firebug 可提供及时反馈并可加快测试和调试布局以及 CSS 更改的速度。
      Firebug 在查找和修复脚本错误方面也非常有用。下拉列表枚举了页面使用的外部 JavaScript 文件,选择某个项目后可在功能强大的 JavaScript 调试器中显示其脚本。调试器支持断点,它包括监视窗口,并允许您逐步执行 JavaScript。简而言之,它是每个 Web 开发人员工具箱中不可或缺的工具。
价格: 免费、开源。
 
Firebug Displays HTML, CSS, JavaScript, Images, and Flash Information 

重要博客
      我最喜欢的博客作者之一是Scott Guthrie,Microsoft 开发事业部总经理。对于他的博客,我最喜欢的就是那些内容丰富精深的系列教程。Scott 已经针对数据驱动的网站、ASP.NET 模型视图控制器 (MVC) Framework 和 LINQ to SQL 编写了详细的教程。每个教程都包括分步说明和大量屏幕快照,从而使各个技能水平的开发人员都能照着轻松操作。关键细节一应俱全;您需要的所有信息均可在这里找到。
      Scott 还在他的博客中阐述了其他前瞻性的主题(如产品路线图)。他列出了 Visual Studio、Microsoft® ASP.NET AJAX Framework、数据使用、安全性、性能、LINQ、Silverlight® 以及其他技术的小技巧、小窍门和存在的问题。每月他都会与您分享一次他最喜欢的博客、文章和书籍。
      Scott 博客的另一个优点是他总是能积极响应读者评论。如果您在开发中使用了 Scott 参与创建的任意产品,请订阅这个博客。
价格: 免费。
 
Scott Guthrie Announces .NET Code Release  

扩展 Lutz Roeder 的 Reflector
      Reflector for .NET 5.0 (aisto.com/roeder/dotnet) 是一个面向 Microsoft .NET Framework 的免费类浏览器、分析器和反编译器,.NET Framework 1.0 一经问世,它便随之而来。Reflector 显示所有托管程序集的类型、方法、属性和事件。Reflector 不只是一个简单的类浏览器界面,它还可以分析其他方法和属性调用特殊类型、方法或属性的方式,以及与其他方法和属性之间的依赖关系。此外,Reflector 还可以将方法或属性反编译为相应的 C# 或 Visual Basic® 代码。
      Reflector 在检查和分析托管程序集方面具备强大的功能。作为反编译器,它可用于检查和检索其代码丢失的 .NET 程序集的源代码。它的分析器可以迅速找出方法与属性间的依赖关系。最重要的是,Reflector 设计为支持加载项,.NET 社区中的众多开发人员花时间创建和共享了 30 个功能强大的 Reflector 加载项(请查看 codeplex.com/reflectoraddins)。
      Code Metrics 加载项可计算选定程序集中的若干代码质量度量,简要介绍其他信息中最大、最常使用且最复杂的类型、方法及属性。Graph 加载项使用依赖图以可视方式呈现程序集的依赖关系,并可使用类关系图说明类型层次结构。Diff 加载项对比较两个版本程序集之间的差异非常有用。
      其他有用的加载项包括:FileDisassembler,它可将整个程序集的反编译源代码保存为 .vb 或 .cs 文件;SQL2005Browser,使用它可浏览存储在 SQL Server® 2005 数据库中的 .NET 程序集;以及 CodeSearch,它增强了 Reflector 在反编译代码中搜索字符串和正则表达式的能力。
价格: 免费。
Reflector 加载项:codeplex.com/reflectoraddins
Code Metrics Add-Ins in Reflector  

书架
      大多数讲授 SQL 的书籍内容枯燥乏味,将重点放在业务和帐目管理案例上。Lynn Beighley 撰写的《O'Reilly's Head First SQL》打破陈规,彻底改变了效果。该书讲述了一些熟悉的主题:SELECT、INSERT、UPDATE 和 DELETE 查询的基础;JOIN;子查询;数据标准化;数据和关系完整性等等。但它的独特表示寓教于乐,易于记忆。
      我是 O'Reilly's Head First 系列丛书的书迷,这些书籍的标题以极富视觉感染力的方式展示了各种技术。与典型的计算机书籍不同,Head First 的标题摒弃了在文字段落间交错排列屏幕快照的传统版式,而是使用图形、图表和代码段组合。更加有趣的叙述取代了大多数书籍中冗余的公司示例。例如,Head First SQL 没有使用原型员工数据库示例,而是采纳了 Greg 的理论,因为他将自己的纸张型匹配系统转换成了数据库驱动的系统。
      《Head First SQL》的亮点体现在它能够以化繁为简的方式讲解概念。JOIN 一章是至今我阅读过的最易懂、最易掌握的描述。子查询一章同样如此。
      Head First 丛书是学习新技术的极好途径,但它们通常并不包含可以在那些枯燥的计算机书籍中找到的深层信息。虽然大段的文字可能不及 Head First 丛书中生动有趣的版式富有吸引力,但掌握技术、解释特别复杂或深奥的主题往往还是需要更传统的方法。简言之,如果您或其他同事需要快速掌握 SQL 技能,推荐您学习 Head First SQL,但它所介绍的是入门知识,这一点您要清楚。
价格:44.99 美元。