最近卷入了一些有关软件开发流程认证的事情,虽然我已经竭尽所能避开了99%的此类工作(对无法避开的同事表示严重的同情和严肃的感激),但是还是觉得有点郁闷,原因是我本人极其鼠目寸光,从来都相信自己的感觉超过理论。在我熟悉的小团队里,有关开发效率,我关心的程度从团队成员smart, and make things done,到士气,到工作环境,到流程,依次数量级递减。
由此想起
The Joel Test,5年以前的东西了,看看我们现在能得几分,
1. Do you use source control?
Are you kidding me? why not ask "do you use computer to write program"?
2. Can you make a build in one step?
如果点击开始->运行,进入工作目录, 输入ant build算是一步的话(忘了设置ant_home, damn...)
3. Do you make daily builds?
没有,所有平台上的自动构建都是svn commit触发的
4. Do you have a bug database?
Jira是我用过的最好的bug tracking system,推荐。
5. Do you fix bugs before writing new code?
hmm...这个比较难考量...目前的约定是,如果自动构建出现单元测试错误,所有人停止commit,直到所有测试通过。
6. Do you have an up-to-date schedule?
开源软件的schedule.....其实我们每周都会根据status调整schedule, 忙不过来就到mailing list上喊:我有个有趣的想法,有没有人愿意试试....
7. Do you have a spec?
JSR和JavaDoc
8. Do programmers have quiet working conditions?
sigh...这个没达标....我们的屋子每天笑声讨论声不断,怪不得Eric Raymond将开源软件开发模式比作市集...
9. Do you use the best tools money can buy?
我们用的开发工具100%开源,但是做JDK,开源工具已经是最好的工具了是不是?可是笔记本屏幕只有15寸,下载速度还没家里的2M ADSL快,我夜里做梦都想20寸宽屏+100M专线,所以这个只能算0.5分。
10. Do you have testers?
有,然而IBM的测试人员和开发人员薪水一样高....这个问题的意义存疑...
11. Do new candidates write code during their interview?
嗯,该步骤值得大赞特赞,曾经有一个简历精通各类语言的同学写了此Java函数....
void swap(iint a, int b){
int c = a;
int a = b;
int b = c;
}
令人惊异的是他的程序结果居然正确,原因是该算法根本不需要swap a/b。据悉此君不久即被招入一跨国公司做实习程序员,真为招他的人捏把汗...还有,只有不到1/100的人在百忙之中会为程序写一个unit test, 其余的人可能会惊讶计算结果放入HashMap之后竟取不出来, 因为只有1/10的人记得覆盖hashCode()和equals(),此外不到1/2的人打开FileInputStream之后记得在finally里面关闭,我坚信此步骤为公司节省的培训和debug费用定是天文数字。
12. Do you do hallway usability testing?
JDK需要hallway usability tesing么? 有点怀疑,如果有的话,开源软件的用户大概就是吧....
总结: 10.5分....sigh...革命尚未成功,怪不得我们的老板还是不能
leave us alone.
分享到:
相关推荐
To start, it shows how to use the Eclipse IDE to code, test, and debug a Tip Calculator app for a smartphone or tablet. Then, it expands upon this app to show must-have Android skills such as working ...
在Test of Essential Academic Skills - Sentence Correction(TEAS-SC)认证考试中,考生需要掌握语法和句子构造的精细之处,以确保语言的准确性和清晰度。以下是对提供的两个题目进行的详细解析: **QUESTION 1**...
It is based on the Niels Jørgensen's paper [Jørgensen, 2001], FreeBSD's official documents, discussions on FreeBSD mailing lists and interviews with developers. After providing definitions of ...
- **工具**: 使用`erl`启动器时带上`-s`参数启动特定的应用或模块来查看内存使用情况。 - **指标**: - **Total**: 总内存使用量。 - **Heap**: 堆内存使用量。 - **Alloc**: 当前已分配内存大小。 #### 7. ...
代驾应用系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
线上书籍查阅系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
c语言教工工资管理系统
可保存图片,开源,绘制奇妙美丽的图片
# 基于Xilinx FPGA加速的面部评分系统 ## 项目简介 本项目是一个基于Xilinx FPGA加速的面部识别和评分系统,名为FaceScore。该项目在国际夏季学校中作为案例研究完成,旨在展示如何在嵌入式系统中高效部署深度学习应用。通过利用Xilinx的硬件加速技术,系统能够实现快速且高效的面部识别与评分功能。 ## 项目的主要特性和功能 1. 面部检测利用深度学习模型从视频流中识别出人脸,并输出人脸的坐标。 2. 硬件加速通过Xilinx FPGA加速深度学习模型的计算密集型部分,如卷积操作。 3. 面部评分对检测到的人脸进行特征提取,并通过图像分类CNN模型进行评分。 4. 整体架构项目包含ARM处理器(用于视频流和图像处理)、面部检测模块、DPU(FPGA上的软核)和面部评分模块。 ## 安装与使用步骤 假设用户已经下载了本项目的源码文件。 1. 环境准备 安装Xilinx提供的开发环境及相关工具链。
PHP学生成绩查询(源代码+论文)
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
Android项目之——漂亮的平台书架
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
c语言商品销售系统源码
android_jni操作指南
gee python 教程(西班牙语)
金融支付终端管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
教务管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
Android ListView下拉刷新 Demo
jackson-core-2.10.4.jar