[转]程序员需要熟悉的编程原则整理

看设计模式的时候会了解到很多的编程原则,平时开发没有刻意地去运用和积累。
在外文IT评论看到有同学翻译的编程原则总结,文章中还整理了各原则的wiki链接,觉得很不错,转过来备忘。

每个程序员都必须遵守的编程原则

好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。

我不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句,函数,类,等等)。一旦程序里开始有重复现象的出现(例如很长的表达式、一大堆的语句,但都是为了表达相同的概念),你就需要对代码进行一次新的提炼,抽象。

http://en.wikipedia.org/wiki/Don%27t_repeat_yourself

提炼原则 — 跟“不要自我重复原则”相关,这一原则是说“程序中任何一段具有功能性的代码在源代码文件中应该唯一的存在。”

http://en.wikipedia.org/wiki/Abstraction_principle_(programming)

保持简单 — 简单化(避免复杂)永远都应该是你的头等目标。简单的程序让你写起来容易,产生的bug更少,更容易维护修改。
http://en.wikipedia.org/wiki/KISS_principle 阅读全文

, 发表评论

[转]程序员是伪知识分子,懒惰且反复无常,果真如此?

在看到cnbeta转了伯乐在线这篇文章,感觉很有趣,看看Tim Bryce关于程序员的一些观点,转过来了,励志一下。

——————————————华丽的分割线——————————————
“计算机编程中极少人是真正的艺术家,大多数人充其量不过是房屋粉刷匠而已。”———Tim Bryce
管理顾问 Tim Bryce 不喜欢程序员,而许多程序员也不喜欢他。(注:Tim Bryce 发布过一篇名为《P理论:管理程序员的哲学》的文章。)

Bryce对程序员的看法:

程序员都是故弄玄虚,妄自尊大的家伙。
与其它大学程度的工作者相比,普通程序员的智商要低。
程序员总显得邋里邋遢,精神涣散。
程序员做事杂乱无章,因此很难评估他们工作的进度,其技术也尽显不足之处。
程序员的典型表现是常常埋怨自己工作过量,薪酬过低,所受的重视过少。
程序员自诩对科技发展怀有无比的好奇心。 然而,好奇心是需要通过管理慎重培养的,因为信息过多很可能会导致程序员在工作时分心。

阅读全文

, 1 条评论

[MV]爱的故事上集(粤语) 孙耀威 张敬轩

孙耀威 张敬轩 演唱会版 爱的故事上集(粤)

一首上世纪90年代的老歌,回味,品味。

在线版

阅读全文

, 2 条评论

几种查看CentOS版本的办法,lsb_release命令等

突然想查下CentOS版本,找了几种查看CentOS版本的办法

1.
CentOS是RedHat Linux的社区发行版本,以下方法适用

[root@www ~]# cat /etc/redhat-release
CentOS release 5.2 (Final)

/etc/redhat-release配置文件用一行内容来声明 Red Hat 的名称和版本号。 由 rc.local 使用.

阅读全文

发表评论

Clicki邀请码,优秀的站长统计Clicki

国内网站大多都喜欢用cnzz来做站长统计,图的是cnzz的稳定、准确、功能。

国内除了cnzz等大型站长统计外,使用新兴的Clicki也是不错的选择。

Clicki帅气的Logo

Clicki_Logo

Clicki官网地址 http://www.clicki.cn/

经过一段时间的使用后,个人觉得Clicki非常不错,同样稳定、准确,且不断推出新功能。

另外,Clicki还是用优秀的php开发框架Yii编写的哦。

目前Clicki需要邀请码注册,论坛和群里都不断有同学索要Clicki邀请码,Clicki越来越受欢迎了哦。 阅读全文

, , , , , 4 条评论

我的如意狼君主题曲《朝花夕拾》-张德兰 HD高清MV MP3下载

喜欢83版神雕侠侣的朋友应该也会喜欢张德兰的《情义两心坚》。

张德兰(Teresa Cheung)是久负盛名的香港歌坛前辈,歌声清新雅致,婉转悦耳,温柔甜美,犹如一阵阵春风。

张德兰前辈最近要出新专辑了,其中就包括了《我的如意狼君》主题曲朝花夕拾

先上土豆网在线版的,文章底部补充HD高清版和mp3下载地址。

張德蘭 – 朝花夕拾 (我的如意狼君主題曲) 年度壓軸 完整版MV

阅读全文

, , 发表评论

[PHP|Smarty|Js]在URL中加入Unix时间戳防止web页面缓存

一般web页面每次请求的url地址都一样,
很容易被浏览器本地或者网络设备缓存,
用户经常会抱怨为何页面刷新了很多次了都没变化。

为了防止页面被缓存,无论是GET或者POST方式,在url中加入随机数是一种不错的做法。

瞄了下新浪微博的request:

http://weibo.com/ajm/weiqun?action=aj_remindunread&_t=0&__rnd=1328578563666

可以看到在url的末尾有参数&__rnd=1328578563666
__rnd应该是random的意思吧- -
1328578563666应该是当前unix时间戳,单位毫秒

这个参数每次请求是生成,值是当前的unix时间戳,这样每次请求的url都不一样,
页面就不容易被浏览器或者网络设备缓存了 阅读全文

, , , 3 条评论

在父页面中使用javascript刷新iframe的方法[jQuery]

今天试着在弹出层上用iframe嵌个验证码Captcha,想每次弹出层的时候去刷新下验证码。
网上找了很多在父页面中用javascript刷新iframe的方法。
发现一个比较简单直接的办法。
方法使用jQuery,代码如下。 阅读全文

, , , 1 条评论

Linux下/usr目录的含义探究,附/usr目录结构

使用linux时,/usr目录几乎是每天都要访问的,因为程序基本都装在里面。一直有个疑问,就是usr到底代表什么意思呢?如果usr是user的缩写的话,那/home呢?带着这个疑问,今天抽点时间来找着这方面的资料,结果在一个博客中找到了比较详细的分析,于是转过来膜拜一下。 阅读全文

, 1 条评论

使用php的empty()函数出错,Fatal error: Can’t use function return value in write context

使用phpempty()函数时出现错误:
Fatal error: Can’t use function return value in write context in empty.php on line 5

出错的测试代码:
$str=” “;
if(empty(trim($str))){
echo “empty”;
} 阅读全文

发表评论