《代码大全》和《重构》读后感

《代码大全》读书心得 《代码大全》这本书读了一点之后,我感觉到软件开发的前期要仔细研究需求,稳定的需求是开发优质可靠软件的基本保证,也可以有效降低开发成本。要描述出系统的多个方面,在确定需求阶段考虑的越全后期变动的可能性就越小,这要和他人多次充分的交流,我甚至觉得可以采用询问犯人的做法,对一个需求做多次的需求确认,研究对方的话有什么差异,把这些差异再次确认。当然并不能杜绝后期的变动,但至少会避免很多偏差了,大大降低了返工的风险。作者认为,开发是一个迭代的过程,要持续地反思之前的工作,对不理想的地方进行重构。现在慢慢地自己也有这种 阅读详情

最近一段时间看了很多书,有一些囫囵吞枣,但是开拓了一些眼界。为了更好的温习看过的内容,写一下读后感还是很有意义的。

作为一个普通程序员,看两类书就可以了。一是代码大全这类的,教你如何写出规范的代码。二是编程珠玑这类,教你如何用逻辑去思考和解决程序算法问题。

最早看的两本书是代码大全和重构。不涉及到太多应用技术。主要介绍为什么可读性代码很重要,如何写出可读性和复用好的代码。

代码大全真的是大而全的百科全书。整个书基本都翻了一遍,因为是和重构一起写读后感,所以就说一说相关的章节。关于变量名,函数名的命名等问题,代码的清晰,重用性以及性能取舍问题。每一章节针对一个主题都讲得非常详细。可以很好的指导写出良好的代码。

好的函数应该只做一件事情,并且把这件事做好。所以好的文章也是只讲一方面,并尽量把一方面讲好。

重构这本书我看得很快,因为之前我看过该作者的《敏捷软件开发》这本书。重构看完之后我写过一个ppt,给同事们分享了一下学习心得。主要是为了温故自己掌握的东西是否正确,我总认为有些东西只有能够清晰的说出来才算是真正深刻的掌握了。我也希望学到了新的东西能与大家分享,验证是否有些地方理解得有偏差。

重构在我看来,不是一门技术,而是一种写代码的习惯,不是一定要去改造现在系统的代码才是重构,而是可以应用到你写的每一行代码中。如果把软件的组成分为模块,包,类,子程序,块和变量的话。那么如何写出好代码,就是从这些基本的元素入手。

我分享的是我的读后感,一方面是推荐大家阅读这些书籍,一方面分享我读完的收获。我现在养成了一种习惯:写下的每一行代码时候,一个函数或者变量,总是会斟酌是否能够更好,函数的意图是否清晰,函数名字是否符合一般的标准(如动宾结构,不完全都是这样的结构),函数的循环和条件判断是否嵌套太深等等。完成一件事情的方式有很多,如何高效而优雅的完成是一门学问,一种习惯。就像比尔盖茨讲过,很少有程序员在编码了多年以后,突然会去关心哪个地方的代码写的是否清晰,哪个循环是否可以更加高效。早期养成一个好的代码习惯是一件难能可贵的事情。知道什么样的代码是好代码是重构的前提。翻一番重构这本书的那一章,你会有一些收获。好的代码就是一件艺术品。你也可以从别的开源的库和源码中找到灵感,学习的过程就是多看多练多思考。

虽然很多讲数据结构和算法的书上满是I,j,k这样简短的变量名。但是这些书的作者已经清楚的陈述过,那仅仅是因为自己的代码简短,为了方便而已,如果在大的工程项目中应该使用更有效的名称。最后讲一讲注释。注释强调的是为何而做而不是怎么做,因为你的函数就是怎么做的最好的注释。当然一些特殊的变量或者退出条件可以适当的添加注释以增强程序的可读性。变量和函数的名字一般来说是可以读出来的,如果你的变量和函数都不能用英语表达出来,那你写出来的东西基本就是没有人能看懂了。至于程序可读性的重要性,我忘记是哪本书上看到的很极端的又很恰当的一句话:程序写出来是给人看的,附带能在机器上运行。关于复用,正因为你前面的函数只做好一件事情,所以他们之间不会有重叠,并且你想拥有新的功能的时候,只需要组装他们。

如果希望自己的代码让人看着赏心悦目赞叹不已,具有高度的可读性和可维护性,让后期的开发和维护人员不嘲笑你埋怨你,你可以尝试看一下这两本书。

