最新文章列表

JavaScript重构(十):强化对象封装和模块封装

1、类本身就是一种封装形式,先来看看最简单的封装,JavaScript中没有private关键字,对于私有成员,不如我们统一一个以下划线开头的命名来标识: var User = function(name){ this._name = name; this.getName = function(){ return _name; }; };     2、不过,上面的办法还不 ...
RayChase 评论(0) 有3680人浏览 2011-09-19 22:44

实践中的重构31_结果类两种实现的比较

在查询接口结果类设计中,有这么一种思路,即把查询的真实结果和结果码组合起来,形成一个结果类,当调用方使用该接口时,先判断结果是否是成功 ...
zhang_xzhi_xjtu 评论(0) 有1093人浏览 2011-09-13 19:58

重构一书

  重构一书.
greatjone 评论(0) 有794人浏览 2011-08-30 07:49

JavaScript重构(九):自定义的JavaScript产品框架

产品做到一定程度,JavaScript不仅仅需要几个层面上的重构,而需要将这些合理的、零散的重构集成起来、系统化,最终形成一套适合自己产品的前端框 ...
RayChase 评论(0) 有2294人浏览 2011-08-14 18:14

好的软件人员一生必看的六十本书

一、 科学哲学和管理哲学 【1】 “程序开发心理学”(The Psychology of Computer Programming : Silver Anniversary Edition) 【2】 “系统化思维导论”(An Introduction to Systems Thinking, Silver Anniversary Edition) 【3】 “系统设计的一般原理”( General P ...
selvemen 评论(0) 有1235人浏览 2011-08-05 13:52

使用工厂方法mock测试方法体内中new出来的对象

本文假设读者已了解mock的基本定义,基础使用场景。本文的mock框架采用jmock 1、mock经典测试场景 class ToTest { private Member m; public void test(Varible v){ m.call(); v.call(); } } 通过mock出一个m和v, ...
StrongZhu 评论(0) 有3835人浏览 2011-07-22 10:29

JavaScript重构(汇总帖)

前一阵集中一段时间做了JavaScript的重构,留下了一点点脚印,在这里汇总一下。如果您对这一专题感兴趣,或者希望补充一些内容,欢迎留言,我会在后续更新进去。谢谢。   JavaScript重构(一):模块划分和命名空间 模块划分是JavaScript重构的原则之一,也是代码可维护性提升的一条重要途径。   JavaScript重构(二):JS的动态加载 很多JS framework都 ...
RayChase 评论(0) 有3323人浏览 2011-05-15 21:28

JavaScript重构(八):JSDoc和JSLint

JSDoc可以生成类似于JavaDoc一样的API文档,这对于前端开发是必不可少的。 下载jsdoc-tookit(http://code.google.com/p/jsdoc-toolkit/)和jsdoc-tookit-ant-task(http://code.google.com/p/jsdoc-toolkit-ant-task/),CSDN的转义功能有问题,所以把尖括号都换成了书名号: ...
RayChase 评论(0) 有2600人浏览 2011-04-30 20:29

JavaScript重构(七):重用老代码

在Java中,有这样一段老代码: class Round{ public void drawRound(); //画圆 }   现在新代码希望能和它共存,使用一个Person的对象来控制,只不过,可 ...
RayChase 评论(0) 有2096人浏览 2011-04-22 23:51

JavaScript重构(六):利用继承来做事

终于要说到JavaScript的继承了,原型链继承是最常用的一种方式: function Video(){}; function Movie(){}; Movie.prototype = new Video(); Movie.prototype.constructor = Movie; //不要丢失构造器   啰嗦一句,如果我拿到的是方法的实例,一样可以做继承: func ...
RayChase 评论(0) 有2407人浏览 2011-04-18 22:25

JavaScript重构(五):利用原型和闭包,完成组件方法

var Player = (function(){ Player = function(){ //这只是个空壳 throw new Error("Can not instantiate a Player object."); }; Player.MIN_EXTENDED_TIME = 1; Player.MAX_EXTENDED_TIME = 3; ...
RayChase 评论(2) 有2781人浏览 2011-04-16 17:53

JavaScript重构(四):JavaScript编码规则

没有规矩,不成方圆,JavaScript带来了灵活性,也带来了不受控的变量和访问,所以要用规则限制它。一支成熟的团队,还是一支新鲜的团队,规则应当是不一样的,我只是列出一些常见的或者有效的办法,来约束跳跃的开发人员,思维可以任意飞跃,代码却要持续受控。当然,任何规则都是建立在一定的认知基础之上的,面向对象JavaScript的基础是必备的,否则一切无从谈起。   变量和方法控制: 模块开发不允 ...
RayChase 评论(5) 有2711人浏览 2011-04-13 00:12

JavaScript重构(三):JavaScript的测试

进行JavaScript重构时,我希望引入易于使用的测试框架来保证重构的顺利进行,未来能持续通过测试代码对JavaScript逻辑的正确性做保障。 JsUnit (http://sourceforge.net/projects/jsunit/,http://www.jsunit.net/) JsUnit是一个独立的JavaScript单元测试框架,和JUnit差不多,没有上手难度,包括传统的se ...
RayChase 评论(0) 有2333人浏览 2011-04-12 00:30

JavaScript重构(二):JS的动态加载

前一节留下了一个问题,如果JS分门别类也清晰了,那我现在需要在必要的情况下才加载某一模块的JS,这个怎么实现呢?   方法一,最简单也是最容易被接受的方法,通过后台代码来控制,还是少些复杂的JS吧,通过一个标签、一个分支判断,就可以做到,何乐而不为呢?   方法二,如果要使用纯JS来控制,那么看看这样如何: $.ajax(){ url:"xxx/play.js" ...
RayChase 评论(0) 有3375人浏览 2011-04-10 22:54

JavaScript重构(一):模块划分和命名空间

通常我们的团队中,开发人员在Java语言层面具备相当的技术素养,经验丰富,而且有许多成熟的、合理的规约,类型繁多的代码隐患检查工具,甚至在团队间还有计划内的评审和飞检。但是前端的代码不似后台,就像一个没人疼的孩子,不仅仅容易被低估、被轻视,导致质量低劣、可维护性差,技能上,更缺少优秀的前端开发人员。 JavaScript是前台代码中重要组成部分,随着版本的延续,产品越做越大,JavaScript层 ...
RayChase 评论(2) 有4169人浏览 2011-04-10 22:20

元式重构法

一,去掉重复 抽象 提炼相同 二,去掉判断 映射 统一,保持一致 三,去掉直接 自信息 提炼差异
suifeng 评论(0) 有878人浏览 2009-04-02 23:55

实战多系统通用功能抽取的设计思路

1.产品按指定的顺序显示。 业务逻辑大致如下,当前产品推出了多个套餐。套餐ID是从别人的接口中获取的,返回的是无顺序的。但是不排序的话,JSP页面上显示会很乱,这样有了对套餐排序的需求。 原来是在程序中定义了一个数组,以数组中套餐ID的顺序来排序,初步实现了套餐排序的功能。由于新套餐的推出较频繁,这样每次增加新套餐,数组就得做相应地改动,也就是每次都需要修改程序,生产系统的server也要重新启 ...
charles751 评论(1) 有1172人浏览 2008-07-09 14:14

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics