自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 由晒衣服想到的——工程设计中的预设错误(故障、异常)防范设计的思考

那天早晨,在家中阳台上晒衣服。给衬衫领口的钮扣扣上了。放到阳台外的凉衣架上去晒。这时,不知怎么回事,觉得衣服只扣一个钮扣是不是不安全。如果大风吹过,会不会把钮扣吹开,衣服吹掉。于是又给在给衬衫加了一个夹子。        由此想到,在工程设计中。无论是计算机软件的或是其它工程的,我们预先都会设想很多的异常情况(或称故障,可以被考虑到的。除此之外,还有相当多的故障是无法预知的)。对于这些异常情况

2013-05-02 00:01:25 692

原创 长板、短板

经常听人说:“一个人的成就大小取决于他最短的那块短板”,亦或是说:“水桶盛多少水,取决于它的最短的那个板”。通长,这都用于说一个人的成就大小,取决于他最不济的哪个方面对他造成的限制。实际上,仔细斟酌这句话——应该是错的。人是群居的社会化动物,所谓人的成就也就是人在社会中获得的认同的程度。人人都有短板、长板——优点、缺点或是不同方面的能力强弱。一个人能成就什么,应该是取决于他是否将他的长板——优点或最善长的方面贡献给社会,或是被社会所使用。人人都有长短板,而且可能长板很长、短板很短。这些会不会影响到一个人是否

2011-05-29 08:36:00 1244

原创 第三条军规——NoCopy 不要随意的去复制代码

不要去拷贝代码,实际上这一条与第一条是相辅相成的。时常编写程序时,很多人,包括我以前,都有一种很不好的习惯——复制粘贴代码。某些类似的功能,可能在某个函数里出现过。之后,在另一个地方也有了类似的需求,怎么办,把那段代码Copy过来吗?这是我以前经常做的一件事。实际上,由于时间、精力方面的原因。我现在也经常干这些事情。但是,请记住——这样做非常不好!为会么?首先,它会使你很容易违反第一条军规。你随便在一个函数里从其它地方Copy两三处代码,你就可能会使你现在的函数超长了。其次,你Copy的代码如果是很成熟的也

2011-05-12 17:26:00 612

原创 第二条军规——程序元素命名要规范

永远的匈牙利——变量、函数、类、结构等等程序元素命名要规范且有意义作为程序员,大家应该都知道匈牙利法则。但是在日常工作的实践中,我发现很多人都没有按照它去做的习惯——变量命名各式各样,第一眼看上去,都不知道这个变量是干什么用的,什么类型的。最糟的一种情况,竞然有人命名用汉语拼音去给变量命名,而且还是首字母的缩写,花了好大心思才明白这个变量是什么意思。匈牙利法则的实质是要求我们命名要规范,方便人们的记忆与阅读。也许有人认为这没什么,无论怎么命名,因为程序是自己写的,怎么样都能看懂。如果是那样,那就大错特错了。

2011-04-04 23:16:00 575

原创 首条军规——函数代码量不宜过多

编程写了这么多年了,也有了一些感悟。总想抽空,将这些感悟总结一下,可是总是没时间。也罢,抽空每次记一点。好像有部电影或小说之类的叫会么XX条军规。借用一下,我就管这些叫程序员的军规。今天先记下第一条。瘦子永远比胖子好——程序中的单个函数的行数不宜过长,每行代码不宜过多之所以会有这条军规,是基于以下的几方面的原因:ü 因为人的记忆力、理解力的限止,如果单个函数太长,就不太易于人们的理解。ü 实践中发现,扬扬撒撒数百上千行代码的函数,往往在功能上是可以被拆分成很多块的。往往拆分后,程序的可读性立即变得很好,同时

2011-03-23 00:02:00 842

原创 项目工程的工期的估算——基于数据库应用

<br />在从事软件项目的开发工作中,发现项目的工期估算和控制是最大的问题。在项目的初期,尤其是从零开始做的项目,往往项目的周期估算很不准确。凭主观经验验的估算的工期往往与实际相差很远。<br />我从事的所有项目,都是基于数据库开发的普通应用类项目。从以往的经验来看,这些项目的开发复杂度与周期,往往与数据库中的表的数量有关系。表越多,开发周期越长。<br />根据以往的经验,总结了一个项目周期的估算公式。这里先明确公式中的各个变量:<br />TC=数据库中的表数量<br />TP=处理每张表所需要的代

2011-03-03 23:25:00 1153

原创 滞后的信息

我们生活的这个世界,是什么样的世界呢?世界是物理的世界,因为他是由物质的组成的。但是从另一个角度来说,世界是信息的世界。为什么呢,因为这个世界无实无刻不被各种各样的信息所包围着。包括我们自己,都是信息决定的。为什么?是什么决定了我们是人,而不猪或者是牛马之类的——是DNA。DNA是什么,DNA是一个又一个的碱基对,他们就像是一串又一串的0和1。他们的不同的排列组合,决定了我们是人,而另一些“人”是猪或者牛马。DNA本质上,是一种信息的载体,这些信息,是一段又一段的生物程序。各类细胞,依据这些程序进行运行。程

2011-02-20 00:47:00 1435

原创 关于解决假死锁的设想

      在我的上一篇文章《关于多线程(进程)死锁的探测》中已经论述过死锁形成的条件,其中主是讲了真死锁,也就是待锁定环死锁的形成及解决方式。但是,有一种类型的死锁没有涉及到,那就是以待锁定链形式出现的死锁。      待锁定链要形成死锁有一个必要的条件就是,从Y集合的偶对出发所画出的待锁定链图形中,必然有至少一个点具有以下的特点——On长时间占有Rn资源而不释放。     从On占有R

2010-01-27 21:57:00 775

原创 关于多线程(进程)死锁的探测

正式干上程序员这一行也有几年了。时间虽短,但感触颇有一些。现如今,我们的计算机硬件已今非昔比了——好一点的PC服务器都有八个甚至于更多的CPU(虽然实际上是多核的,物理上也许只有那么两三个,但对于软件系统来说,这没什么分别),内存多达四五个GB。可是我们有没有发现,我们的应用对于这么多的资源的利用是不是不允分。多线程编程是允分利用这些资源的利器。但很多时候这个利器是那么的钝——为了在多线程中保

2010-01-25 23:32:00 1081

spring2.5 手册

spring的中文手册............................

2011-03-24

空空如也

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

TA关注的人

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