《代码大全》读后感:软件开发的精华与实践 本文是对《代码大全》一书的读后感,结合书中精华内容,深入探讨了软件开发的最佳实践和编码技巧。作者通过个人经验和案例分析,提炼出有效的编程方法和思维模式,为读者提供了一种系统性的编程学习路径。 阅读详情

相关推荐

避坑指南:LAMMPS做GCMC模拟时,化学势mu和压力p到底怎么设?

本文详细解析了LAMMPS中巨正则蒙特卡洛(GCMC)模拟的关键参数设置,特别是化学势(mu)与压力(p)的正确计算方法。通过理论分析、实用公式和黄金法则,帮助用户避免常见误区,提升模拟精度和效率,适用于各类复杂体系的分子模拟研究。

weixin_42525289的博客 429

《代码大全》读后感(一) 代码首先是写给人看的

读《代码大全》与读别的书不一样的就是,总能找到共鸣。书中所讲到的很多问题都是工作中实际会遇到的,很多经验都是从实际工作中总结出来的。很多东西都是以往所看的其他类技术书籍不会提到或者不会重点提到的,但却是自己工作中有深刻体会的。     “代码是写给人看的”便是我感受最深的一条。      关于代码可读性的争论一直存在,各个论坛里社区上总会有关于是否需要加注释的争论,甚至优快云上还会有用拼音命

dfgj 7481

电流镜结构实战:从零理解MOS管偏置电路设计(附吴金课程补充)

本文深入解析电流镜结构在MOS管偏置电路设计中的关键作用,从基本原理到实战应用全面覆盖。通过分析偏置电路的核心原理、破解设计难题的实用技巧,以及进阶优化策略,帮助工程师掌握这一模拟电路设计的核心技术。特别适合需要理解电流镜结构和基准电路设计的读者参考学习。

ujm5678901的博客 256

《代码大全》读后感:软件开发的黄金法则

在阅读《代码大全》的过程中,我还深受书中的案例分析所启发。它不仅为我们提供了丰富的编程技巧和实用的解决方案,还帮助我们建立了正确的软件开发观念和价值观。我相信,在未来的软件开发道路上,《代码大全》将是我不断前进的指南和动力源泉。这让我意识到,作为开发者,我们应该注重代码的可读性和可维护性,而不是仅仅追求功能的实现。这让我认识到,作为开发者,我们不仅要有扎实的技术基础,还要有良好的沟通和协作能力。这种系统性的阐述方式让我对软件开发有了更全面的认识,也使我更加明确了自己在软件开发过程中的定位和责任。

软件行业技术文化交流。 804

告别繁琐同步:Zotero与Obsidian双向联动新方案(基于Better BibTeX与MarkDBConnect)

本文详细介绍了一套基于Better BibTeX、Bibnotes Formatter和MarkDBConnect插件的Zotero与Obsidian双向联动方案。该方案通过建立智能数据通道,实现文献信息的自动同步与笔记的增量更新,解决了手动同步的繁琐问题,并支持在两大工具间无缝跳转,极大提升了科研和知识管理的工作效率。

weixin_29213827的博客 642

《代码大全》读书笔记

零零碎碎趁着空闲的时间把《代码大全》这本大头部看完了。这本书涉及到代码构建过程中的方方面面,讨论的主题主要是理解软件设计的复杂性,编写复杂度低、可读性强的代码。看书中的过程中以章节为单元摘录了一些重要的内容,也做了一定的总结和思考,算作一篇笔记,记录在此,希望可以便人便己。

xiaopan的博客 1500

第三方系统(异构系统)基于token身份认证方式访问Ecology9的Restful接口Ecology9服务器配置部分

通过Token的认证方式调用Ecology9系统Restful业务接口服务器配置部分

svsou的专栏 2175

代码大全读后感

代码大全读后感笔记

qq_38409301的博客 255

ADBC 全面解析:ABAP 开发者玩转 Native SQL 的实战指南

