自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tyst08的专栏

种一棵树最好的时间是十年前,其次是现在

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 代码大全学习-16-不常见的数据类型(Unusual Data Types)

所谓不常见的数据类型,就是在现代的面向对象的编程中不提倡从而不常见的类型。主要有三种:结构体(structure), 指针(pointer), 和全局变量。 结构体相对来说还是比较简单,它可以看做是只有公有成员变量的类。其主要用途就是把相关联的数据组织到一起,可以把大堆的数据分组;可以简化对一大块数据的操作,比如复制,交换;可以简化参数列表;从而简化了维护的工作。当然,也可以考虑用类来实

2012-07-29 08:16:38 751

原创 代码大全学习-15-基础数据类型(Fundamental Data Types)

这一章没什么好说的,需要注意的checklist里都列出来了,用的时候一条一条对着看就行了。Checklist: Fundamental Data TypesNumbers in General Does the code avoid magic numbers? Does the code anticipate divide-by-zero errors? Are

2012-07-28 09:11:42 418

原创 代码大全学习-14-变量名的力量(Power of Variables Names)

这一章对变量名的讲述是相当的具体,作为一本手册真是名符其实。我不想在这里再重复那些具体详细的方法,可以去翻书,或者按照后面附上的checklist一条一条去检查。这里主要讲讲为什么要有那么多方法。 原因就是增强程序的可读性,从而降低程序的复杂性。所有的总总方法都围绕这一目的展开。像变量名要能准确完整的描述这个变量表示的内容,要描述它是什么(what),而不是怎么做(how),越具体越好,

2012-07-26 07:47:31 1078

原创 代码大全学习-13-如何使用变量(General Issue in Using Variables)

从这一章开始,将讲述变量有关的内容。这里所说的变量是广义的,包括系统自带的类型像整数,数组等,也包括各种自定义的对象。 这一章讲的是一些基本的用法,定义,初始化,生存范围,绑定时间等。 定义要注意的是一定要显式定义,有些语言支持隐式定义,像VB,最好不用,可能出错。 初始化是最容易出错的地方,有一些规则可以尽量减少出错的概率。一、定义的时候初始化。二、第一次使用之前初

2012-07-24 21:31:32 636

原创 代码大全学习-12-伪码编程(The Pseudocode Programming Process)

伪码编程的概念相信大家都知道,就是用伪代码,也就是描述性的语句来表示一个程序的实现过程。遗憾的是,包括我自己在内,用的人不多,就算是用,用得也不好。看完这一章之后觉得,以后还是要好好用这个工具。 伪码编程有很多好处,首先,它是用类似于自然语言的陈述,有利于我们理清思路,到底这个类,这个函数要干什么,怎样做。伪码不要用程序语言的语法,尽量要用自然语言,这样可以把它翻译成任何程序语言。伪码的

2012-07-22 20:50:38 1521

原创 代码大全学习-11-防御式编程(Defensive Programming)

防御式编程,顾名思义,就是保护自己不受其他人错误的影响,防御那些意料之外的错误。比如对一个函数来说,即使它被传递了一个错误的数据,它还是可以继续正常工作,哪怕这个错误数据是其它函数的错,好的程序永远不会输出垃圾信息。防御式编程帮助我们更容易发现错误,改正错误,当然,最好是一开始就不要引入错误,也就是可以利用一些方法,规则尽可能减少错误的产生。好了,下面说方法。 首先,要抵御外来的侵略,也

2012-07-22 09:29:11 1329

原创 代码大全学习-10-高质量的函数(High-Quality Routines)

讲完了高质量的类,第七章就接着讲了高质量的函数。 要创建函数的原因像创建类的原因一样有很多:降低复杂性;引入便于理解的抽象;避免重复的代码;支持子类;隐藏顺序执行的过程;隐藏指针操作;增加可移植性;简化复杂的布尔逻辑;提高性能等等,最核心的也还是降低复杂性。有时候我们不要因为一个函数只有一行代码就不去创建它,有可能这一行代码会在很多地方重复使用,而万一哪一天你要改它,一个杯具就此产生。

2012-07-21 12:41:58 757

原创 代码大全学习-9-实现

接口设计好了,实现也不能含糊。下面就来讲实现相关的问题,包含,继承,成员变量和成员函数,构造函数等。 先说包含与继承。包含是“有”(has a)的关系,继承是“是”(is a)的关系。这还是很好区分的。包含也可以通过私有继承来实现,但这种方式应该是实在不得已才为之的,因为这样做会破坏封装,增加复杂性,不提倡。无论是包含还是继承,都要注意一个著名的数字7±2。这个数字号称是一个人能同时记住

