软件基本功:重构工作的考虑及执行
手头工作非常之多。按照重要性的排序,吾决定着手重构WP。WP代码量非常之多(未统计,怎么也超过10万行),工作思路吾很清楚,如何进行具体操作,却不是几句话能解决的。于是吾就考虑,如何下手?有以下要考虑的地方:
- 准备工作
这一阶段的修改,是为了后续重构,所以不能影响功能。即使原来功能是错的,也要继续错。除非要求解决。
- 桥接
既然是重构,肯定是要重写代码。重写自然就会产生问题。这个时候需要走桥接。即建立一个执行分叉,日常修改测试在新路径进行,正常版本还是走老路子。直到新路径功能已完成,再删除老路子。
- 着手点
其实这个应该是最难的。代码量多,就表示切入点多。吾考虑了很多切入点,最后确定了两个。准备动手时发现还是不对。不得不改变切入点。
如何选择切入点?有主观有客观。最终还是看?如何能最快最好的实现重构目标?
软件基本功:重构工作的考虑及执行相关推荐
- 通过网线和EasyFatAP软件切换AP工作模式(瘦版切换胖版)
使用网线通过EasyFatAP软件切换AP工作模式[V2R5至V2R10版本] 适用于:支持FIT和FAT两种工作模式的AP:FIT与FAT模式相互切换,以及FAT模式的升/降级:V200R005至V ...
- 软件工程师的工作总结
[ 软件工程师的工作总结] 1.分享第一条经验:"学历代表过去.能力代表现在.学习力代表未来, 软件工程师的工作总结 ."其实这是一个来自国外教育领域的一个研究结果.相信 工作过几 ...
- 软件开发工程师工作总结
1. 分享第一条经验:"学历代表过去.能力代表现在.学习力代表未来."其实这是一个来自国外 教育领域的一个研究结果.相信工作过几年.十几年的朋友对这个道理有些体会吧.但我相信这一点 ...
- 苹果带计算机记录工作和备忘录一样的软件,苹果手机上有哪些好用的工作计划软件?写工作计划用什么便签软件好...
原标题:苹果手机上有哪些好用的工作计划软件?写工作计划用什么便签软件好 随着移动互联网的发展,现在手机的功能是越来越完善,而且和人们的关系也是越来越密切.这不,现代人不管走到哪儿,基本上都是随身带着手 ...
- 软件经理日常工作检查表
作为项目的软件经理,除了可能会承担一部分开发任务外,还需要对软件开发人员的工作的跟踪和检查.本文将软件经理的工作分为每天必须做的.每周必须做的.里程碑要做的和事件驱动的事情,文中列出的也并非是工作的全 ...
- Linux学习笔记39——任务调度:什么是例行性工作调度、仅执行一次的工作调度、循环执行的例行性工作调度、可唤醒停机期间的工作任务
一.什么是例行性工作调度 1,Linux 工作调度的种类: at, cron 2,CentOS Linux 系统上常见的例行性工作 二,仅执行一次的工作调度 1,atd 的启动与 at 运行的方式 a ...
- 由学习《软件设计重构》所想到的代码review(二)
前言 对于一个程序员来讲如何来最直接的来衡量他的技术能力和产出呢?我想最直观的作法是看他的代码编写能力,就拿我经常接触的一些程序员来看,他们买了很多技术重构类书籍,但是看完后代码编写能力并没有显著提高 ...
- 找软件开发开发工作_将求职变成开发项目
找软件开发开发工作 悬崖/ TL; DR (Cliffs/TL;DR) I made a recruiter FAQ on my personal site for recruiters and cr ...
- Atitit 硬件 软件 的开源工作 差异对比
Atitit 硬件 软件 的开源工作 差异对比 1.1. 模块化,标准化,以及修改的便捷性1 1.2. 生产和发布成本 1 1.3. 3. 入行门槛搞2 1.4. 在软件业极度发达的今天,任何具 ...
- 要达到什么水平才能找到一份软件自动化测试的工作?
要达到什么水平才能找到一份软件自动化测试的工作? 如果你是大佬,那么这篇文章不适合你,如果你是一个准备找实习的前端小白,请务必看下去,这对你很重要!! 先说面向市场上绝大多数公司需要达到的水平: 如果 ...
最新文章
- 解决 mac ox 终端显示bogon 的问题
- 基于物理着色原理讲解之一
- Freemarker循环遍历
- python数据展示平台_Python获取各大地图平台经纬度数据,哪家的数据最准确?
- Golang 入门 : 数组
- 列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
- 如何理解有人说“真正的奇石收藏,从做减法开始”?
- js面向对象的程序设计 --- 下篇 继承启蒙
- 博客园电子期刊2010年10月刊发布啦
- ArcGIS学习总结(七)——河流制图综合
- Spring(Data-Rest)
- jdk1.6-64下载
- nginx实现301域名跳转
- 多协议充电桩平台系统小程序方案
- TensorFlow基础(1)特点安装基本用法
- Leetcode_62_Unique Paths
- Mstar的Monitor方案笔记(八)——EDID扩展数据结构
- golang工作中常用的一些库
- [svn] TortoisSVN的Blam功能
- 手机连接谷歌浏览器进行联调_如何让任何人将手机连接到您的Google Home