这本书买了有段时间了,前段时间一直被两个项目压着,透不出时间来看书,最近接近尾声,终于可以好好看看这本书了。本书由Martin Fowler所写,ThoughtWorks的首席科学家,这里有他的一些介绍http://blog.sina.com.cn/s/blog_4a400574010007q3.html
重构是一本与设计模式齐名的著作,初次看完这本书,给我最深印象的不是那一条条实用的重构准着,也不是那些能找出”坏味道”的例子,而是熊节先生在译序里面说的一句话:
如果没有单元测试和重构,我没法写代码。
单元测试现在所有的java书应该都有了,自己也曾在项目初期写上了单元测试,并决心贯穿项目始终,但是过了一两周以后,随着项目的进度以及一些技术问题,我慢慢忘记了单元测试,而且在我回想起来的时候,发现没写单元测试其实问题不大。等到项目中后期,当我烦恼于在myeclipse中一次次部署,不断刷新网页查看结果时,我终于想起了单元测试,但是这时候我发现再去写测试已经是项比较庞大的工程,代价不小,而且对于工期也会有一定的拖累,就在这种权衡之中,项目慢慢接近尾声,虽然项目完成的还行,但是中间的很多教训还是得吸取,特别是有些花了几天调试的bug,如果坚持单元测试的话,都是可以避免的。
曾经以为那些大型的项目的代码都是复杂的,里面充满各种奇技淫巧,对于菜鸟来说根本是不可理解的,这些才是高手写出来的代码,才是大项目。但是自己做了两个项目以后,有了一些实战经验,我才发现,
真正的高手不应该是这样的,他们的代码应该是规范的,用尽可能简单高效的手法实现需要的功能,避免了各种奇技淫巧,有的话也会加上详尽的注释,对于大断复杂的代码,将其”肢解”,增加可读性,扩展性。
突然又想起武侠小说里面的高手,他们往往会一门高深的武功,招式复杂,对手经常没看到他的武器就挂了,横行天下,现在我倒是认为高手与菜鸟相比,更多的是在基本功扎实,有实战经验,而不是体现在招式的复杂度上,复杂的估计都已经失传了
。
再回头说说这本书,前面四章是一定要看的,特别是第三章,推荐参考里面但提到的各种准来看,如果你有一些实际项目经验,相信你一定会产生共鸣。
这本书不仅有英文版和中文版,还有中英注释版本,对自己英语水平没什么信心,所以当时买了中文版。
就先到这吧,下篇在写一些具体的读书笔记。
分享到:
相关推荐
压缩感知 OMP重构一维二维信号matlab仿真
matlab_压缩感知中的正交匹配追踪法重构一维离散信号
MP算法、OMP算法重构一维信号代码
农村电商3.0:重构一个鲜活的新乡村
农村电商3.0:重构一个鲜活的新乡村.pdf
行业资料-电子功用-在蜂窝式移动无线电系统中重构一个网孔的方法
此页面本是《REACT:引领未来的用户界面开发框架》例子,不过所用技术仅仅是React Flux,所以小生把它重构了一下!
关于如何重构java代码的。看过好一定很有感触。
本人最近研究MP,这个经过修改可以运行的。一维信号是语音信号的
你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是...
本资源提供了一套基于React Hooks的重构电商网站实战设计源码,包含30个文件,其中包括16个JavaScript脚本...这些文件详细展示了如何使用React Hooks重构一个电商网站,非常适合用于学习和参考JavaScript项目的开发。
通过小波多级分解重构一维信号的系数,并在Python中实现Matlab函数wrcoef 目的 在Python中,我们有两个很棒的库来处理不同类型的wavelet:和。 后者目前不在积极开发中,但可以用于鼓舞人心的目的。 不幸的是,在两...
1.作业名称:工厂模式 2.作业内容: ...③ 所以再使用工厂方法来重构一遍代码。保证750ml杯子可以被顺利地扩展进来。 ④ 最后还需要为杯子成产相应的杯盖,杯盖随杯子容积的大小而不同,请继续重构完成该扩展。
压缩感知重构算法:SP、OMP、SAMP以及cosamp;这些算法能够精确地重构一维信号,可以用于语音信号、生理信号如脉搏信号的压缩重构
1. 重构的目的:为什么重构(why) 2. 重构的对象:重构什么(what) 3. 重构的时机:什么时候重构(when) 4. 重构的方法:如何重构(how)
本实验利用MATLAB2015进行编程,调用系统小波函数对信号进行分解,实现Mallat分解与重构算法对一维信号进行多层分解和重构。对信号进行多层分解可实现对信号的去噪和数据压缩处理,分解为小波函数的线性组合,阶数高...
STOMP压缩感知算法,可以重构一维信号,来源于jbb0523
《重构 改善既有代码的设计》清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地...《重构 改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
于是萌生想做一本重构工具书的想法,本来打算自己重新将重构书的内容再整理归类一下,后来发现原书的目录编排就很适合做工具书,包括坏味道分类,重构手法归类等,都有了一个比较系统的整理。因此,我利用空余时间...
“所谓重构(refactoring)就是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构.哪怕你手上有一个糟糕的设计,甚至是一堆混乱的代码,你也可以借由重构把它加工成良好的代码.”