2012-07-20 20:34:15 412

原创 代码大全学习-8-创建高质量的类

第六章是讲如何创建高质量的类。首先作者介绍了一下抽象数据类型ADT(Abstract Data Type)。一个ADT就是一些数据和对这些数据的操作的一个集合。在面向对象的程序语言中,可以用一个类来实现。当然,类比ADT多一些东西,像继承,多态等。面向对象的语言也会自动支持多个实例,用起来很方便。若是非面向对象的语言,那么实现ADT就要多考虑一下了。若是有多个实例,可能要在ADT的操作中增加一个I

2012-07-16 21:51:50 361

原创 代码大全学习-7-设计的实践

前面一节的启发主要专注于设计的属性,也就是最终的设计是什么样的,这一节的启发则专注于设计的实践,即通过怎样的步骤可以得到好的结果。同样是启发式,所以也有各种各样的方法。 1、迭代。一般来说第二次的设计都会比第一次的好,而且我们会从每一次设计中学到东西,从而提高整体的设计水平。 2、分而治之,各个击破(Divide and Conquer)。人脑的容量,处理能力都有限,对于大的问

2012-07-14 11:48:14 1245

原创 代码大全学习-6-启发式设计

各种启发式设计的方法:1、寻找真实世界中的对象 主要包括下面几个步骤: 确定对象以及它们的属性,包括方法和数据; 确定每个对象是干什么的; 确定每个对象可以对其他的对象做什么; 确定每个对象的哪些部分是公开的; 确定每个对象的接口。 这几个步骤不一定按这个顺序,可能是反复确认。2、形成一致的抽象(Form consist

2012-07-12 22:11:10 980

原创 代码大全学习-5-构建中的设计

第五章是讲构建中的设计 (Design in construction)。 第一节介绍了设计中面临的一些挑战。设计是一个"wicked"的问题,就是需要通过解决或者部分解决才能定义清楚的问题。作者特别举了Tacoma Narrows大桥的例子来说明,不等到这个桥被建好,并被风吹倒,设计者根本不会知道设计的时候还要考虑风的影响。设计也是一个"Sloopy"的过程,过程中会犯错,一个好的方案

2012-07-10 21:52:18 342

原创 代码大全学习-4-关键决定

第四章主要讲了在创建过程中关键的几个决定。 第一,选择编程语言。高级语言会带来更高的生产率和质量。不同的语言在表达概念方面有不同的特点,而Sapir-Whorf假说认为,人必须知道要表达的思想的词汇才能想到要表达的思想;如果不知道那些词汇,人就不能表达那个思想,甚至根本不会产生那个思想。所以多学几门编程语言没啥坏处,可以提供更广阔的视野,激发更多的好想法。 第二,编程约定。这一

2012-07-09 21:52:37 330

原创 代码大全学习-3-充分准备,降低风险

花了几天时间看完了第三章。从这一章用木匠的这条谚语——Measure Twice, Cut Once——作为标题,可以看出这一章的核心内容就是讲要做好充分的准备。而准备的终极目标就是降低风险。 首先当然是解释为什么。我相信有过软件开发经验的人都已经不再对此怀有疑问。作者在书中还是很认真地从逻辑,类比,以及用数据作出了解释。对此结论没有疑问的,可以略过。 有用的在后面,当我们忘了

2012-07-07 22:40:22 328

原创 代码大全学习-2-软件创建

看完了前两章。第一章主要在讲什么是软件创建(Construction)。第二章着重在讲如何通过一些比喻更好地理解软件开发。下面详细说。 软件开发主要包括的方面:1. 问题定义(Problem definition)2. 需求分析(Requirements development)3. 创建计划(Contruction planning)4. 总体设计(Softwa

2012-07-02 21:03:33 406

Python贪吃蛇双人大战

Python贪吃蛇双人大战原版和升级版,可配合博客阅读https://blog.csdn.net/tyst08/article/details/105521505,https://blog.csdn.net/tyst08/article/details/105620941。希望对大家有所帮助。

2020-04-19

RINEX & RNXCMP.zip

1、RINEX标准最新版 V3.04 带书签。 2、RNXCMP windows版,包含 crx2rnx 和 rnx2crx 工具。

2020-03-29

Code Complete 代码大全 第二版

Code Complete 代码大全第二版,经典不容错过。每次重读都有新的体会,适合所有的程序员及软件项目管理人员一读。

2016-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除