重构 改善既有代码的设计(读书笔记1)

《重构 改善既有代码的设计》读书笔记及心得体会 《重构 改善既有代码的设计》读书笔记及心得体会第一章 重构 第一个案例 重构的第一步,为即将修改的代码建立一组可靠的测试环境。 过程和方法对于项目的结果只有次要的影响,首要的影响是人 没有可靠的测试环境就不要进行代码的重构,那么问题来了: - 什么是可靠的测试环境? 在第四章给出回答 重构时,每次修改的幅度要小,这样便于进行测试发现错误。 这是本书中贯穿始终的 阅读详情

 // 复制,粘贴给程序带来维护上的巨大挑战,一段相同的代码,绝对不应该出现在不同的两个地方。当然,你可以这样做,但是这种代码一旦出现问题,你会记得要修改几个地方吗?

 

 // 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。千万不要说有时间再做重构,有时间再做等于永远不会做(可以自己分析一下,首先,公司明面上给你的时间你都需要敲代码,而一旦代码敲完{就是所谓的‘有时间’},估计就是验收的时候了,这个时候,你敢改动任何东西吗?)。

 

 // 重构之前,首先检查自己是否有一套可靠的测试机制,这些测试必须有自我检查能力,防止回归测试。

 

 // 重构,必须是微小步骤的进行,这样有利于发现引入的BUG。

 

 // 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类理解的代码,才是优秀的程序员。

 

 // 有时候,项目初期对一个对象的职责认识的不清楚,换句话说,就是把方法写在了不该写的地方,这个时候,有一个规则可以帮助我们:方法应该放在它使用的数据的所属对象内。

 

// 使用查询代替临时变量,肯定会一定程度上降低性能,但是如果这种降低性能在可以接受的范围内,那么,减少临时变量的好处就呈现出来(个人认为谨慎使用)。

 

 // 对于任何可以立即查询到的东西,我都不会去记忆它,因为我怕它填满了我的大脑。

 

// 我不是一个伟大的程序员,我只是一个有着优良习惯的程序员。

 

 // 不应该抽出专门的时间来进行重构,重构只是为了后面更好的添加新东西,重构是应该随时随地进行的。

 

 // 一个比较好的准则:当我第一次做一件事情的时候,只管去做。第二次做类似的事情,我会反感,但是还是可以去做。第三次,则直接重构。

 

// 重构的三个切入点:添加功能时重构,修补bug时重构,代码审查时。

 

// 重构进行的越早越好,到了项目后期,是不应该进行重构的。

 

 // 当出现系统级别的问题时,比如CPU消耗很高,内存占用很严重等,这个时候一定不要去意淫问题,而是借助于工具去定位问题,然后解决问题。

 

 

 

 // 具体重构小知识点:
 // 1.对一段代码重构,希望抽成一个方法,那么代码中的局部变量如果在重构代码中没有修改,则可以通过参数传入方法。
 // 2.重构一个方法的时候,可能修改会引起调用者的修改,这时,提供一个新的方法,让旧的方法调用新方法是一个可行的方案。

信息收集-服务器信息 服务器上面可以运行大量的系统服务和第三方应用服务,如果操作系统或者第三方软件没有及时升级打补丁,攻击者就有可能直接通过服务器上运行的服务进行攻击。 阅读详情

相关推荐

GitHub与GitLab中的Fork操作:从个人仓库到团队协作的完整指南

本文详细介绍了GitHub与GitLab中的Fork操作,从个人仓库到团队协作的完整指南。通过Fork操作,开发者可以在权限隔离的环境下自由实验,并通过合并请求机制保证代码质量。文章涵盖了Fork的具体步骤、本地开发环境配置、代码同步方法以及高级协作技巧,帮助团队高效管理代码仓库。

weixin_28829325的博客 306

读书笔记 -《重构-改善既有代码的设计》Part1

读书笔记 -《重构-改善既有代码的设计》Part2

whose book 的博客 426

