今天看《高质量C编程指南》最大的体会是一个书名:细节决定成败

1、以前写代码心态不对:为了图省事或者为了尽快实现所需要的功能,
尽管知道某些做法存在隐患,但还是忽略了它,今后在编程中要戒除急功近利的思想

2、以前缺乏写高质量代码的意识:以前编写代码以实现的具体功能为目的,考虑代码质量问题甚少

3、以前调试程序只是知道最基本的debug查看内存变化是否是自己预期值的方法,只能说是略知皮毛,没有掌握精髓之处

4、以前写代码有自己的习惯,

有的习惯是好的,比如变量声明后马上赋初值;

有的是不好的,比如左大括号我习惯写在函数名同行,这也是写Java程序时留下的后遗症,
这样写有一个好处是一页可以显示更多行的代码,但另起一行确实程序显得结构更加清晰;

有些好习惯是需要借鉴的,比如昨天鄢大哥在写代码时习惯性的在代码中间语义转变行之间加空行,
我觉得这样使程序看着更加清晰和美观,还有今天书上看到的if(NULL==p)这样的方式确实能够有效的防止
把==错写成=这种情况的出现

5、不要滥用简洁的表达方式:以前在写if的判断条件时如果判断bool、int或指针变量是否为0,总喜欢写成if(变量名),
因为我觉得C语言中bool类型、整形反正归根结底都是整形,指针类型判断是否等于NULL,NULL也是0,这样写既简单又容易理解。
今天看了《高质量C编程指南》才发现原来为了避免误解,判断bool类型、整形和指针类型的方式是不同的

6、不要把难于理解的东西当作高深拿来炫耀:以前写C代码有时候喜欢写一些复杂的复合表达式,
用一行代码表达别人写好多行的意思,能用if判断的非要用?表达式,觉得好像很牛的样子,其实是大愚若智,
这样做既不美观也难于理解,同时最重要的是执行效率低下。写程序还是要戒骄戒躁

7、做C程序不能懒,特别是涉及内存管理方面:
动态内存使用过后一定要释放,如果不及时释放,有可能出现内存耗尽的情况;
即便动态内存释放了,指向该内存块的指针也要设为NULL,否则容易出现野指针的情况,产生意想不到的后果;
return的变量不能是栈内存的指针,否则可能出现指针指向的是垃圾;
为了防止意外的发生,养成好的编程习惯,比如指针使用完赋值为NONE,这些习惯看似耽误了一点时间,
实则大大提高了开发的效率。

8、学C必须忘记Java,Java使人变得懒惰,学C使人变得勤快;Java满足人的实现欲望,C满足人的控制欲望;
Java我是个刚入门的建筑设计师,开始知道关注系统整体架构;C我是个汽车技术师学徒,只能替师傅拧一拧螺丝。

《高质量C编程指南》读后感相关推荐

  1. GC13:XO独占游戏《神鬼寓言传奇》公布

    作者: 来源: www.bts668.com 微软日前公布了<神鬼寓言传奇>(Fable Legends),该游戏是此系列作品的新作,将作为Xbox One游戏出现. 这款由狮子头工作室开 ...

  2. Facebook 重金挖不到,ASP.NET 之父,微软大神“红衣教主”传奇

    作者 | 伍杏玲 出品 | CSDN (ID:CSDNnews) 2018 年底,微软"王者归来",时隔 16 年市值重返全球第一.人们纷纷用"力挽狂澜"&qu ...

  3. 乔布斯去世衍生多种周边产品(支持乔布斯请顶)

    各种乔布斯肖像 乔布斯公仔 乔布斯立体纸人 不管你是不是狂热的苹果粉丝,是不是拥有n多的苹果产品,苹果帮主乔布斯都应该值得我们纪念. "为什么说乔布斯改变了世界?没有 iPhone,就不会有 ...

  4. 一战封神!“中国飞人”苏炳添跑出9秒83到底有多牛?

    公众号后台回复"图书",了解更多号主新书内容作者:CDA数据分析师来源:CDA数据分析师 [导读] 在刚刚结束的东京奥运会百米飞人大战上,中国选手苏炳添在半决赛跑出9秒83,刷新了 ...

  5. 乔布斯导演的最后一幕

    连作者也说,他仅仅是这本书的写作者,真正的作者是乔布斯."中信出版社总编辑潘岳近日分享了<史蒂夫·乔布斯传>幕后的故事.这本传记预定期已达100万册,预估最终销量将达到500万册 ...

  6. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全

    史上最牛的Linux内核学习方法论   点击下载 我的arm_linux移植笔记   点击下载 S3C2440完全开发流程   点击下载 Linux系统命令及其使用详解完整版   点击下载 Linux ...

  7. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全...

    史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux主要shell命 ...

  8. 养成励志的习惯,一生励志——文指星终极励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  9. 养成励志的习惯,一生励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  10. 【转】乔布斯经典语录

    2011年8月25日消息,乔布斯辞去了苹果公司CEO的职务.10月6日,传来了他去世的消息.在此缅怀乔帮主的同时,与大家分享乔布斯在世时的经典语录.(来自于<乔布斯传>--神一样的传奇的附 ...

最新文章

  1. 2021年春季学期-信号与系统-第四次作业参考答案-第二小题
  2. String、toString、String.valueOf()三个有啥区别?
  3. 【BZOJ2245】[SDOI2011]工作安排 拆边费用流
  4. ACM 模板--链接表 无向图
  5. 每日一博 - CAS(Compare-And-Swap)原理剖析
  6. 十 Java集合框架(2):Set接口
  7. weixin微信公众号一站到底游戏代码(有点普通)
  8. 【前端基础知识】chrome安装React Devtools
  9. AirServer for Mac(ios投屏到mac的实用工具)
  10. 基于单片机的智能家居环境监控系统的设计
  11. HTML小游戏——打砖块
  12. malloc和calloc异同
  13. 如何修复计算机的无限功能,Win10系统自动修复时出现无限死循环或提示无法修复怎么办 如何禁用自动修复服务...
  14. 【UER #7】套路
  15. Landsat 行列号与经纬度在线转换
  16. 2020最新版前端学习路线图--让前端学习变得美如画
  17. 风变编程学习笔记0-3关【纯代码版】
  18. 用代码过中秋,python海龟月饼你要不要尝一口?
  19. arcgis 栅格数据热点分析
  20. MCAFEE按访问扫描被禁用,卸载MCAFEE方法!

热门文章

  1. 小程序快速入门:坏境和生命周期
  2. Kubernetes SharedInformerFactory共享Informer机制源码深入剖析-Kubernetes商业环境实战
  3. cxf整合spring发布webservices服务端
  4. Windows Boot Manager改成中文菜单
  5. mysql死锁——mysql之四
  6. [label][responsive-web-design]网页响应测试各种尺寸的工具
  7. [文档]CSS中文字体对照表
  8. 借书问题(入门级算法)(C语言)
  9. SSL Library Compare
  10. C/S打包 客户端/windows程序 Inno Setup