文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>中程在线-重构-卓越程序员修炼之道(笔记1)

中程在线-重构-卓越程序员修炼之道(笔记1)

时间:2010-08-24  来源:曾浩

1.1提到重构,老手会认为它和设计彼此敌对,有重构就不需要设计了,或者开发流程里加上它后,反而束缚了我的设计,从而产生抵触重构,举些反例的行为,所以,首先消除这些误区,请见《重构》P66

 

重构肩负一项特殊使命:它和设计彼此互补。

 

1.2新手害怕改坏代码,不懂技术的人会认为重构后必然导致要做回归测试。

 

那么,请先学习重构,因为这些都是对重构无知而产生的担忧(这个我会放到后面讲解重构技巧,以及使用些工具,一些重构流程,保证不会改坏代码,不必做回归测试),所以,请先跟我学习重构。

 

1.3软件行业潜规则

 

需求是不断变化的

设计是不断变烂的

 

1.4重构的定义

 

重构:对软件内部结构的一种调整,目的是在不改变“软件之可察行为”前提下,提高可理解性,降低其修改成本。

 

2.那些不懂技术的人,常常会一拍脑袋,想出两个加:

 

加人:

他们由1个人,10天搬10个砖头,那么10个人,1天就能搬完了,推出1个人,这个需求要做10天,那么10个人,1天就能搞定这个需求了。

那么请问,1个孕妇,10个月生个孩子,10个孕妇,1个月能生出了孩子么?

 

加班:

一样的道理,1个人,这个需求要做10天,那么,晚上再加8小时班,5天不就搞定了。

我们是人,不是机器。

 

3.勒布朗法则

 

如果团队中出现这样的声音:我们先这样写吧,等以后再改!!!请立即用这一法则

 

稍后等于永不(Later equals never)

 

4.破窗效应

 

没修复的破窗,导致更多的窗户被打破

 

5.代码质量的评价标准

 

价值观:

Cost(total) = Cost(develop) + Cost(maintain)

Cost(maintain) = Cost(understand) + Cost(change) + Cost(test) + Cost(deplay)

所以Cost(maintain)>>Cost(develop)

 

6.什么是好的代码?

 

<敏捷设计原则-Robect C Martin>

第一职责:运行起来所完成的功能,这是模块存在的原因。

第二职责:要和阅读它的人进行沟通,对模块不熟悉的人员应该能够比较容易理解。

第三职责:他要应对变化,因为软件要变化,开发者保证应该尽可能的简单。

 

想睡觉了...先列出未完成的...唉...我知道今天事今天毕的道理...

7.几个思维转变

 

否定功能完成。

肯定代码可维护性。

 

否定设计模式精通,算法精通,才是好的程序员

肯定重视源代码,就是好的程序员。

 

8.几个原则

开闭原则。

二八原则。

 

9.代码的坏味道

函数过长

参数过长

Null检查

超多if...else...

switch...case

 

明天我会补上的...

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载