《缠中说禅108课》5:市场无须分析,只要看和干

喜欢吹牛皮的,在市场里最常见,例如一种以分析市场、吹牛皮为生的职业,叫什么股评、专家的。此类人不过是市场上的寄生虫,真正的猎手只会观察、操作,用嘴是打不了豺狼的。 市场就是一个狩猎场,首先你要成为一个好猎手,而一个猎手,首先要习惯于无言。如果真有什么真理,那真理也是无言的。可言说的,都不过是人类思想的分泌物,臭气熏天。真不可言说了,就无不可言,言而无言,是乃真言。 一个好的猎手,可以没有嘴巴,但一定会有一双不为外物所动的眼睛,在这眼睛下,一切如幻化般透明。要不被外物所动,则首先要不被自我所迷惑,其实..

BenRen1314的博客 800

重构改善既有代码的设计--读书笔记 1

重构是在不改变软件可观察行为的前提下改善其内部结构。 在软件的设计前期过度的追求设计模式常常导致过度工程,单凭对完美的追求,无法写出实用的代码。 保持代码易读、易修改的关键就是重构。 重构具有风险,他必须修改运作中的程序,这可能会引入一些不易察觉的错误。设计模式为重构提供了目标。 从一个案例中入手。按照书中的例子,我在这里又复制了一遍: 案例: 是一个影片出租店的项目 ,需要计算每...

csdn_wangchen的博客 254

从零开始:用ADS 2023手把手教你设计2.4GHz Wi-Fi LNA(基于ATF-54143,附模型文件)

本文详细介绍了如何使用ADS 2023软件设计2.4GHz Wi-Fi频段的低噪声放大器(LNA),基于ATF-54143晶体管。内容涵盖模型导入、直流工作点确定、稳定性优化、噪声匹配等关键步骤,并提供可下载的模型文件包,帮助工程师快速掌握LNA设计技巧。

weixin_42531128的博客 320

RK3568(buildroot)利用squashfs+overlay实现嵌入式系统高可靠存储方案

本文详细介绍了在RK3568嵌入式平台上,基于Buildroot系统,利用squashfs只读根文件系统与overlayfs可写层相结合的高可靠存储方案。该方案能有效防止设备意外断电导致的系统文件损坏,通过内核配置、启动脚本编写及镜像制作,实现系统核心的只读保护与用户数据的持久化分离,显著提升嵌入式设备的现场稳定性。

weixin_29189381的博客 547

[读书笔记] 重构改善既有代码的设计(1)

《重构:改善既有代码的设计》已经读了一大半了,书中讲了很多的重构手段和指导原则,但整体感受下来,重构的一个主要目的就是消除重复,放眼看去,众多的重构手段都是在消除重复代码,提炼函数,提炼父类等等。 之后会针对每一章,整理一下读书笔记,方便之后参阅。第一章:重构,第一个案例着一章主要是起到入门的作用,以一个不是很复杂的例子,一步步演示可以进行哪些重构,也用到了后面章节提到的部分重构手段,但是主要目的

beyongwang的博客 612

GPT注册与使用全流程详解:从零到一的实战指南

本文详细介绍了GPT的注册与使用全流程,从认识GPT作为智能对话助手开始,到注册前的设备与环境准备、手把手完成账号注册、首次使用指南以及进阶使用技巧。文章还涵盖了安全使用与注意事项,帮助用户从零开始高效利用GPT提升工作效率和内容创作能力。

weixin_33843409的博客 388

重构 改善既有代码的设计 读书笔记1

重构     1  建立测试用例。便于在重构过程中测试新代码的结果和旧代码的结果是否一致,保证代码修改的正确性                       2  将长的方法分成比较短小的方法,便于管理                            如何安全的将大方法分成小方法:没有修改过的变量作为传递的参数;修改过的变量如果只有一个可以作为返回值

michelle19511229的专栏 232

【x264编码器】章节1——x264编码流程及基于x264的编码器demo