本文介绍了 SAP ABAP 中的 ADBC(ABAP Database Connectivity)技术,它是一种基于 ABAP 面向对象的类库,用于访问 Native SQL 接口。与 Open SQL 和 EXEC SQL 相比,ADBC 具有以下优势:支持特定数据库语法、可访问二级数据库连接、执行多种 SQL 操作且语法更 ABAP 化。文章通过示例展示了 ADBC 的基本用法,包括创建语句对象、执行查询和处理结果集。建议在需要数据库特有功能或二级连接时优先使用 ADBC,同时提供封装类来简化调用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 307

Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device

Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device, Quartus的安装过程不同于ISE/vivado的安装。“Current license file does not support”这种情况多出现在高版本的quartus中综合很久以前的代码,使用很早型号的FPGA或是CPLD。对于这种情况,就得在官网或是其他网站上下载包含所需Device的库文件。

夜半少年的博客 1万+

代码大全(Code Complete)-- 目录和关键点

这本书几乎占据所有“大神”推荐书单的前三甲,最主要的原因是这本书不是针对某一种语言,而更像是所有程序员应该遵守的“交规”。就像你可以在驾校开着车子绕圈,但是在驾校学会开车以后,在上路之前你还得把交规背熟,不然你就是“马路杀手”。写程序也一样,你如果不遵守写程序的“交规”,就会在你写的程序里横冲直撞,把零件散落到程序的所有地方,并且影响到团队的其他人的工作。   这本书不用太费脑子,但是在写程序之前最好能过一遍。

Java之旅 6003

ADC的有效位数(ENOB)、信噪比(SNR)和无杂散动态范围(SFDR)——详细分析

设计提示(从文本):选择ADC时,看数据手册的SNR、ENOB、SFDR vs 频率图。减小抖动:用低抖动时钟、优化PCB、电源滤波。对于大信号:关注SFDR(失真);小信号:关注SNR/ENOB(噪声)。如果ENOB不足,用过采样或多ADC并行提升(但增加复杂度)。为什么这段重要?它解释了为什么高速ADC(如用于5G、雷达)的规格那么贵:抖动和失真限制了高频性能。理解这些,能帮你避免设计陷阱。

VectorShift的博客 1403

《代码大全2》读后感

一、书籍基本框架 从三月起,这本书已经啃了差不多两个月了,囫囫囵囵总算是通读了一遍,除去最后的引用和查找表,八百七十几页的大部头,这个长度甚至超过了很多长篇小说。 书的内容非常细致,但却并不混乱,反而非常清晰,光是目录本身就已经将内容划分得相当清晰了。 二、一点读后感 与以前读过的《重构》一样,这本书里有很多经验在实际开发中都慢慢摸索了出来或是从其他书籍论坛中学习到过,但是更多的是完全没有意识到和模模糊糊没有形成明确概念的内容: 比如第30章编程工具里有“工具导向的环境”这样的内容,虽然在开发过程中会

fjjaylz的博客 1009

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

代码大全读后杂记-01

