代码大全_V2(1,2章笔记)】的更多相关文章

<代码大全2>第一.二.三章 隐喻思维在西方是一个热门的话题,隐喻的认知功能在各个学科正受到越来越多的重视,依照我的理解,其实就是以众所周知或者理解主体熟悉的事物为符号去将新事物.新概念具象化,与打比方的认知方式有同工异曲之妙.在<代码大全2>第二章,作者Steve McConnell主要列举了4种针对软件工程的隐喻:书法(写作代码).耕作(培养系统).牡蛎养殖(系统生长).建造新建筑(建造软件).作者认为前两者已无法.或者说从来都不能准确描述软件工程,书法暗示软件开发是一项代价昂…
这一周博主阅读了<代码大全2>第11章至第13章,第三部分——"变量"就结束了,第四部分作者将转入语句的讨论. 第十一章作者详细阐述了变量名的有效命名规则,第十二和十三章则简略介绍了使用各种数据类型时的注意事项.在这篇博客中我主要会在变量名命名和全局变量的使用上谈谈自己的读书心得. 变量名的力量 我们先来谈谈命名规则的必要性.为什么要有命名规则?会破坏创造性和程序质量吗?这一点我在上一篇读书笔记中已经以最近结对编程为例提到过了.对程序质量的实质约束往往来自高层设计,有效的标…
博主终于继续更<代码大全2>了 (*´・ω・`)⊃,课上老师一再强调读书笔记要写出自己的心得不能简单摘抄,所以我现在基本上只会写一下自己在阅读过程中印象深刻或者有发散思考的地方,字数可能会明显减少.其实之前按原文大段摘抄是考虑到也许真的有一些没办法看到原著的读者...... 本周我阅读了第九章“伪代码编程过程”和第十章“使用变量的一般事项”.第九章主要介绍了伪代码编程过程(Pseudocode Programming Process, PPP)如何减少设计和编写文档的工作量,以及提高这两项工…
本周阅读了<代码大全2>第14章至第17章,这几章对我们熟悉的直线型代码.条件语句.循环语句和一些不常用的控制结构(如goto.try-catch结构)提出了一些使用建议,以下分享条件语句和循环语句部分的阅读心得. 条件语句 使用if-else语句时,稍微花点心思在缩进的对应上可以给后期的调试提供便利.对于只有一个操作的情况也应使用花括号使其成为一个代码段.将正常情况的处理放在if子句后面或者else子句后面,或者至少嵌套使用中做出统一的规定.在if-else嵌套语句中,把正常的.最常见的情况…
<代码大全2>第8章:防御式编程 防御式编程的主要思想是子程序应该不因为非法的输入值被破坏,就好比开车时的防御式驾驶:你无法预估其他司机将会做什么,但你要采取措施保证当他人做出危险动作时自己不受伤害.防御式编程的核心其实是承认程序始终存在问题,需要不断地被完善. 保护应用程序不受外部错误输入破坏的主要思路有三种:检查所有来源于外部的程序的值,检查子程序所有输入参数的值.决定如何处理错误的输入数据.然而防御式编码的最佳方式是一开始就不要在源码中引入错误,使用迭代式设计.写代码前先写测试用例等等,…
<代码大全2>第六.七章 作者在第六章中从抽象数据类型(Abstract Data Type)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题.抽象数据类型(ADT)是指一些数据以及对这些数据所进行的操作的集合,ADT是一个比类更基础的概念,类由ADT出发得到扩展,或者说,类是ADT的实现形式之一.ADT概念是与本书前文中的整体抽象概念一脉相承的,使用ADT可以隐藏实现细节,更容易提高性能,让程序更具有自我说明性(self-explanatory),这都是从管理…
<代码大全2>第四.五章 第四章“关键的‘构建’决策”主要有以下三要点:1.每种编程语言都有优点和缺点,程序员应根据需要选择编程语言,尽量选择熟悉的语言以提高生产效率.作为一种表达工具,编程语言当然也会影响到使用者的思维,然而大多数重要的编程原则并不依赖与特定的语言,而是使用语言的方式.作者提倡“深入一种语言去编程”,当选择的语言缺乏构件或者其他问题时,我们不应该被语言的可行性束缚住,而是试着发明自己的编码约定.类库等去弥补它.2. 高质量的软件工程强调“架构的概念完整性”与其“底层实现”之间…
<代码大全(第二版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382264 内容简介 <代码大全(第2版)>是著名IT畅销书作者SteveMcConnell十一年前的经典著作的全新演绎:第二版不是第一版的简单修订增补,而是完全进行了重写:增加了很多与时俱进的内容.这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节.它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术.高屋建瓴的观…
续前文: 中文代码示例之Programming in Scala笔记第七八章 源文档库: program-in-chinese/Programming_in_Scala_study_notes_zh 疑似中文命名bug program-in-chinese/Programming_in_Scala_study_notes_zh. 复现如下. 需要深究: scala> for ((行1, 行2) <- Array(1,2) zip Array("a", "b&quo…
续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_in_Scala_study_notes_zh 第七章 内置控制结构 7.8中改为函数式风格的乘法表: def 创建行序列(行: Int) = for (列 <- 1 to 10) yield { val 乘积 = (行 * 列)…