自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 《重构》读书笔记(十四)——第十五章 总结

第十五章 总结    “我已经知道如何重构了吗?”Kent Beck告诉我们:不,还没有。    前面各章列出的技术要点仅仅只是一个起点,是你登堂入室之前的大门。    这些技术如此精彩,可它们仅仅只是一个开始,这是为什么?答案很简单:因为你还不知道何时应该使用它们,何时不应该使用;何时开始,何时停止;何时前进,何时等待。使重构能够成功的,不是前面各自独立的技术,而是这种节奏。  

2013-07-28 08:54:01 836

原创 《重构》读书笔记(十三)——第十三章 重构,复用与现实

13.1 现实的检验 13.2 为什么开发者不愿意重构它们的程序?1. 不知道如何重构。2. 如果这些利益是长远的,何必现在付出这些努力呢?长远看来,说不定当项目收获这些利益时,你已经不在职位上了。3. 代码重构是一项额外工作,老板付钱给你,主要是让你编写新功能。4. 重构可能破坏现有程序。1. 如何重构?在哪里重构?1).  一个常见的重构原因,就是调整程序结构以使(

2013-07-27 21:41:08 1046

原创 《重构》读书笔记(十二)——第十二章 大型重构

这场游戏的特点        在大型重构中,情况有很多变化,我们无法告诉你准确的重构步骤。如果没有看到实际情况,任谁都无法准确知道该怎么做(所以,不要妄想得到放之四海皆准的重构方法)。(而在实际项目中,经常遇到的就是大型重构。因为在项目初期,都会有很紧的进度压力,而此时由于刚开始编码,代码的腐坏程度也可能还没有到达你无法容忍的程度。而到了项目中期,代码的可扩展性和可维护性已经严重影响了你的生产

2013-07-27 19:09:00 964

原创 《重构》读书笔记(十一)——第十一章 处理概括关系

第十一章 处理概括关系     有一批重构手法专门用于处理类的概括关系(generalization,即继承关系),其中主要是将函数上下移动于继承体系之中。1、上移字段(Pull Up Field)        判断若干字段是否重复,唯一的办法就是观察函数如何使用它们。如果它们被函数使用的方式很相似,你就可以将它们归纳到超类去。本项重构从两方面减少重复:首先它去除了重复的数据声明;其

2013-07-22 13:58:43 1128

原创 《重构》读书笔记(十)——第十章 简化函数调用

第10章 简化函数调用1、重命名函数(Rename Method)P273        一个好的函数名称很重要,比你想象的还要重要得多。为函数起一个”见名知意“的名字并不容易,需要经验;要想成为一个真正的编程高手,起名的水平是至关重要的,因此需要你的重视。如果你所在的领域比较特殊(专业性比较强),你可以从专业人员那里得到帮助。千万不要以为名字只是小事,不值得去咨询专业人士,一个好的名字将

2013-07-20 19:32:16 2075

原创 《重构》读书笔记(九)——第九章 简化条件表达式

1、 分解条件表达式(Decompose Conditional)通常与提炼函数(Extract Method)一起使用。      “编写短小的函数”。2、合并条件表达式(Consolidate Conditional)      合并条件表达式,使用Extract Method将条件表达式提炼成一个独立的函数,并为函数取一个意义清晰的名字,大部分情况下这都可以大大提高代码的可读性。

2013-07-19 22:47:25 1065

原创 《重构》读书笔记(八)——第八章 重新组织数据

1、自封装字段(Self Encapsulate Field)P171自封装字段       在“字段访问方式”这个问题上,一直有两种截然不同的观点:其中一派认为,在这个字段所在的类中,你可以自由访问它;另一派则认为,即使在这个类中你也应该只使用设值/取值函数间接访问。       两种方式,自有优缺点:        1)间接访问变量的好处是,子类可以通过覆写(基类的)一个函数而改变

2013-07-16 23:11:10 1307

原创 《重构》读书笔记(七)——第七章 在对象之间搬移特性

1、 “把责任放在哪儿?”通常是艰难的抉择,Move Method可以让你有机会纠正你当初犯下的错误。保证类的职责单一。P142搬移函数 Move Method是一项非常重要的重构手法。决定哪个(或哪些)函数需要搬移,以及搬移至哪一个目标类中更合适?这往往不是容易做出的决定。需要经验的积累。2、对于一个字段,在其所驻类之外的另一个类中有更多的函数使用了它,我们就应该考虑搬移这个字段。P14

2013-07-14 16:37:56 1401

原创 《重构》读书笔记(六)——第六章 重新组织函数

1、在很多情况下,我们使用“提炼函数”这个重构手法时会遇到一个困难,即如何给函数起一个好的名称。所以我们需要在函数名称上下功夫,多积累经验。P116 提炼函数2、函数应该尽量选择单一返回值。P116 提炼函数3、间接性可能带来帮助,但非必要的间接性也总是给人不舒服。P117内联(即消除)函数4、默认情况下,我们应该总是将临时变量定义为final(C++中为const). P124引入解

2013-07-14 15:25:27 1172

原创 《重构》读书笔记(五)——第四章&第五章

单元测试1、编写优良的测试程序,可以极大提高我们的编程速度。这可能让很多人吃惊,也违反很多程序员的直觉。2、自测试代码的价值:修复错误通常是比较快的,但找出错误却是噩梦一场。当你修复一个错误,总是会有另一个错误出现,而且肯定要很久以后才会注意到它。那时我们又要花上大把的时间去寻找它。3、当然,编写测试程序,要写很多的额外代码。起初你可能会觉得这纯粹是无稽之谈。你甚至会发现一个人一天能干

2013-07-14 11:32:21 1294

原创 《重构》读书笔记(四)——第三章 代码的坏味道

第三章 代码的坏味道       从某种意义上讲,理解“何时应该重构”,“何时停止重构”比“知道如何重构”更重要!       作者在这一章里试图通过“代码的坏味道”这样一种暗喻来解释“重构的时机和场合”。任何人都没办法给出何时必须重构的精确衡量标准。理解并掌握这个标准需要我们的直觉。这也与项目的实际情况有关,例如质量要求,预期的服役年限,安全性要求等等。因此,我们必须培养自己的判断力,学

2013-07-14 11:05:39 1280

原创 《重构》读书笔记(三)——第二章 重构原则

第二章 重构原则      这一章作者回答了“何谓重构?”“为何重构?”“何时重构?”等基本问题,并讲述了重构的难题和起源以及重构与设计,重构与性能的关系。      何谓重构?      重构(Refactoring)就是在不改变软件可观察行为的前提下,通过调整程序代码的结构,提高其可理解性,降低其修改成本。关于“重构”的定义,有过这样的讨论:      重构的基本要求是“不改变

2013-07-13 19:34:19 1235

原创 《重构》读书笔记(二)——第一章 第一个重构案例

第1章 重构,第一个案例         作者在第一章通过一个影片出租的例子,试图阐述重构的基本过程和步骤。看得出来,作者对这个案例给予厚望,花了很大的篇幅。正因如此,我没有理由不好好学习这一章。         影片出租的例子本身不难,但我足足花了一整个下午学习了这个例子。我先是老老实实的把代码用C++重抄了一遍,然后跟着作者的步伐,一步步重构,以期体验“重构改善设计”的完美过程。

2013-07-13 17:04:50 1663 1

原创 《重构》读书笔记(一)——序言

《重构——改善既有代码的设计》(以下简称《重构》)。 这本书有三个序言,《重构的重新认识》(再版序),《重构的生活方式》(译序),《序》。嚇!NB书就是NB书啊,序言都这么多。 一、《重构的重新认识》(再版序)----译者熊节      再版序,顾名思义,就是再一次出版,嗨,看来这书还真是名不副实啊,估计只有书好,买的人才多,才能再版吧。看来这书买对了,^-^      在《重构的

2013-07-13 09:28:33 1318

Qt与JS的数据交互

演示了使用 QWebChannel 在Qt(QWebEngineView/QWebEnginePage)与JS之间的数据交互。示例工程非常简单,使用QtCreator直接打开即可运行(需Qt5.6.2以上)。

2018-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除