高效代码审查的十个经验

2012-11-19 杜世伟 Message

代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。

1. 代码审查要求团队有良好的文化

团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。

“A的代码有个bug被B发现,所以A能力不行,B能力更好”,这一类的陷阱很容易被扩散从而影响团队内部的协作,因此需要避免。

另外,代码审查本身可以提高开发者的能力,让其从自身犯过的错误中学习,从他人的思路中学习。如果开发者对这个流程有抵触或者反感,这个目的就达不到。

阅读全文>>

标签: 代码 审查

评论(0) 浏览(3830)

php函数system,exec,passthru区别用法详解

2012-11-17 杜世伟 Php

php提供了system(),exec(),passthru()这几个函数来调用外部的命令.
他们的区别:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码

在PHP中调用外部命令,可以用如下三种方法来实现:

阅读全文>>

标签: PHP system() exec() passthru()

评论(0) 浏览(3835)

PHP 垃圾回收 机制:Zend GC详解

2012-11-17 杜世伟 Php

概述

在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间

是否能够被释放的时候是依据这个变量的zval的refcount的值,如果refcount为0,那么变量的空间可以被释放

,否则就不释放,这是一种非常简单的GC实现。然而在这种简单的GC实现方案中,出现了意想不到的变量内

存泄漏情况(Bug:http://bugs.php.net/bug.php?id=33595),引擎将无法回收这些内存,于是在PHP5.3中出

现了新的GC,新的GC有专门的机制负责清理垃圾数据,防止内存泄漏。本文将详细的阐述PHP5.3中新的

GC运行机制。

阅读全文>>

标签: PHP 垃圾 回收

评论(0) 浏览(3905)

Mysql多表删除方法

2012-11-17 杜世伟 Mysql

在MySQL数据库中,如果需要多张表同时删除数据,应该怎么做呢?下面就将为您介绍MySQL中多表删除的方法,希望对您有所启迪。

1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉

DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

阅读全文>>

标签: mysql 删除

评论(0) 浏览(2927)

慎言谨行 修心第一事

2012-11-3 杜世伟 Message

1、聪明外露者德薄,词华太盛者福浅。
2、为善者常受福,为利者常受祸,心安为福,心劳为祸。
3、成大事者,皆从战战兢兢之心来。
4、人能清心寡欲,自然血气和平,却疾多寿。
5、人之精神,贵藏而用之,苟炫于外,鲜有不败者。

阅读全文>>

标签: 朋友 人生

评论(0) 浏览(3759)

人情似纸张张薄 世事如棋局局新

2012-11-3 杜世伟 Message

人情似纸张张薄,世事如棋局局新。贫居闹市无人问,富在深山有远亲。
不信但看宴中酒,杯杯先敬富贵人。门前拴上高头马,不是亲来也是亲。
门前放根讨饭棍,亲戚故友不上门。世人结交需黄金,黄金不多交不深,
纵令然诺暂相许,终是悠悠路行心。有钱有酒多兄弟,急难何曾见一人。
洒肉朋友朝朝有,无钱无势亲不亲。相逢好比初相识,到老终无怨恨心。
胜者为王败者寇,只重衣冠不重人。三贫三富不到老,十年兴败多少人。

阅读全文>>

标签: 人情 世事 朋友

评论(0) 浏览(3592)

php 垃圾回收机制

2012-11-2 杜世伟 Php

本文主要讨论PHP5.2和5.3的垃圾回收机制区别。

5.2使用的是“引用计数”方式进行回收。简单地理解的话,就是每个分配的内存区域都有一个计数器,记录有多少个变量指针指向这片内存。当指向该片内存的指针数量为0,那么该片内存区域就可以被回收。

引用计数计数简单,强大,但是有一个致命的缺陷,就是环状引用。考虑以下的代码:

阅读全文>>

标签: PHP

评论(0) 浏览(3954)

PHP的内存泄露问题与垃圾回收

2012-11-2 杜世伟 Php

你写了一个php脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。

但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 bytes exhausted)退出了。一般来说,每个页面处理结束,新建的simple_html_dom对象就应该被销毁了——但是实际上没有,很明显,内存泄露发生了。

阅读全文>>

标签: PHP

评论(0) 浏览(4233)

数据库设计规范化的五个要求

2012-10-26 杜世伟 Mysql

通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。

阅读全文>>

标签: mysql

评论(0) 浏览(3828)

Linux 重启命令

2012-10-26 杜世伟 Linux

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部
工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。

阅读全文>>

标签: linux 重启

评论(0) 浏览(5062)

Powered by emlog 沪ICP备2023034538号-1