- 浏览: 1169241 次
- 性别:
- 来自: 北京
最新评论
-
天空趋虚:
资源还没有匮乏到这种程度吧,我觉得代码通俗易懂,可维护性强,比 ...
java编程中'为了性能'一些尽量做到的地方 -
wen262856298:
文章写的好但是里面有错误 ...
java编程中'为了性能'一些尽量做到的地方 -
步青龙:
你的博客中,我看的第一篇文章,感悟很深,果断关注你,谢谢你把这 ...
工作是什么?我怎么理解 -
accp6_0:
...
程序人生:女程序员的求职奋斗史 -
Dragonmandance:
很不错,学习了
java编程中'为了性能'一些尽量做到的地方
文章列表
< 世界观的重生 >————————
这本书叫《自适应软件开发》,封面上写着“尤其适用于紧张、高度竞争和经常变更的软件项目”,其实这是片面的,这本书所表达的思想应该是“适应于人类的一切活动,大则包括社会 ...
- 2003-06-09 07:56
- 浏览 654
- 评论(0)
< 混乱边缘的繁荣 >—————————
书中是以“混沌”作为术语,我觉得有些拗口,所以改成“混乱”。
在现在的软件开发中,软件工程协会所制定的能力成熟度模型(CMM)被誉为圣杯,并在当今的世界中大行其道, ...
- 2003-06-09 07:56
- 浏览 396
- 评论(0)
< 领导—协作 >———————
我们生活的这个世界是一个强制秩序的年代,为了保持稳定,我们的领导人以发布命令的方式指使着我们,并对我们的日常活动进行控制。正规软件工程中的项目经理,也正如我们的大多数中 ...
- 2003-06-09 07:56
- 浏览 350
- 评论(0)
< 预测—协作—学习 >——————————
这是自适应的模型的。“预测—协作—学习”不断迭代,从而让团队不断进化,不断适应多变的环境。
[预测]——就是对目标做一个分析,给出一个大的方向,但不要太具体,但 ...
- 2003-06-09 07:56
- 浏览 470
- 评论(0)
< 边角料 >—————
《自适应软件开发》是一本很晦涩的书,简直是很难读,我很同情翻译人员的痛苦,我相信即使是英文版的,也是难懂,对于书中的许多地方,我也是揣摩猜测。可能会和书中的内容大相径庭,这点可能类似于爱因斯坦的《相对论》这类思想高深的书,很难让人明白。不过当你忍着痛苦,细细得揣摩书中的思想和方法,并读完整本书后,你会发现这似乎不是一本软件工程的书,这好像是一本哲学书,并会为之有一种激动不已的感觉。并写下这篇文章,希望和大家共享,并希望和大家交流学习。
《自适应软件开发》它并不否定传统的软件工程,只是把原有的结构重新组织了一下。所谓戏法人人都会变,只是玩法不同。下棋的规则 ...
28、||和&&的语句执行顺序————————————条件语句中的这两个“与”和“或”操作符一定要小心,它们的表现可能和你想像的不一样,这里条件语句中的有些行为需要和说一下:
express1 || express2 先执行表达式express1如果为“真”,express2将不被执行,express2仅在express1为“假”时才被执行。因为第一个表达式为真了,整个表达式都为真,所以没有必要再去执行第二个表达式了。
express1 && express2
先执行表达式express1如果为“假”,express2将不被执行,express2仅在e ...
- 2003-05-11 11:41
- 浏览 596
- 评论(0)
16、把相同或近乎相同的代码形成函数和宏—————————————————————
有人说,最好的程序员,就是最喜欢“偷懒”的程序,其中不无道理。
如果你有一些程序的代码片段很相似,或直接就是一样的,请把他们放在一个函数中。而如果这段代码不多,而且会被经常使用,你还想避免函数调用的开销,那么就把他写成宏吧。
千万不要让同一份代码或是功能相似的代码在多个地方存在,不然如果功能一变,你就要修改好几处地方,这种会给维护带来巨大的麻烦,所以,做到“一改百改”,还是要形成函数或是宏。
17、表达式中的括号—————————
如果一个比较复杂的表达式中,你并不是很清楚各个操作符的忧先级,即使是 ...
- 2003-05-11 11:41
- 浏览 573
- 评论(0)
11、出错信息的处理—————————你会处理出错信息吗?哦,它并不是简单的输出。看下面的示例:
if ( p == NULL ){ printf ( "ERR: The pointer is NULL\n" ); }告别学生时代的编程吧。这种编程很不利于维护和管理,出错信息 ...
- 2003-05-09 20:01
- 浏览 551
- 评论(0)
23、static的使用————————static关键字,表示了“静态”,一般来说,他会被经常用于变量和函数。一个static的变量,其实就是全局变量,只不过他是有作用域的全局变量。比如一个函数中的static变量:
char*getConsumerName(){ ...
- 2003-05-08 12:19
- 浏览 690
- 评论(0)
1、版权和版本———————好的程序员会给自己的每个函数,每个文件,都注上版权和版本。
对于C/C++的文件,文件头应该有类似这样的注释:/************************************************************************** 文件名:network.c** 文件描述:网络通讯函数集** 创建人: Hao Chen, 2003年2月3日** 版本号:1.0** 修改记录:*************************************************************************/
而对于函数来 ...
- 2003-05-08 12:12
- 浏览 552
- 评论(0)
6、if 语句对出错的处理———————————我看见你说了,这有什么好说的。还是先看一段程序代码吧。
if ( ch >= '0' && ch <= '9' ){ /* 正常处理代码 */ }else{ /* 输出错误信息 */ printf("error ......\n"); return ( FALSE ); }
这种结构很不好,特别是如果“正常处理代码”很长时,对于这种情况,最好不要用else。先判断错误,如:
if ( ch < '0' || ch > '9' ){ /* 输出错误信息 */ printf(&quo ...
- 2003-05-08 12:12
- 浏览 565
- 评论(0)
编程修养————
什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。
我认为好的程序员应该有以下几方面的素质:
1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。 5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。
这些都是程序员的修养,这里我想谈谈“编程修养”,也就是上述中的第5点。我觉得,如果我要了解一个作者,我会看他所写的小说,如果我要 ...
- 2003-05-08 12:11
- 浏览 618
- 评论(0)
i++、++i、i=i+1、效率怎么样?看过一本书上说,i++比i=i+1好的地方是因为i=i+1中的那个1要占用一个寄存器,所以速度没有i++快,于是我想验证一下。另外,以前听说过Java中的“i=i++”得不到正确结论,也就是应该是“先累加再赋值”,但Java经过这种运算后,i值居然没有变化。所以在这里,想一并把这几个问题在C中验证一下。
=====================测试的C源程序====================
#01: #include <stdio.h>#02: #03: main()#04: {#05: int i=0, j=0;#06: i=i ...
- 2003-04-04 09:14
- 浏览 646
- 评论(0)
最近我在做一个项目,其中要用到一个数据结构——Hash Table(哈希表),以前只有理论知识,现在实却发现很不简单,所以写下来和大家共分享。
我们知道,哈希表是一个固定大小的数组,数组的每个元素是一个链表(单向或双向)的头指针。如果Key一样,则在一起,如果Key不一样,则不在一起。哈希表的查询是飞快的。因为它不需要从头搜索,它利用Key的“哈希算法”直接定位,查找非常快,各种数据库中的数据结构基本都是它。但带来的问题是,哈希表的尺寸、哈希算法。
哈希表的数组是定长的,如果太大,则浪费,如果太小,体现不出效率。合适的数组大小是哈希表的性能的关键。哈希表的尺寸最好是一个质数,最小的质数尺寸是 ...
- 2003-04-02 09:02
- 浏览 401
- 评论(0)
比如在一个项目中,有大量的数据结构,他们都是双向链表,但又想共用一套对链表的操作算法,这怎么做到呢,C中又没有C++中的继承,不然我可以继承一父(类中只有两个指针,一个向前一个向后),而其算法可以写在你类中的虚函数中,供子类使用。如:
class Links{public: Links* back; Links* forword;
virtual Add(){ ... }; virtual Del(){ ... }; virtual Ins(){ ... }; virtual Print() =0; ....
};
于是对于特定的数据结构我们可以:class mylinks : pub ...
- 2003-04-02 09:02
- 浏览 588
- 评论(0)