`
碧海山城
  • 浏览: 192914 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多
      这本书买了有段时间了,前段时间一直被两个项目压着,透不出时间来看书,最近接近尾声,终于可以好好看看这本书了。本书由Martin Fowler所写,ThoughtWorks的首席科学家,这里有他的一些介绍http://blog.sina.com.cn/s/blog_4a400574010007q3.html

  重构是一本与设计模式齐名的著作,初次看完这本书,给我最深印象的不是那一条条实用的重构准着,也不是那些能找出”坏味道”的例子,而是熊节先生在译序里面说的一句话:

如果没有单元测试和重构,我没法写代码。

单元测试现在所有的java书应该都有了,自己也曾在项目初期写上了单元测试,并决心贯穿项目始终,但是过了一两周以后,随着项目的进度以及一些技术问题,我慢慢忘记了单元测试,而且在我回想起来的时候,发现没写单元测试其实问题不大。等到项目中后期,当我烦恼于在myeclipse中一次次部署,不断刷新网页查看结果时,我终于想起了单元测试,但是这时候我发现再去写测试已经是项比较庞大的工程,代价不小,而且对于工期也会有一定的拖累,就在这种权衡之中,项目慢慢接近尾声,虽然项目完成的还行,但是中间的很多教训还是得吸取,特别是有些花了几天调试的bug,如果坚持单元测试的话,都是可以避免的。

   曾经以为那些大型的项目的代码都是复杂的,里面充满各种奇技淫巧,对于菜鸟来说根本是不可理解的,这些才是高手写出来的代码,才是大项目。但是自己做了两个项目以后,有了一些实战经验,我才发现,

真正的高手不应该是这样的,他们的代码应该是规范的,用尽可能简单高效的手法实现需要的功能,避免了各种奇技淫巧,有的话也会加上详尽的注释,对于大断复杂的代码,将其”肢解”,增加可读性,扩展性。

突然又想起武侠小说里面的高手,他们往往会一门高深的武功,招式复杂,对手经常没看到他的武器就挂了,横行天下,现在我倒是认为高手与菜鸟相比,更多的是在基本功扎实,有实战经验,而不是体现在招式的复杂度上,复杂的估计都已经失传了

  再回头说说这本书,前面四章是一定要看的,特别是第三章,推荐参考里面但提到的各种准来看,如果你有一些实际项目经验,相信你一定会产生共鸣。
这本书不仅有英文版和中文版,还有中英注释版本,对自己英语水平没什么信心,所以当时买了中文版。

  就先到这吧,下篇在写一些具体的读书笔记。
分享到:
评论

相关推荐

    react-旨在重构一个react事例

    综上所述,"react-旨在重构一个react事例"的项目涵盖了React组件化开发、Flux架构的应用以及代码重构的实践。通过对这个项目的学习,你可以深入理解React和状态管理,并了解如何通过重构提升代码质量和应用程序的...

    matlab_压缩感知中的正交匹配追踪法重构一维离散信号

    在本文中,我们将深入探讨如何使用MATLAB实现压缩感知(Compressed Sensing, CS)中的正交匹配追踪法(Orthogonal Matching Pursuit, OMP)来重构一维离散信号。压缩感知是一种革命性的信号处理理论,它允许我们用远...

    电子功用-在蜂窝式移动无线电系统中重构一个网孔的方法

    本文将深入探讨“电子功用-在蜂窝式移动无线电系统中重构一个网孔的方法”这一主题,旨在理解并优化这类系统的性能。 蜂窝式移动无线电系统是一种基于地理分割的通信网络,通过将服务区域划分为多个小的六边形区域...

    OMP重构一维二维信号matlab仿真

    MP算法、OMP算法重构一维信号代码

    压缩感知 OMP重构一维二维信号matlab仿真

    压缩感知(Compressed Sensing, CS)是一种革命性的信号处理技术,它颠覆了传统观念,表明我们可以用远少于奈奎斯特定理所要求的采样率来获取信号,并仍能精确重构原始信号。该技术在图像处理、医学成像、无线通信等...

    代码到底该如何重构?.doc

    - 遵循小步快跑的原则,每次重构一小部分,频繁提交,以便及时回滚。 - 定期进行代码审查,发现并修复重构后的潜在问题。 总的来说,代码重构是软件开发中的持续过程,通过不断优化代码结构,保持代码的清晰性和可...

    代码重构,现有代码优化

    1. **小步快跑**:每次只重构一小部分代码,确保每一步都是安全且可测试的。 2. **持续集成与自动化测试**:重构前后应运行完整的测试套件,确保代码行为没有变化。 3. **代码审查**:通过团队成员之间的代码审查,...

    重构避坑指南2.txt

    2. **小步快走**:每次只重构一小部分代码,并且频繁地运行测试,确保代码仍然工作正常。 3. **避免过早优化**:除非性能成为瓶颈,否则不要因为性能原因去重构代码。 4. **保持单一职责原则**:每个函数或类应该...

    重构_改善既有代码的设计高清版.pdf

    - **小步快跑**:每次只重构一小部分代码,确保每次重构都能通过所有测试。 - **测试先行**:重构之前应该先编写测试用例,确保重构后代码的功能保持不变。 - **不要同时重构多个地方**:一次只专注于一处改动,避免...

    重构者的20种死法及重构的注意事项

    4. 逐步进行:重构不应一次性完成,而是应采取小步快跑的方式,每次重构一小部分,便于回滚和测试。 5. 测试先行:重构前后的测试至关重要,确保重构不会引入新的错误。自动化测试套件能提供有力保障。 6. 沟通与...

    重构改善既有代码的设计.pdf

    - **持续迭代:** 重构一小部分后立即更新测试用例并验证结果。 #### 四、案例分析 假设有一个复杂的业务逻辑被多次复制到不同的地方,导致代码难以维护。我们可以采取以下步骤进行重构: 1. **分析问题:** ...

    如何对代码进行重构:重构代码的7个阶段

    你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是...

    既有代码重构

    3. **小步快跑**:每次只重构一小部分代码,完成并验证测试后再进行下一步,避免一次性改动过多导致的风险。 4. **保持简洁**:遵循DRY(Don't Repeat Yourself)原则,避免代码冗余;遵循单一职责原则,确保每个类...

    SolveStepwise(CS中一些重构算法代码,在压缩感知中很有用的一些算法)

    通常,为了精确地重构一个高维信号,我们需要获取该信号的完整采样,但这在很多情况下是不切实际或成本高昂的。压缩感知则提出,只要信号具有稀疏性(即在某种变换域中大部分元素为零),我们可以通过远少于奈奎斯特...

    重构改善既有代码的设计

    2. **小步快跑**:每次只重构一小部分代码,避免一次性重构整个系统带来的风险。 3. **重构前的测试**:在进行任何重构之前,先编写测试用例,确保重构不会破坏原有的功能。 4. **代码审查**:让团队成员参与代码...

    基于matlab实现根据连续时间函数的采样数据,利用spline重构该连续函数,并检查重构误差.rar

    本项目关注的是如何利用MATLAB的spline插值函数来重构一个连续函数,并评估重构后的误差。以下是关于这个主题的详细说明。 首先,我们需要理解spline插值的基本概念。Spline插值是一种高级的数学方法,用于构建一个...

Global site tag (gtag.js) - Google Analytics