代码大全真是一本[b][color=red][size=large]厚[/size][/color][/b]书!但作者牛就就在写着么厚的书,却让你不觉得内容空虚(不像很多国内的混书水不拉吉),至少我看到第六章依旧觉得兴趣盎然,很多东西虽然似曾相识,但被作者巧妙的组织在一起让人有醍醐灌顶的感觉,妙哉; 因为本人奔三在即,记忆衰减严重,所以不再过目不忘(自然从来没有过该本事...),就借ItEye(...

realRyu的专栏 194

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

《CODE COMPLETE 2》读后感

  在读了《代码大全2》后的第一感觉是它不愧是软件工程类教材中的经典。具体的有以下几个原因: 1、他不局限于某种具体的软件开发,或在某种具体的环境下开发,是软件工程的通用教材。 2、书中内容的全面程度让你难以想象,几乎在软件工程中遇到的问题书中都有提及。 3、问题的解决方法很详细,提出、发现问题后大多数问题都给了不止一种的解决方法。 4、从基础到高端,书中的内容有显而易懂的基础,...

aal39671的博客 242

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

代码大全读后感(2)

本书的第三部分是变量(我总是搞不懂),这是全书描述的最细微的单元。主要包括如果对变量命名,变量与数据的绑定时间,基本的数据类型以及一些不常见的数据类型,比如指针、全局变量等等。变量命名是有多种方法的,用哪种无所谓,关键是要统一。变量与数据的绑定时间,这个问题我以前没有系统考虑过。书中的观点是绑定时间越滞后,则系统越灵活。这个我赞同。硬编码到程序中的,是直接赋予数值的常量,除非修...

dbqja7676的博客 174

一个前端工程师看完《代码大全》后的二三总结

题记: 书中自有黄金屋,书中自有颜如玉。 就好像 one piece ,等待着我们去发现,找到。不是所有的地方都有 one piece (书的每一章每一页),也许在某处,有一段耐人寻味的话,等待着我们去发现。一些人可能错过了,一些人可能找到了,这也许就是读书的魅力吧。 写在最前 读了很多技术方面的书籍,这本 《代码大全》 值得我去为它写一篇总结,这也是我在掘金写的第一篇书籍读后感,我非常提倡多去阅...

weixin_34008784的博客 536

《代码大全2》读后感czz

经老师推荐,买了一本《代码大全2》,花了近3个月的时间看完了,看完后觉得还有很多值得回味的地方,而且每部分之后作者还推荐了不少经典书籍。所以,作个读书心得。全书的主题是软件构建,关于软件构建问题的方方面面均有涉及,共分7个部分,从软件构建前期准备,到语言层的一些问题,再到代码完善,系统考虑以及软件工艺等等。以下分别进行简单说明。 第一部分是打好基础,本部分主要是软件构建...

weixin_30652491的博客 82

重构:改善既有代码的设计的评论

关于重构:改善既有代码的设计 评论读后感:给同事买的,书写的很好。不过有的地方俺不认同 呵呵。读后感:空白太多了 排版太大方了 感觉纸不用钱读后感:最近刚看完这本书,书的内容不错,有许多可以借鉴的地方,是我在重新审视自己做过的项目上有所思路。当当网买的这本书质量也挺好,和市面上没区别还便宜,我在北京住,所以邮递的速度也非常快。读后感:  首先,你应该关注的是提高书写干净,毫不含糊的,可维护代码的能...

weixin_30497527的博客 218

重构:改善既有代码的设计这本书怎么样

重构:改善既有代码的设计 当当上购买 当当网全场免运费!! 关于重构:改善既有代码的设计 评论读后感:空白太多了 排版太大方了 感觉纸不用钱读后感:都买了几次了书还没运到的,我无语读后感:给同事买的,书写的很好。不过有的地方俺不认同 呵呵。读后感:最近刚看完这本书,书的内容不错,有许多可以借鉴的地方,是我在重新审视自己做过的项目上有所思路。当当网买的这本书质量也挺好,和市面上没区别还便宜,我在北京住,所以邮递的速度也非常快。读后感:  首先,你应该关注的是提高书写干净,毫不含糊的,可维护代码的能

1213

《软件设计的哲学》读后感

引言 在知乎上看到有人推荐《软件设计的哲学》,遂找来读了。或许是由于个人水平有限,虽然感觉确实不错,但是却没有推荐的那么好。 复杂度 书中的核心观点认为软件开发的关键在于控制复杂度,以便后续的维护和扩展功能。 类似的观点在《代码大全》中也有看到过——《代码大全》提到,管理软件实质上是管理复杂度。 《软件设计的哲学》认为,复杂度会导致:修改放大、增加认知负荷和“未知的未知”,这三种现象最终导致了软件的难以维护。而软件的复杂度不是一下子就变得很复杂的,而是在开发的过程中不断积累,最终导致整个软件变得越来越复杂,

520

[课程相关]附加题——读后感

零、读哪本 这三本,客观和主观来说都是好书,不过我选择了《重构》,简单说下原因。 代码大全的厚度就让我有点发怵,翻翻目录,基本上是讲软件开发的整个过程,理论上的东西我之前看过不少,所以这种大部头还是等有时间了再看吧。 敏捷开发的话,由于我目前很少做团队开发,所以没有合适的应用环境。虽然对敏捷开发很感兴趣,不过考虑到当前应用不了,所以暂时推后。 最后就是重构了。由于我没事经常写写代码,所以对...

weixin_30853329的博客 106

《代码大全》读后感(2) 程序工作不正常总是有原因的

作者在书中,反复提及,不要在代码还没有写好或者自己根本就没有弄清代码逻辑的时候,就采用简单的尝试方法让程序编译和运行起来,查看结果是否正确,当结果正确后就认为已经完工了;一个典型的例子便是更改循环时候的比较条件,试试能不能干活。         我想很多人在还是新手的时候都犯过类似的错误吧,至少我犯过类似的错误。在学生时代实验室的项目里面,能够成功的编译是主要的工作目标之一,很多时候根本没有弄清

dfgj 1123
下一篇: 音乐的随机播放
MakeCodeClear
博客等级 码龄14年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值