摘要:
1.当编译器看到模板定义的时候,它不立即产生代码。 只有在看到用到模板时 ,如调用了函数模板或定义了类模板的对象的时候,编译器才产生特定类型的模板实例 。2.普通代码和模板代码的区别: 一般而言,当调用函数的时候,编译器只需要看到函数的声明。类似地,定义类类型的对象时,类定义必须可用,但成员函数的定义不是必须存在的。因此,应该将类定义和函数声明放在头文件中,而普通函数和类成员函数的定义放在源文件中。 模板则不同:要进行实例化,编译器必须能够访问定义模板的源代码。 当调用函数模板或类模板的成员函数的时候,编译器需要函数定义,需要哪些通常放在源文件中的代码。3.标准C++为编译模板代码定义了两.. 阅读全文
摘要:
第四章 注释关于注释的认识和理解:<1>什么也比不上放置良好的注释来的有用;什么也比不上乱七八槽的注释会搞坏一个模块;什么也不会比陈旧、提供错误信息的注释更具有破坏性;<2>如果编程语言足够有表达力,那么就不需要注释;<3>注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败;(4.1)注释不能美化槽糕的代码 写注释的常见动机之一是糟糕代码的存在。与其花时间编写解释你那糟糕代码的注释不如去清洁你那糟糕的代码;(4.2)用代码来阐释 很多时候,简单到只需要一个描述与注释所言同一事物的函数即可;(4.3)好注释 唯一真正好的注释是你去想办法不去写注释 <4 阅读全文
摘要:
第三章 函数(3.1)短小 这也意味着函数不应该大到足以容纳嵌套结构。所以,函数的缩进层级不该多于一层或两层,便于阅读和理解;(3.2)只做一件事情 函数应该做一件事。做好这件事,只做这一件事; <3.2.1>如果函数只是做了该函数名下同一抽象层上的步骤,则函数还是只做了一件事情; <3.2.2>只做一件事的函数无法合理的被切分为多个区段;(3.3)每个函数一个抽象层级 <3.3.1>要确保函数只做一件事,函数中的语句都要在同一抽象层级上; <3.3.2>自顶向下读代码:向下规则 我们想要代码拥有自顶向下的阅读顺序。我们想要让每个函数后面都跟着位 阅读全文
摘要:
这本书作为一个初级的程序员和想进入这个行业的人来讲,很值得一读,本人尚未读完,程序员的写代码素质有待提高...阅读进度:第一章 整洁代码第二章 有意义的命名第三章 函数第四章 注释第五章 格式第六章 对象和数据结构第七章 错误处理第十章 类序:<1>软件质量,不但依赖于架构和项目管理,而且与代码质量紧密相关;<2>代码质量与其整洁度成正比。干净的代码,既在质量上可靠,也为后期维护、升级奠定了良好的基础;<3>” 小处诚实非小事”,“神在细节之中”;<4>“5S”哲学:整理、整顿、清楚、清洁、身美;第一章 整洁代码(1.1)要有代码 我们永远抛不掉 阅读全文
摘要:
阅读进度: 第一章 注重实效的哲学(1~6) 第二章 注重实效的途径(7~8) 第一次阅读这本书,说句老实话,由于水平有限,编 0程的经验又不足,觉得读起来有点晦涩,不太习惯这种文章的描述风格,没有读多少,下面就把阅读之后有所感的的部分摘录下来... 序: 注重实效的程序员的特征 <1>早期的采纳者/快速的改编者; <2>好奇; <3>批判的思考者; <4>有现实感; <5>多才多艺; <6>关心你的技艺; <7>思考你的工作; <8>跃出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注 阅读全文
摘要:
一、委托的基本概念和使用方法描述: 概念: 委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法。委托的本质就是类,在任何可以声明类的地方,都可以声明委托。 使用方法: 如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。 对于静态方法,委托对象封装要调用的方法。 对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。二、委托使用举例: //声明委托 delegate void MyDelegate1(string s); public class MyClass { public static vo... 阅读全文
摘要:
一、Module的由来 早先的VB语言都有模块和类模块的概念。所谓模块一般就是存放公用的一些方法(Sub)或者函数(Function),而类模块,相当于就是我们经常所说的类的概念。二、VB.Net中的Module <1>模块(Module)里面可以直接有方法,这些方法自动就是静态的(或者称为共享的——VB.NET中的关键字是Shared),这些方法可以直接调用,所以Module是无法实例化,也没有必要实例化的 <2>模块无法继承,也无法实现接口 <3>模块里面可以有类,但其实这个类并不需要真的通过模块作为前缀来引用。所以模块有点虚的概念 <4>模 阅读全文
摘要:
一、构造函数与析构函数 Sub New(参数列表) 初始化操作 End Sub 说明: <1>每当创建类的实例时,如果该对象中存在名为 New 的过程,则公共语言运行库 (CLR) 尝试执行它; <2>New 是一种称为“构造函数”的过程,该构造函数用于在对象中的任何其他代码执行之前初始化新对象; <3>New 构造函数可用于打开文件、连接到数据库、初始化变量以及处理任何需要在可使用对象前完成的其他任务; <4>从最顶层的基类开始一层一层向下构造; Protected Overrrides Sub Finalize() 收尾操作 End Sub 阅读全文
摘要:
在公司实习了两个月,我有了一个感觉:你使用一门编程语言或者技术与你将该门编程语言技术内化为自己的智慧是两件不同的事情。 在学校的时候,可能是在认知心理上养成了一个坏毛病:学习一个新知识,如果我没有从原理上去理解它,从整体上去理解它,没有将其纳入自己的内心智慧结构的话,我就排斥使用它。很长一段时间,抱有这种想法,还挺自命清高,以为自己是个追求境界的高手,实际上,这个挺不是符合现实生产力的发展要求。在以后的工作中,有很多的新东西要学习,没有多少时间让你去从心理上去彻彻底底的内化它,更多的是,你要不断的去熟悉它的使用技巧和方法,不去过分纠结那些所谓的本质和原理。当然,那倒不是说知识的深入理解和... 阅读全文