上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 现在有太多是文章讨论各种重构的技术,咱们就不谈了,我们就谈谈要怎么重构。 一谈到重构,大家大多认为是运用设计模式,来使你的代码看上去非常优雅。其实重构包括很多,一个变量名的修改、 代码格式的编排、分解一个大方法的等等都是属于重构的范畴。 我相信肯定有人和我一样,捧一本重构方面的书(《重构与模式》Joshua Kerievsky著,这本就不错),一劲的狂喊这样写代码太 漂亮;可是丢开书本,面对自己的代码一直寻找可以运用设计模式、需要重构的代码,最后发现一处可重构的都没。 写出优雅的代码,相信对于很多人来说一直是个瓶颈、很难去突破。不过突破后,你会发现你的世界变大了,犹如跳出井口的青蛙。 那我们到底才能写出那么优雅的代码呢。我们先说说,我们的重构误区吧。 误区: 1、从已有的代码寻找与书本中匹对一样或类似的场景。 2、在编写新代码时,脑子一直想着那几种模式,想去套用,一直想用上几个。 最终还是没什么好的消息,造成这样的原因是,你没真正的理解设计模式的运用场景、重构技术。 也许心里面会对自己说,这是项目比较小,没出现书本提到的那些场景。 其实重构你可以 阅读全文
posted @ 2010-11-30 01:41 chingho 阅读(3134) 评论(22) 推荐(3) 编辑
摘要: 随着Ajax的流行,现在的项目使用Ajax已经很普遍了,可以说是大量的使用Ajax了。由于存在大量的Ajax请求,变得难于管理。于是我们经常统一请求,唯一页面或者唯一的入口。于是便有以下类似的代码:示例:一、创建抽象类AjaxComm。二、Factory类,根据用户请求的Comm命令,创建相应的类,并执行相应的操作。三、实现相应的命令类。 # 优点与缺点# +合并创建逻辑和实例化/配置选项。 +将客户代码与创建逻辑解耦。 -如果可以直接实例化,会使设计复杂化。 阅读全文
posted @ 2010-09-05 11:15 chingho 阅读(2837) 评论(34) 推荐(3) 编辑
摘要: 当你学会用挑剔的眼光审视自己所写的代码时,将一段代码反复读上五六遍,每次都会找到新的问题。   重构,也就是对既有代码设计的改善,要求你首先知道什么样的代码需要改善。   最常见的设计问题都出自这样的代码:  1、重复代码。   2、代码过长。将一个厂方法分解为几个小方法,不但利于理解,而且能发现通常有很多方式能够使它们共享逻辑。   3、条件逻辑太复杂。 ……   *重复。   *不清晰。   *复杂。   这些大原则当然对发现代码中何处需要改进有帮助。但是,许多程序员会感到这个列表太过含糊;他们不知道如何认出外表上不同代码重复,把握什么样的代码表达不算清晰,更难辨别简单代码和复杂代码。   Fowler和Beck为我们列出了存在代码坏味的12种情况。 阅读全文
posted @ 2010-08-07 22:39 chingho 阅读(2762) 评论(17) 推荐(2) 编辑
摘要: 一个简单却富有生命力的故事——《谁动了我的奶酪》 一个连小学生都读得懂的小故事,但它却给我们留下了几个相当有意义、值得思考的问题。 阅读全文
posted @ 2010-08-01 02:35 chingho 阅读(1028) 评论(2) 推荐(1) 编辑
摘要: 昨天碰到一个很奇怪的事情,在最近的一个项目有这样的一个需求,把上传的图片进行压缩,避免因图片过大而影响浏览速度。 代码也很简单三两句就可以实现了,但发现压缩后的图片,虽然有变小,但还不是很明显。 本来是一张大约800*700的图片(80kb),压缩到120*110左右的图片,大小应该在10kb以内,但我却发现压缩后的图片却有45kb。 有个别的图片压缩后反而比原来的更大,而且用网页打开也无法显示。 阅读全文
posted @ 2010-06-28 21:47 chingho 阅读(6482) 评论(18) 推荐(4) 编辑
摘要: 再见了“刚毕业”! 阅读全文
posted @ 2010-04-06 21:55 chingho 阅读(565) 评论(5) 推荐(0) 编辑
摘要: 蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。) 算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。 阅读全文
posted @ 2010-03-26 20:42 chingho 阅读(2629) 评论(15) 推荐(0) 编辑
摘要: Ajax现在已经是相当流行的技术了,Ajax不仅是想服务器端发送消息,更重要的是无刷新的重载页面。 如果页面单纯的使用js来创建,要写大量的代码,而且不直观。 在asp.net中,其实我们可以创建用户自定义控件,通过Ajax请求返回用户自定义控件HTML 阅读全文
posted @ 2010-03-13 12:25 chingho 阅读(7078) 评论(9) 推荐(0) 编辑
摘要: 怎么使用javascript实现类的功能 经过前段时间,学习《ajax完全自学手册》后,才知道javascript原来还可以这么写。 学过java,c#,vb的都知道类的概念,而类具有继承、封装、多态等功能。而javascript它不是面向对象语言,它是解释性语言。 但我们同样可以使用javascript来实现继承、多态。 Java实现类,有多种方法。 方法一:构造方法。 function coder() { this.name = ”小王”; this.job = ”程序员”; this.coding = function () { alert(“我正在写代码”); } } Exam: var coder=new coder(); Alert(coder.name); Coder.coding(); 阅读全文
posted @ 2010-03-06 18:02 chingho 阅读(1762) 评论(10) 推荐(0) 编辑
摘要: 今天没事,测了一下insert into和insert into select的性能,没想到这两个性能差别这么大。使用insert into table(field, ...)values(value, ...),insert into table(field, ...)values(value, ...)...的情况使用insert into table(field, ...)select(va... 阅读全文
posted @ 2010-03-05 17:57 chingho 阅读(3990) 评论(2) 推荐(1) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页
点击右上角即可分享
微信分享提示