摘要:
“艺术源于生活”——代码也源于生活,你在生活中的一些行为习惯,可能会恰如其分地体现在代码中。
当实现较为复杂的功能时,由于它包含一系列的逻辑,我们倾向于编写一个“大方法”来实现。
为了使项目便于维护,以及增强代码的可读性,我们有必要对“大方法”的逻辑进行整理,并提取出分散的“小方法”。
这就是本文要讲的两种重构策略:提取方法、提取方法对象。 阅读全文
摘要:
有些开发者在编写方法时,可能较少地去思考一个问题:方法放在这个class中是否合适?
他们可能会觉得:这个方法已经实现xxx功能了,放在哪个class都一样的,class不就是一个装方法的容器嘛。
我赞同class是一个装东西的容器,且不仅限于方法。
但是,容器是有区别的。本文要讲的“移动方法”可以让方法放进合适的class的一种重构策略。 阅读全文
摘要:
相信博客园的读者大多都是千万“码农”中的一员,每个人都写过很多代码,但并不是每一个人都能写出高质量的代码。
rome is not built in one day !——完成高质量的代码也不是一蹴而就的。为了写出高质量的代码,我们需要借助一些手段,“代码重构”基本上是最常用的手段,甚至是唯一的手段。
重构需要你花一些心思去琢磨自己的代码,这好比自己种的花花草草,看你怎么对待它们。你不给它们浇水、除虫、晒太阳,它们可能会长虫、生病。如果你用心地去对待它们,它们可能会枝繁叶茂,花开茂盛。但是,即使你已经很专心地去打理它们了,它们也不一定是“健康的”,毕竟每一种花草都有自己的习性,代码也是如此。 阅读全文
摘要:
选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写jQuery代码的效率。本文配合截图、代码和简单的概括对所有jQuery选择器进行了介绍,也列举出了一些需要注意和区分的地方。 阅读全文
摘要:
SQL脚本越写越多,总是觉得编写效率太过于低下,这和打字速度无关。在我个人编写SQL脚本时,至少会把SQL的格式排列成易于阅读的,因为其他人会阅读到你的SQL,无论是在程序中或是脚本文件中,良好的排版不仅让人看起来赏心悦目,在和他人之间做交流时也省时省力,不会因为揉成一团的sql去询问Team Member:您能帮我解释一下这么一大段sql是做什么的吗? 阅读全文
摘要:
windows 8虽然已经放出开发者预览版了,但毕竟正式版还未出来,预览版的稳定性还值得怀疑。
对于我们这种软件爱好者,一些新的东西当然想早点体验,但把自己现在的windows 7重装成windows 8又感觉花费成本太大。不过已经有人开发出了基于windwos 7的第三方主题,我们可以借由此来体验windows 8的Metro风格。当然windows 8的功能可并不仅仅是Metro。
OK,来和大家一起体验吧。 阅读全文
摘要:
本文用五幅图简单地介绍了ASP.NET的编译过程。源代码 语言编译器 MSIL (中间语言和元数据) JIT编译器 本地代码 阅读全文
摘要:
在页面中图片较多时,一次性加载所有图片会耗去很多时间。
我们可以选择“延迟加载”的方式来加载图片,相对这种页面的加载速度将会有个很大的提升。
图片延迟加载的原理很简单,依据用户正浏览的位置,当用户决定继续浏览文章中的其它内容时,用户会轻轻滑动滚动条,
到一个新的内容区域,图片延迟加载程序会选择在这个时候向用户展示图片。 阅读全文
摘要:
本文介绍了ASP.NET的双向静态化实现方式,双向静态化:①当用户请求.aspx后缀的画面时,自动跳转到对应的.html画面(站点中实际没有此html),但仍然执行.aspx画面对应的后台代码。②当用户请求.html(站点中实际没有此html)画面时,自动去查找对应的.aspx画面并执行其逻辑。整个站点里面的链接相对于用户都是以.html的形式存在的,但这些.html页面在站点程序中实际上是不存在的,其核心原理是通过路由将这些虚拟的.html和实际的.aspx页面映射起来。 阅读全文
摘要:
页面静态化最大的好处是利于SEO,即使是伪静态,搜索引擎也会觉得这是一个较为友好的Url。Url的友好也取决于其命名,为一篇描述古代文学的页面起名用ancient-literature.html当然比随便起的名字例如aa.html之流要友好。页面静态化并不代表你一定要用后缀名为.html或.htm的链接来显示你的页面,你完全可以不用任何后缀名(就像MVC一样),只要Url结构良好。 阅读全文