提供了一种方便的方式来根据指定的配置profile应用相应的设置到 x264 参数结构体上。不同的配置文件类型会对参数结构体进行不同的修改,以满足特定的编码需求。然后是编码器参数,包括帧参考数、最大关键帧间隔、最小关键帧间隔、B 帧数、场景切换阈值等。结构体的成员进行赋值,将其初始化为默认值。之后是一些编码器设置,如去块滤波、CABAC 编码、码率控制方法、参考帧压缩系数等。接下来是一系列与视频属性相关的参数,如色度格式、宽度、高度、宽高比等。然后是一些与日志输出、分析类型、量化矩阵等相关的参数。

vcvdv123的博客 5742

SAP RAP学习系列合集介绍

《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。

DeveloperMrMeng的博客 1490

《重构 改善既有代码的设计》读书笔记1

首先我们看重构之前的,共有三个类,Customer,Movie,Rental。全都是自己写的数据类。 // Rental: 表示某个顾客租了一部影片public class Rental { private Movie _movie; private int _daysRented; public Rental(Movie movie, int daysR...

weixin_30248399的博客 96

36 Agent Memory:如何让智能体记住该记的东西

Agent 会调用工具,只能说明它有了行动能力。要让它跨会话、跨任务持续工作,还需要一套可治理的 Memory 系统。本文讲清上下文窗口、RAG 和 Agent Memory 的区别,以及工作记忆、情景记忆、语义记忆、程序记忆该如何分层设计。

老于的笔记的专栏 89

重构-改善既有代码的设计读书笔记1

重构是对软件内部结构的一种调整,目的是在不改变外部行为的前提下,提高可理解性,降低修改成本。 重构是严谨、有序地对完成的代码进行整理从而减少出错的一种方法。 以改进程序的内部结构。重构是㆒种有纪律的、经过训练的、有条不紊的程序 整理方法,可以将整理过程中不小心引入错误的机率降到最低。本质上说,重构 就是在代码写好之后改进它的设计.首先得有一个良好的设计,然后才能开始编码. 重构技...

iteye_8865的博客 95

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

《重构-改善既有代码的设计》读书笔记--第一章--1

工作之余修炼内功,买了本重构好久也没仔细看下,太不应该了,今天开始先做一个简单的表示决心,然后每天读一些,争取学到一些重构的皮毛,给代码一个提升质量的机会。 其实从序言就能感觉到这是一本好书了,里面提到了重构的定义:在不改变软件可观察行为的前提下改善其内部架构。重构不会更改软件的外部行为,软件该怎么用还怎么用,不会对用户使用产生影响或者产生极小的影响;广义上来说也可以是...

dongguai5570的博客 232

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

重构--改善既有代码的设计--读书笔记1

