《代码大全》读书笔记

初读云风大大的读书笔记,收获蛮多,云风大大的读书笔记只记录了1到442页的。我直接读了400页之后的,也做了后续的读书笔记。《代码大全》第二版确实是一本好书,每个人读了能领悟的东西并不一样,本读书笔记是博主略有领会的东西,分享出来是希望没读此书的人有所收获,要是能引起你对《代码大全》的兴趣,去通读本书的话就更好了。

另附云风大大的1到442页读书笔记链接:http://blog.codingnow.com/cloud/CodeComplete

P439 短路求值,更好的办法是使用嵌套循环,而不是依赖求值的顺序或者短路求值。

P440 数轴排序法

判断顺序i>minValue and i>maxValue的写法更优于minValue<i<maxValue的写法,这样更能强调你写判断的变量是什么。

P441 和0比较,写成显示而不隐式,写成while(done !=0)而不写成while(!done)。

P443 空语句有“这里不希望做任何事情”的意义。

P445 很少有人能理解3重以上嵌套IF语句,如果深层次的嵌套出现在循环里,你通常可以把循环体提取成子程序来加以完善。

P456对于三种标准的结构化编程结构之外的任何控制结构的使用—也就是说,使用break、continue、return、throw—catch——都要持一种批判的态度。

P458 决策点,if 、while、 and 、or 、case、 for。

P505 结构化基础测试,数据流测试,边界值测试,等价类划分,错误猜测,几类坏数据,几类好数据,测试本身的错误。

P552 修改代码之前保存备份以前的代码。

P553在不是完全理解代码的时候不要修改代码,(坚决否定“我不知道这段代码出了什么问题,我试试这样修改它,希望它有效果”这样的做法)。

P593 减少代码行数就能提升生成机器代码的速度,减少占用的资源这样的想法是错的。

P595 尽可能的使每个子程序的运行达到最快,最小。能使程序运行的时候最小最快是错误的,这样很可能会忙着优化无关紧要的子程序,而对整个系统全局性的优化点视而不见;

代码可移植的时候,在某个环境中提升性能的方法在其他环境中可能会损坏性能。

代码调整;

在不能正确运行出结果之前,不要要求程序更小巧或者运行更快。

P597  选择合适的编译器优化程序,得到的效果可能比用编写技巧的更好,花式的编译让编译器优化的时候痛苦不堪。

P598 常见的低效率资源

输入输出,能在内存中操作就不要在硬盘、数据库、或者跨网络操作;

分页,系统交换内存页面的运行速度比在同一页内低很多;

系统调用;

解释型语言。C/C++、visual basic、C#编译型;java字节码;PHP,Python;

错误,去掉了调试代码、忘了释放内存、数据库设计失误、轮询并不存在的设备。

P612 按出现频率来调整顺序。

P614  case语句或者if—then—else语句组开发环境不同,任何一种都有可能性能更高;

用查询表代替复杂表达式。

P617 循环内判断外提,提高性能的方法(慎用),不过和编程规范违背,有的时候代码可读性甚至比运行速度和占用资源更重要。

P617合并,展开循环。

P618 尽可能的使循环内部做更少的工作。

P623 把最忙的循环放在最内层,削减强度——用轻量级运算来代替一次高昂的运算。

P625 使用整数型而不是浮点数型,整数型的运算比浮点数型的运算快得多。

数组维度尽可能的少。

P628  缓存机制,把某些常用的值存起来,需要的时候直接从内存读取,而不需要重新从硬盘读取。

P628 代数恒等式,用低复杂度的操作代替高复杂度的操作,比如判断sqrt(x)>sqrt(y),只有当X>y时,才可能sqrt(x)>sqrt(y),编码时候直接用x>y代替。

P633  小心系统函数,系统函数往往提供极高精度的数据,相对的代价是系统函数运行非常非常的慢。不需要那么高的精度,就不要耗费时间去计算它。比如计算log以2为底的对数,但返回的是整形。

P635  使用正确的变量类型,好的编译器在编译期间就进行类型转换,然后赋值,不影响运行时候性能,差的编译器在运行时候才进行类型转换,严重影响运行性能。

预先计算出结果,存在表中或者数组中,需要的时候直接从表中或者数组中读取速度快的多。

P640 关键模块用低级语言重写代码。

P649—661  27章 程序规模对构建的影响(跳过)

P666需求变更和设计变更要成组控制和管理

P693增量集成(以核心为主,一个个集成)比阶段性集成(多个一起集成)更容易定位错误,改善对进度的监控,更加充分的测试各个单元。

集成方法:阶段式、增量、自上向下、自下向上、三明治、风险导向、功能导向、T型集成。

P711 编程工具,好的工具能让你舒服很多。

针对多个文件的查找和替换工具;

Diff工具——修改不同的文件比较器;

Merge工具,不允许多人同时修改同一个文件;

Source code beautifuler源代码美化器——使源代码格式统一;

Interface documentation接口文档生成工具。

P732能让好代码美观,使差代码难看的技术比那些让良莠不齐的代码看起来都很漂亮的技术更有用。

P732 布局技术:空白(分组/空行/缩进)、括号。好的风格适合大多数情况。

P755 单行语句布局:多用空格,过长语句换行运算符放首位结构更清晰(不完整明显标示原则)。

P758 每行仅写一条语句。

P762 尽可能的缩短变量的生存时间。

P787 代码注释指出代码解决的问题,而不是代码处理的方法。

P790 注释也要便于维护的风格。

P793 不要对单/多行代码做行尾注释。

P810 注释的一般原则:

说明文件的意图和内容;

将姓名、邮件和电话留在注释块中;

