找到相关内容 41
步步为营 .NET 代码重构学习笔记 三、临时变量(Temporary Variable)
Split Temporary Variable(剖解临时变量) 概述 程序中有某个临时变量被赋值超过一次,它既不是循环变量,也不是一个集用临时变量(collecting temporary variable) 动机(Motivation) 临时变量有各种不同用途,其中某些用途会很自然地导至临时变量被多次赋值.(循环变量)和(集用临时变量)就是两个典型例子:循环变量(loop variab
http://cyqdata.cn/cnblogs/article-detail-37535 
步步为营 .NET 代码重构学习笔记 二、提炼方法(Extract Method)
动机(Motivation) Extract Method是我们最常用的重构手法之一.当我们看见一个过长的函数或一段需要注释才能让人理解用途的代码,我们就会将这段代码放进一个独立函数中. 有数个原因造成我们喜欢简短而有良好命名的函数.首先,如果每个函数的粒度都很小(finely grained),那么函数之间彼此复用的机会就更大;其次,这会使高层函数代码读起来就像一系列注释;再者,如果函数都是
http://cyqdata.cn/cnblogs/article-detail-37420 
步步为营 .NET 代码重构学习笔记 一、为何要代码重构
   最近在学习代码重构,根据自己的学习进度写一个关于代码重构的系列出来,供自己总结提高,也希望能对他人有所帮助。园子里有圣殿骑士的31 天重构学习笔记 给了我很多的启发,自己也在学习《Refactoring improving the Designe of Existing Code》(重构 改善既有代码的设计),希望在代码重构思想上能有自己的心得. 一、为什么要重构(Re
http://cyqdata.cn/cnblogs/article-detail-37248 
AgileEAS.NET 4.0 重构裁剪后的程序集说明
     前几天在文章AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口简单的介绍了一下AgileEAS.NET平台在2011年初的一些重大改进措施,其中涉及对原有程序集的合作与裁剪处理,将原有的近70个程序集合并或裁剪到现在的32个程序集,本文将详细的给大家介绍这30多个程序集的功能。  
http://cyqdata.cn/cnblogs/article-detail-37123 
AgileEAS.NET 4.0重构裁剪,新的ORM、支持Linq,正式支持WPF,开放更多的接口
        很久没有和大家交流了,今天出来给大家汇报一下AgileEAS.NET平台的最新进展:          AgileEAS.NET是一套企业级的快速开发平台或者说是中间件,主要服务于中小软件企业,以提高软件企业的有效生产率为主要目标,
http://cyqdata.cn/cnblogs/article-detail-36971 
重构你的软件企业
这里说说自己对一个软件企业的构建和管理的感想,不全面,因为我就一程序员,只能站在普通员工的角度考虑问题,也是站在中国广大小公司的立场思考的,文章标题取的比较大,为了吸引更多人来拍砖。管理上的细节我也不懂,主要就是让每个人都开心,互利互赢,让公司有发展的潜力。 组织结构的搭配   以下角色必不可少。     项目经理:负责软件的业务流程、团队管理、项目计划和进度、文档、内部和
http://cyqdata.cn/cnblogs/article-detail-36861 
代码重构-利用“函数重载”实现“默认参数”
引言: 在函数调用的时候,我们往往希望函数能够“聪明”一点,能够明白调用者的心思,看下面的例子。   示例一(默认实现) /// <summary> /// 获取日志集合 /// </summary> /// <param name="where">筛选条件<
http://cyqdata.cn/cnblogs/article-detail-36499 
代码重构-利用“反射机制”消除条件语句
1. 代码中时常出现条件语句分支,这样的代码很不利于扩展。例如下面代码片段: if (context.Request["action"] != null) { string action = context.Request["action"]; switch (action) {
http://cyqdata.cn/cnblogs/article-detail-36382 
AgileEAS.NET平台开发实例-药店系统-UI层重构技巧及其他
开篇         上篇我们讲述了UI层的分析,那么本篇我们就讲述下我们在做CS应用程序的过程中的一些技巧性的东西,可能我这里总结的只是我再开发本药店系统中应用的到的一些小 技巧,并不代表全部,肯定还有很多的其他方面的技巧,大家都可以分享一下,我这里提出额也谈不上技巧,更多的是使用设计模式方面的总结吧。  &nbs
http://cyqdata.cn/cnblogs/article-detail-35954 
C# 谈谈代码重构
代码重构 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高 软件的扩展性和维护性。  一、为什么要重构(Refactoring)  1、·持续偏纠和改进软件设计。 2、·使代码更易为人所理解。 3、·帮助发现隐藏的代码缺陷。 4、·从长远来
http://cyqdata.cn/cnblogs/article-detail-32712 
数据库重构《Refactoring DataBase Evolutionary DataBase Design》介绍
说实话我也是前两周才知道有数据库重构这回事,当时听说这个概念的时候,唯一的反应就是:数据库居然也能重构?刚好上周去图书馆借书,看见了《数据库重构》这本书,就借回来看了几章。下面会结合自己的体会介绍一些这本书的一些观点。 数据库重构概念 数据库重构是对数据库Schema进行的简单改动,在保持行为和信息语义的前提下改进设计。 数据库重构可以重构数据库Schema的结构:比如表、视图的定义、修改; 重构
http://cyqdata.cn/cnblogs/article-detail-32650 
视频:.NET程序反编译与源代码重构生成新的应用程序
.NET程序反编译与源代码重构生成新的应用程序1、编写一个事例程序。(c#)2、用Reflector.exe对这个事例程序进行反编译,找到关键的程序代码。这只是对没有加壳的程序。   也就是对Write1()进行解密,或是增加其他操作3、用DotNetHelper.exe把程序集编译成IL代码。ConsoleApplication1.il这就是反编译的IL代码。4、编写需要加入
http://cyqdata.cn/cnblogs/article-detail-32569 
重构日期选择级联组件
这是一个很常见的日期选择级联组件,先看下效果: View Code <div> <p> <input type="text" id="birthday" name="birthday" value="2008/2/29" /> </p></div><script src="http://files.c
http://cyqdata.cn/cnblogs/article-detail-28729 
使用“管道”与“应用程序生命周期”重构:可插拔模块
    本篇博客依然用于总结工作中遇到的较有用的设计模式。     入正题。   历史代码     我目前开发的系统中,要实现以模块的方式进行动态扩展。这些模块是以独立程序集的方式嵌入到系统中。原系统中,使用了一个简单的接口 IModule 来实现模块的初始化:public interface
http://cyqdata.cn/cnblogs/article-detail-25416 
重构之痛
重构,是编写代码必须要面对的一项操作,同时也应该是程序员乐于实践的一项内容。不论是逻辑实现还是设计过程,乃至整个分层结构,我们都可能面临并且实施重构。这篇文章不会告诉您什么是重构,如何去优美的重构等等的理论,只想和大家分享一些感受,并且探讨一些问题。最近的两周,我一直对我们团队的一个子业务框架做重构的工作,很多地方让我感到很痛苦,于是便有了这篇文章。 牵一发而动全身的根源在哪里 当我打开解决方案,
http://cyqdata.cn/cnblogs/article-detail-21014 
Asp.net Mvc2中重构View的三种方式
    我们在Asp.net mvc的view开发过程中,如果不注意可能会写大量的重复的代码。这篇文章介绍3种方式重构View的代码,来减少View中的重复代码。    1、母板页     在Asp.net mvc中保留了母板页的使用,我们可以使用母板页对我们的站点进行布局。看下面母板页的代码: <%@ M
http://cyqdata.cn/cnblogs/article-detail-12395 
设计模式学习(六):重构与模式,推荐书籍(完)
备注: 1.        模式常常组合使用,共同解决问题。 2.        模式是特定场景下优雅的解决方案,因此场景很关键。在软件设计中,特定的场景可能是显而易见的,可能是隐而不现的,有时甚至是设计者有意创造的。因此使用模式时,对问题的分析至关重要。 3.        模式的使用是有先后之分的。 4.        DP书中所给的结构图仅仅是模式可能的实现方式之一,但不是唯一。实现一个模式往往有多种途径。 5.     
http://cyqdata.cn/cnblogs/article-detail-365 
OEA中AutoUI重构-新的Command生成设计
    OEA框架的核心之一是AutoUI,其职责是面向领域模型及UI元模型进行生成统一的界面。     在本次的迭代开发中,需要对命令按钮的生成方式进行一些定制。由于原来并没有为这样的需求留有特别的扩展点,加之原来的生成代码是过程式的代码、且也变得比较冗长,所以我们决定对这一部分的代码进行重构。 原来的模式     历史代码中,为某一实体类生成命令按钮的流程是这样的: 找到实体类可用的所有命令按钮元数据。 对它们进行过滤,依靠权限、版本的客户化元信息等。 构造几个生成控件的List容器,分别是:itemsInToolbar,itemsInContextMenu,itemsInGroup。 遍历所有的命令按钮,根据其对应的元数据,分别生成相应的控件(按钮、菜单等),然后添加到容器中。其中,还有
http://cyqdata.cn/cnblogs/article-detail-293 
利用多态重构为带参方法
重构之美》之二 我在阅读遗留代码时,经常发现存在这样一种情形。在一个类中存在两个方法,它们做了相似的工作,区别仅在于方法内部某些对象的类型。例如: public class WorkSheet{     private void fillHeader() {         Header header = createHeader();         for (String title:header.getTitles()) {             fillCel
http://cyqdata.cn/cnblogs/article-detail-160 
重构之美》-开篇
关于代码的重构,已经是老调常弹。自Martin Fowler《重构》一书横空出世,到如今已有十年光景,对于重构,许多程序员已经耳熟能详。然而,每当我们面对项目压力时,常常会将重构置之脑后,抛到九霄云外。理由足够充分,言之凿凿:功能还未完成,何谈重构?究其原因,是因为我们还未将重构当做习惯。即便现在的许多IDE已经支持自动完成常见的重构手法,我们仍然会忘记,仍然会忽略。只因重构不能直接产生价值,只因我们还没有看清重构之美。 本专栏试图重新擎起重构的大旗,为改善既有代码的设计,使重构深入人心,来一次“歇斯底里”的鼓吹与呐喊。重构并非微不足道的小事,若人人皆能学会运用重构之利器,或许,开发人员的生存环境就会变得美好。美的代码,美的结构,美的设计,总是那样的赏心悦目。我们向往美好的环境,这是天性使然;那么,为何我们不能营造美好的代码环境? 如何呈现重构之美?关键在于发现丑陋而不堪忍受。对丑
http://cyqdata.cn/cnblogs/article-detail-132