<br />  重构--改善既有代码的设计--读书笔记1<br /><br />看了第一章的,敲出了所有的代码,共4版,自己理解写的比较少。以后慢慢在以后各章中补充吧。第一章看的还算顺利,可能代码太少了,还体会不深。<br /> <br />ver1<br />package Refactoring_Impr; import java.util.Enumeration; import java.util.Vector; public class C1_ver1 { class Movie

lhao77的专栏 515

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

重构(改善既有代码的设计)-- 读书笔记1

春节前后读了这本书,是一个同学推荐给我的,感觉还不错,文笔通俗易懂,结构清晰有逻辑。喜欢Kent Beck说的一句话“我不是个伟大的程序员,我只是个有着优秀习惯的好程序员”。读这本书,对重构获得了一些认识,一直没来得及整理(其实就是为自己的懒惰找借口),现整理如下。 1.什么是重构?     所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构是一种经

静墨的博客 589

『重构--改善既有代码的设计』读书笔记----第1章:重构,第一个案例

重构的第一步:重构前,先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。 常常的函数,需要重构!!!代码块越小,代码的功能就愈容易管理,代码的处理和移动也就越轻松。 第一个案例的重构笔记: 1、找出代码的逻辑泥团。(本例当中就是switch语句,把它提炼到独立函数当中。为函数中的变量名称换个好名字) 2、绝大多数情况下,函数应该放在它所使用的数据的所属对象内。 ...

良月柒 400

『重构--改善既有代码的设计』读书笔记----代码坏味道【1】

今天,我们不介绍具体的重构手法。我们暂且缓缓,回过头来看看,总结一下,什么样的代码需要重构,什么样的代码有一股”难闻的味道“,以此来提示我们需要重构,来提示我们这段代码其实是有改进的地方的。我也很喜欢文中作者对于代码这种特质采用”坏味道“,很形象也很生动。下面进入正题: 【1】Duplicated Code(重复代码) 我自己本身也非常讨厌重复代码,似乎每次看...

weixin_30685029的博客 110

《重构--改善既有代码的设计》读书笔记之二:分解并重组statement() part1

病症:statement()这样一个长长的函数很明显需要进行重构。 要点: 代码块越小,代码的功能就越容易管理,代码的处理和移动也就越轻松。 步骤1: 找出代码的逻辑泥团switch语句,运用Extract Method将其提炼到独立函数中。首先在代码段里找出函数内的局部变量和参数,注意哪些被修改过(如:thisAmount),哪些没有被修改过(如:each)。任何不会被修改的变量

PBA_WORLD 761

《重构 改善代码既有设计》读书笔记(一)

即使只提取出一行,即使调用这个函数比实现函数本身代码还要多,只要函数名能解释其用途,就应该毫不犹豫的重构。面向对象较之面向过程的一个好处是,面向过程的函数上下文只能通过参数和全局变量传递,过多的全局变量和参数列表都会使程序变得晦涩难懂;重构不是一件应该特别拨出时间注意的事情,重构应该随时随地进行,不应该为了重构而重构,重构的目的应该是帮助自己把要做的事做好。一个类是否可能发生发散式变化,在设计阶段往往是难以分辨的,只有在真正发生变化时才能意识到,然后你就需要重构,运用。将尽可能多的逻辑在类的内部闭环。

cques的博客 757

重构,改善既有代码的设计(理论篇)

本文是笔者毕业后的第一篇blog,将从三个方面讨论代码重构。即:1.代码重构是什么;2.常用的重构手法;3.代码中的“坏味道”。本篇blog是《重构,改善代码既有代码的设计》一文的读书笔记,读书笔记与书一起食用效果更佳哦。

云瀚的自习室 4476

《重构:改善既有代码的设计》读书笔记(持续更新中)

背景(我也不知道这个算不算读书笔记,书本知识点整理和个人理解内容可跳至下面正文): 最近过年加找工作一直没想起来整理学习内容, 时间都很零碎。回想一下, 的确一直以来都是为了完成项目去看知识点。 除了刚开始想转行做IT的时候跟着慕课网的两条前后端路线系统地学习了一下, 但是终究囫囵吞枣。 前几天刚好有被问到《重构》这本书的内容。这两天临时抱佛脚看一下。 有了一定量的代码量积累的现在, 带着些许...

yytoo2的博客 2459

重构,改善既有代码的设计(实战篇)

程序员必懂的代码重构(理论篇)一文介绍了代码重构是什么、常用的重构手法和代码中的“坏味道”。But talk is cheap. Show me the code,本文将从实战的角度来谈谈代码重构,共分为:题目、初步解法、重构实战和总结四部分。

云瀚的自习室 4982

重构——改善既有代码的设计 读书笔记

重构改善既有代码的设计-学习(一):封装-优快云博客。

m0_49499183的博客 1554

【读书笔记】重构:改善既有代码的设计(第二版)

《重构:改善既有代码的设计(第二版)》读书笔记

qq_40690815的博客 803
上一篇: Google故事
下一篇: 重构 改善既有代码的设计(读书笔记2)
coding_or_coded
博客等级 码龄16年 216粉丝 115原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值