Code review的意义
程序员的世界里,不同的人,不同的背景,不同的工作经历,水平和习惯各异。
就像罗卜和白菜,谁都不会嫌弃谁,那是因为他们有不同的标准,而在程序的世界里,由开源社区,有无数前辈根据自己毕生的经验总结出的规律,正逐渐成为程序界的标准,有了标准,谁走歪了,谁走正了,一目了然。
中国特殊的国情,导致程序员不受重视,缺乏工程师文化,导致程序员跳槽频率远高于传统行业或互联网的其他职业,导致业务线的代码不断地被***,惨不忍睹,极难维护,不是程序员不认真,而是企业没有指定标准,每个人按照自己最完美的方式来做,自然就是五彩缤纷了。
程序员的工作绝大多数,枯燥无味,特别是工作了多年,各种业务模式都接触过后,都是不断在的重复自己,不但技术从此无法增长,原有的激情也不断流失,沦落为真正的码农,没有思想,没有自我。
优质的代码就像艺术品,多一点少一点都感觉不是那么的自然,统一的规范,让你review代码是感觉团队和一的效果,犹如武侠中人剑合一的境界, 不论程序员怎样的轮换,标准是一样的,是后续管理和维护成本大大降低。
不想看到想吐的代码,不想听到“他妈的,谁写的代码,有基本的素质么?”这样的抱怨,想天天下午来杯咖啡的惬意,就从code review开始吧,下面给你推荐两款review 神奇。
Gerrit 特点及部署
gerrit是一款免费、开源的代码审查器,最早版本采用python编写,后续逐渐改成java && (mysql || H2),效率也得到了大大的提升, 下面给出gerrit安装的介绍,只是关键点的介绍,没有傻瓜的教学。
1)安装git
{
{ {apt-get install git
}}}
2)安装gerrit
download gerrit.war包:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.7-rc1.war
初始化:(前提是要先安装java openjdk)
{
{ {java -jar gerrit-$version-rc1.war init -d review_site
然后俺这提示走,选择mysql存储模式,及http的认证方式,smtp也可以自定义设置,当然也可以自己做自己的smtp服务器
执行完成以后,就会在当前目录下创建review_site文件夹,这就是gerrit的工作目录。
}}}
3)安装nginx
{
{ {apt-get install nginx
}}}
4)前端用nginx做转发
{
{ {server {
server_name review.mastsumassage.cn; access_log /var/log/nginx/review.log; location / { # proxy_set_header host auth_basic "Code Review Site"; auth_basic_user_file /usr/local/review_sites/etc/passwords;proxy_pass http://10.5.0.10:8000;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
}}}
5)gerrit.conf配置
{
{ {[gerrit]
basePath = git canonicalWebUrl =[httpd]
listenUrl = proxy-http://10.5.0.10:8000/
}}}
接着访问review.matsumassage.cn就可以看到页面了,但是需要用户名和密码
6)创建用户
根据nginx的passwords文件的配置路径做如下命令:
{
{ {htpasswd /usr/local/review_sites/etc/passwords flwu
输入两次密码
}}}
7)用户登录&注册邮箱
用户登录后,此用户会进入到mysql里面,然后需要对该用户设置email,当然如果你配置好了smtp,那这不就不需要了,如果没有,就要手动的为用户注册邮箱,用来开发过程中的邮件通知。
{
{ {ssh gerrit gerrit set-account --add-email flwu@lewatek.com flwu
当然这命令运行之前是要做些简单配置的,不然回报gerrit命令不存在
配置如下:在你所在用户的~/.ssh 文件夹下建一个config文件
配置一下内容:
[[[
HOST gerrit
USER admin PORT 29418 HOSTNAME 10.5.0.10 IdentityFile ~/.ssh/id_rsa
]]]
前提是你在gerrit上把此用户的证书加上去了才可以哦。
}}}
到此gerrit的配置就告一段落了,后续是创建项目,不过这个比较简单。
Gitlab 特点及部署
gitlab是一个开源的代码审查器, 采用编写,简单高效,而且功能齐全,界面简单易用,项目管理和群组管理及支持代码多模式审查,部署极其简单,个人强烈推荐。
gitlab官网做了详细的安装步骤,简单高效,请参考:
选择不同的操作系统后,自动给出不同系统的安装方法及步骤。
根据个人安装的经验,有部分需要注意的地方:
提前安装mysql,不设密码,这样gitlab才能导入数据库。
gitlab的软件下载,及其难下,文件太大,而且资源站不多。
gitlab配置简单,按照官网的步骤会同时安装上SMTP邮件服务器,比gerrit要爽呆了。
安装好后,直接ip访问就可以了, 如果需要设置代理、域名可在:/var/opt/gitlab/nginx文件中简单修改。 修改后需要重启。
如需软件包,就留言,留下邮箱地址,谢谢。