
软件开发
文章平均质量分 83
haoel
这个作者很懒,什么都没留下…
展开
-
编程修养(一)
编程修养————什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,原创 2003-05-08 12:11:00 · 60701 阅读 · 32 评论 -
十个糟糕的程序员的行为
原文:http://cocre.com/?p=1081 之前本站发表过《优秀程序员的十个习惯》以及《程序员需要具备的基本技能》,那是我们需要去学习和培养的。这里,我们主要讨论十个糟糕程序员的特征,主要是需要让我们去避免和小心的。1) 情绪化的思维如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你原创 2009-06-25 10:13:00 · 23013 阅读 · 98 评论 -
编程真难啊
原文:http://coolshell.cn/?p=1391 (酷壳: CoolShell.cn)上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0LZ的贴子翻译如下:大家好,我是一个Java的新手,我有一个简单的问题:请问原创 2009-09-04 08:26:00 · 20027 阅读 · 20 评论 -
Richard Feynman, 挑战者号, 软件工程
转自:http://coolshell.cn/?p=1654 (酷壳) 源文:链接 (本文主要根据挑战者号的问题,以及Richard Feynman那对NASA严厉的批评报告,批评了不适当的“自顶向下”的设计方法,并总结了一下软件工程和其它工程的相通的一些观点。翻译水平有限,欢迎指正)佛罗里达州,美国东部时间1986年1月28日上午11时39分,挑战者号航天飞机 执行为期6翻译 2009-11-26 07:42:00 · 6905 阅读 · 0 评论 -
UI的恶梦
原文:http://coolshell.cn/?p=1907 酷壳 UI可能是编程中最令人头痛的事了。设计UI通常对于程序员来说是一件很痛苦的事情。下面,让我们来看一看一些可怕的UI设计吧,前面几个UI都是出于咱们程序员自己之手,把他们放在这里,希望能引起大家的注意。(国内软件的UI嘛的我就不说了,省得得罪人)下面这个例子不知道你是否让你似曾相识,呵呵,记得我上大学时,用delphi,PB原创 2010-01-22 00:31:00 · 60630 阅读 · 56 评论 -
橡皮鸭程序调试法
原文:http://coolshell.cn/?p=1719 (酷壳) 下面,让我来为你介绍一个程序调试大法——“橡皮鸭程序调试法”,这个方法在调试界是很出众的,实施起来相当方便和简易,几乎可以随时随地地实验,几乎不需要借助任何的软件和硬件的支持,你甚至可以把你的程序打印出来,在纸面上进行调试。那么,为什么这个方法要叫做橡皮鸭呢?因为橡皮鸭子是西方人在泡澡时最喜欢玩的一个小玩具,所以,原创 2009-12-01 14:12:00 · 21380 阅读 · 37 评论 -
各种流行的编程风格
以下文章来自:酷壳 http://CoolShell.cn在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?散弹枪编程这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是原创 2010-04-08 12:16:00 · 50907 阅读 · 93 评论 -
十条不错的编程观点
Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。(酷壳:http://coolshell.cn/?p=2424)原创 2010-07-21 11:58:00 · 52523 阅读 · 57 评论 -
五个方法成为更好的程序员
好的程序员并一定是技术强的程序员,而是那些可以在不完美的工作环境下保证软件质量和工作效率的程序员。这里有五个观点可以让程序员在这种不完美的情况下做得更好(原文:http://coolshell.cn/?p=2606)原创 2010-07-22 14:09:00 · 60342 阅读 · 30 评论 -
一些重要的算法
本文罗列了一些比较重要的算法,有的我们经常在用,有的基本不用。有的很常见,有的有点偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(原文:http://coolshell.cn/?p=2583)原创 2010-07-22 14:13:00 · 101658 阅读 · 100 评论 -
五种应该避免的代码注释
某国外的程序员在这里列举五种应该避免的程序注释,我觉得比较有道理,但我觉得有少数几个观点也并不绝对。所以,我把原文的这五种应该避免的程序注释罗列在下面,并放上原作者和我的个人观点作为比较。希望对大家有用。(原文: http://coolshell.cn/?p=2746)翻译 2010-08-02 15:55:00 · 58587 阅读 · 88 评论 -
最佳编程语录
以前本站发布过《22条经典的编程引言》、《编程引言补充》、《Linus Torvalds 语录》还有《十条不错的编程观点》。今天向大家介绍“最佳编程语录”,条条都是很不错的语录,如同我们的太阳,照亮了我们的方向。这篇文章是“Neo”和“陈皓”的翻译,我们的翻译水平有限,所以,我们提供了中英文对照,有不当之处,还请各位指正。(http://coolshell.cn/articles/2753.html)翻译 2010-09-09 15:26:00 · 53096 阅读 · 18 评论 -
免费电子书列表
在StackOverflow上,有人要打算收集个免费电子书的列表,结果很快就有人分享了一个列表。| 酷壳:http://coolshell.cn/articles/2775.html转载 2011-02-28 10:05:00 · 73767 阅读 · 16 评论 -
Code Review中的几个提示
原文:http://coolshell.cn/?p=1302 酷壳 Code Review中的几个提示陈皓 Code Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,我们主要想和大家分享一下Code Review代码审查的一些心得。首先,我们先来看看原创 2009-08-21 11:58:00 · 18174 阅读 · 10 评论 -
简单实用的Code Review工具
另一文章请参看:《Code Review中的几个提示》CSDN, 酷壳 Code Review中文应该译作“代码审查”或是“代码评审”,这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法。由此,我们可以审查代码的风格、逻辑、思路……,找出问题,以及改进代码。因为这是代码刚刚出炉的时候,所以,这也是代码重构,代码调整,代码修改的最佳时候。所原创 2009-08-21 11:48:00 · 101221 阅读 · 10 评论 -
编程修养(二)
1、版权和版本———————好的程序员会给自己的每个函数,每个文件,都注上版权和版本。对于C/C++的文件,文件头应该有类似这样的注释:/************************************************************************** 文件名:network.c** 文件描述:网络通讯函数集** 创建人: Hao Chen, 20原创 2003-05-08 12:12:00 · 18664 阅读 · 8 评论 -
编程修养(七)
28、||和&&的语句执行顺序————————————条件语句中的这两个“与”和“或”操作符一定要小心,它们的表现可能和你想像的不一样,这里条件语句中的有些行为需要和说一下: express1 || express2 先执行表达式express1如果为“真”,express2将不被执行,express2仅在express1为“假”时才被执行。因为第一个表达式为真了,原创 2003-05-11 11:41:00 · 12245 阅读 · 7 评论 -
编程修养(三)
6、if 语句对出错的处理———————————我看见你说了,这有什么好说的。还是先看一段程序代码吧。 if ( ch >= 0 && ch /* 正常处理代码 */ }else{ /* 输出错误信息 */ printf("error ....../n"); return ( FALSE ); }这种结构很不好原创 2003-05-08 12:12:00 · 19592 阅读 · 13 评论 -
编程修养(五)
16、把相同或近乎相同的代码形成函数和宏—————————————————————有人说,最好的程序员,就是最喜欢“偷懒”的程序,其中不无道理。如果你有一些程序的代码片段很相似,或直接就是一样的,请把他们放在一个函数中。而如果这段代码不多,而且会被经常使用,你还想避免函数调用的开销,那么就把他写成宏吧。千万不要让同一份代码或是功能相似的代码在多个地方存在,不然如果功能一变,你就要修改好原创 2003-05-11 11:41:00 · 12847 阅读 · 3 评论 -
编程修养(六)
23、static的使用————————static关键字,表示了“静态”,一般来说,他会被经常用于变量和函数。一个static的变量,其实就是全局变量,只不过他是有作用域的全局变量。比如一个函数中的static变量:char*getConsumerName(){ static int cnt = 0; .... cnt++; ....}cnt变量的值会跟随原创 2003-05-08 12:19:00 · 11717 阅读 · 1 评论 -
编程修养(四)
11、出错信息的处理—————————你会处理出错信息吗?哦,它并不是简单的输出。看下面的示例: if ( p == NULL ){ printf ( "ERR: The pointer is NULL/n" ); } 告别学生时代的编程吧。这种编程很不利于维护和管理,出错信息或是提示信息,应该统一处理,而不是像上面这样,写成一个“硬编码”。第10条对这方面的处原创 2003-05-09 20:01:00 · 12119 阅读 · 4 评论 -
其实Unix很简单
其实Unix很简单 陈皓 很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验。在绝大多数时候,我发现问这些问题的朋友都有两个特点:1)对Unix有畏难心理,对其没有信心;2)喜欢用拿Windows来和Unix做比较。 这两种特点就像两个“心理暗示”,暗示着自己Unix很不好学,暗示着Uni原创 2007-03-19 14:55:00 · 165454 阅读 · 134 评论 -
Unix传奇 (上篇)
Unix传奇(上篇) 陈皓 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前原创 2007-03-27 09:30:00 · 36593 阅读 · 16 评论 -
Unix传奇 (下篇)
Unix传奇(下篇)陈皓 Unix传奇(上篇) Unix与黑客文化 黑客的文化和Unix的商业化存在着必然的联系。自从Unix出现,黑客文化就与之而来。 1993初,一个悲观的观察家撰文指出,已经有理由认为Unix的传奇故事连同他带有黑客文明将一同破产。许多人预测,从那时起Unix将在六月内死亡。他们很清楚,十年的Unix商业化,使自由跨平台原创 2007-03-27 09:40:00 · 26951 阅读 · 21 评论 -
结对编程的利与弊
本文同时也发表于:酷壳(http://www.cocre.com/?p=77 ) 结对编程的利与弊 陈皓http://blog.csdn.net/haoel 结对编程(Pair-Programming)可能是近年来最为流行的编程方式。所谓结对编程,也就是两个人写一个程序,其中,一个人叫Driver,另一个人叫Observer,Driver在编程代码,而Ob原创 2009-02-08 01:08:00 · 12787 阅读 · 5 评论 -
程序员需要具备的基本技能
软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需原创 2009-04-11 16:59:00 · 14326 阅读 · 5 评论 -
编程十诫
原文:http://cocre.com/?p=1007 (酷壳)1.- DRY: Don’t repeat yourself.DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法原创 2009-06-08 11:13:00 · 22635 阅读 · 48 评论 -
C技巧:结构体参数转成不定参数
这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数. http://coolshell.cn/articles/2801.html原创 2011-02-28 10:09:00 · 53273 阅读 · 25 评论