包含版本控制标记;

请在注释块中包含法律声明(版权声明);

将文件命名成与其相关的名字。

后面还有三章,可能经历尚浅领悟不深,有兴趣的童鞋自己去读读吧。第33章:个人性格;第34章:软件开发艺术的有关问题;第35章:何处有更多信息。

第一篇随笔,不是技术性的东西,以后学成后再分享高深点的东西吧,还请多多指教。

时间: 2024-10-13 13:44:25

《代码大全》读书笔记的相关文章

码农的产品思维培养第一节(人人都是产品经理读书笔记)

在前段时间,密集的推出Android学习记录之后,我觉得接下来的Android开发进入了一个精进演变的过程,革命性的东西略缺.每日更新特别新的东西也违背认知规律.所以以后关于Android方面的知识,碰到什么,然后记录什么. 而今天,在前一篇日志里面,我描述了我为什么要去理解"产品经理",从这一节开始,我要实施我的计划.所以,和Android记录一样,我要记录这个过程.对自己是一个回归总结吸收的过程,同时也希望能够帮助到更多的朋友,如果你也心存学习进取之心,如果你也如我一般疑惑未解心不

人人都是产品经理读书笔记(四)

补充:

《启示录:打造用户喜爱的产品》—— 读书笔记

这是一本非常不错的书,即使你可能只是一名开发工程师,也会有意想不到的收获! 如果你是一名产品经理,那就更不能错过了!不要留下遗憾! 这真的是一本很好的书,读每一遍都会有不同的收获,绝对让你震撼!我是会再读一遍或者N多遍的, 而能把这些内容转应用到实际中的人才是真正的高手,细细体会,在工作中好像已经有人在用了!惊讶!得抓紧时间了! 通过这本书,你将会知道一个合格的产品经理应该做什么,怎么做 本书主要讲解三个方面:人员.流程.产品 人员:产品从开始到完成过程中所有的参与者 流程:产品在开发过程中的所

产品经理学习笔记(二)------产品经理的工作职责(下)

二.产品经理的工作职责(下) 4.产品宣讲 ---宣讲对象:客服.市场.销售.运营.其他(开发进度到50%) ---宣讲目的:内部培训.获得认可 ---宣讲方式:内部推荐会(预测.演示.试用).注意控制(氛围.引导) ---宣讲目标:获得认可.帮助其他团队更好理解产品.协助其他团队更好开展工作 5.市场推广 ---对产品资料进行内容把关:网站.移动应用.印刷品等 ---主要针对:市场.公关.运营.销售 6.产品推出后的管理与迭代 ---运营数据的整理分析 ---深入一线体验产品 ---关注用户需

产品经理--读书静心的日子

入行教育,做教育产品工作,需要不断的进步. 一.了解产品开发.项目管理经验. 二.教育基础理论及相关知识. 小学阶段 (2016.2017不断的翻阅,有新的体会) 中学阶段(2018主攻方向)

谷歌和亚马逊如何做产品(读书笔记)

《产品经理》读书笔记

自从鼠标手犯病后,就刻意减少使用电脑的时间并且加强运动,目前已经完全康复,但是还是需要注意.因此更新博客的频率大大降低,但是也有时间多看看书,学习学习了! 最近看了<yes,产品经理>上下册,作者 汤圆 老马,文笔诙谐,把管理知识融入工作日常内容,浅显易懂,对于非管理专业的门外汉,还是不错的读物! 下面是摘抄的部分主要内容,个人认为比较有用的就记录下来. ------------------------------------------------ 制定产品价格策略的6步: 确定企业目标 冲

产品经理的那些事第一章读书笔记

1.一个产品经理的信仰:好产品能改变世界. 2.为什么要做产品经理:因为热爱,改变世界的方法有很多,技术可以改变世界,好的产品也可以,当然还有其他,但我热爱产品,一件事只有热爱了,才能持续不断的去做好,所以我选择了产品经理这条路. 3.产品是什么:产品是用来解决某个问题的东西. 4.产品经理为何而设:想要更了解产品与它面临的竞争情况,最终目的是要满足顾客的需求. 5.产品经理概念的进化: 分析: 1)行业形态不同:成熟行业vs.新兴行业 ①传统行业 概况:经过几十年乃至上百年的摸爬滚打,市场已经

【读书笔记】产品经理要做的事

文章链接:http://www.chanpin100.com/archives/44223 作为一个产品经理,不能只画图:产品经理更像是一个纽带,连接着各个环节,保持项目的正常运行. 在开始要做一个产品的时候,不能上来就画图,也不能告诉你需求就开始画图.应该先对需求进行筛选和挖掘:把伪需求去掉,挖掘出潜在需求. 1.分析产品的步骤:目标人群.使用场景.业务核心. 2.在团队中担任掌舵人,有目的的引导团队:激发团队灵感可以使用商业画布:客户分布.价值主张.渠道通路.客户关系.收入来源.核心资源.关

【读书笔记】神一样的产品经理(一)

 第一篇 产品经理 1.产品经理诞生的背景和价值 *很多入门级书里都会提到这一部分,本书讲了保洁诞生的第一个产品经理的故事. 2.很牛的产品经理(例子是乔布斯.郭靖) 1)几个重要特性:*影响力 *核心需求把控力 *创新力 *痴情力 2)产品经理的职责: *明确产品的目标用户群及其特征*获取.评估和管理用户需求*完成产品需求文档.产品原型和流程图*精通用户体验.交互设计和信息架构技能*项目管理.需求变更管理和需求验收*产品运营数据的分析和总结*提供运营.市场和销售等支撑 3)产品经理常犯的错误