代码重构要达到的目的

代码重构 英文是 Refactoring, 简单来说, 就是让代码更好: Make Code Better. 1:简化软件模块 当前软件模块偶合性非常高.重构的过程能使软件结构清楚,模块之间的关系也将进一步理清.重构的目的之一是使软件不再臃肿,而会变得快速和轻巧.稳定性将大大提高.这样能减少后期用户支持的成本. 2:优化代码 很多无用的代码,很多低效的代码将被去除.引入代码审核或者(结对编程 Pair Programming) 能够减少代码的错误. 3:减少开发和维护成本 当前有几种版本.版本之间是用代码 #if 条件编译来区别,这样维护成本高,重构会将四个版本整理成一个版本(编译一次就可以).同一套代码库能减少开发和维护成本. 4:提高软件开发质量 授人鱼不如授人渔.在团队里培训和推广高效,正确,专业的软件开发流程和方法,这是提高软件质量的最有效的途径.保证每一次发布都是精品. 5:敏捷开发 通过重构,不断摸索改进的一个流程,采用敏捷开发,每天8点站会回顾昨天的工作流程,每周一周会提出每周的工作计划.包括CI编译服务器的建立及各项代码指标都能很好的对工作量及其分配做一个很好的计划. 6:代码分支管理 之前所有版本都是从 主分支 (Trunk) 取,这样就不能及大限度的保证质量,重构的过程(本身就是一个很好的例子)引入了SMOKE测试的概念,每天都会给测试团队一个版本,第二天8点就能收到测试结果,这样就能及时发现问题,阶段性的合并回主分支.版本发布也应该遵循这样一个流程. 7:正确的代码理念 …

英国和美国IT公司面试的主要区别

我参加过不少IT公司的面试, 其中有 FACEBOOK (2010年), 还有 Fasthosts, DocNet 等. 以下是我们公司在面试一高级程序员 Senior Software Engineer. 我面试过几个美国公司和英国公司,有一大区别就是: 虽然招的都是程序员 Software Engineer, 但是美国公司比较喜欢问一些关于数据结构和算法相关的问题, 甚至包括一些问题然后希望你通过算法分析来解决(类似ACM编程竞赛的题目. 而英国公司则是会针对工作中需要用到的技能来问, 比如公司需要C#程序员, 则会问C#相关的知识, 比如LINQ, WPF等. 从这个角度可以看出, 英国公司招程序员一招进来就指望他们立刻就能开始写代码, 而美国公司则把程序员当成一个长期的投资和培养, 理论知识要扎实, 其它相关的编程语言可以慢慢培养. 英文: …

在英国退房的经历: 押金多半是拿不回来的

前不久, 专门开车回谢菲尔得 打扫我住了四年的公寓(一房一厅), 房东四年没涨房租, 其实是很不错的. 房租一直是 475 英镑每个月, 不包水电和COUNCIL TAX(房屋税). 每半年房东都会过来续合同. 在搬进之前, 交了500英镑押金. 当时英国政府就有新规定, 押金必须交给一个第三方的机构(DPS)保管. 如果没有这么做, 房东就是违反规定. 英国是保护租客的, 即使你不交房租, 房东也只能通过一些程序(少则几个月, 多则大半年) 来把租客请出自己的房子. 我提前一天回的谢菲尔得. 当天晚上和朋友吃饭, 第二天早上才打扫的. 但是由于住的时间实在是太久, 有些边边角角就没法彻底在短时间内打扫干净. 还有就是墙上沙发被我那两儿子给画的,这一部分我觉得是避免不了从押金里扣的. 第二天下午, …

Teamviewer 支持多屏幕远程连接

Teamviewer 最出色的就是穿越防火墙.这软件可以支持多平台远程连接(你可以在手机里远程登陆桌面).当你的远程桌面有多显示器时, TEAMVIEWER也能轻松搞定. 在连接成功时, 屏幕上方的任务条最右边会提示有多屏幕,这时候只需要选择相应的屏幕就可以.当然如果嫌麻烦,只需要点任务栏里的程序双击一下, 该程序(如果不在当前屏幕)就会跑到当前屏幕里,只用一个屏幕也是很方便的. 英文:Teamviewer 支持多屏幕远程连接 本文一共 162 个汉字, 你数一下对不对. Teamviewer 支持多屏幕远程连接. (AMP 移动加速版本) 赞赏我的几个理由. ¥ 打赏支持 扫描二维码,分享本文到微信朋友圈

SVN统计一下谁写的质量差的代码最多[POWERSHELL]

在一个代码开发团队里,有人写代码就是很臭.比如这篇英文博文里, 就讲了关于使用通用异常(GENERAL EXCEPTION)处理代码的问题. 通用异常简单来说就是 try { } catch (Exception anything) { // 隐藏错误 } 不管代码出不出错都加一个保险的处理方式,反正有错误抛出,都会被捕获.改BUG用这种方法实在是效率高. 下面的POWERSHELL脚本能统计出每个开发人员写的通用异常的数目.这样研发经理就可以时不是观察和保证代码的质量.遇到喜欢用TRY-CATCH的开发人员, 需要及时沟通和培训. svn blame, svn praise和 svn annotate 都是一样作用的, 其实就是看当时的心情. # 工程目录 $SolutionDir = …

剑桥SHELL加油站旁边的意大利餐馆 Little Venice

有个车活动范围就大了很多, 周末和平时晚上都会经常一家人四处寻找吃的.上次吃了泰国餐,这次老婆说想吃意大利餐了, 于是网上搜了一下, 果然很近的地方就有一个,开上A路几分钟下了转盘就到了. 地图上显示就在SHELL加油站旁边. 意大利餐馆 LITTLE VIENCE 的菜单,很普通 不知道选什么 这个DAILY SPECIAL已经组合好推荐给你了: STARTER MAIN COURSE 甜品有点甜,不知道是不是已经吃饱了. 门口的文字很贴切. 吃完了这个舒服;老婆说下次可以再来. 总体来说, 价钱合适,两个套餐下来,两杯果汁,一共42镑钱. 座标: CB23 3PD (前不久路过的时候 发现已经倒闭了, 该餐厅变成了一超市便利店, 看来是地段不佳啊) GOOGLE MAP地址:Little …