严格来说, 我只能得 3 分.
翻译很渣, 建议大家看原文.
用有道磕磕绊绊 看了一个小时...
- [翻译自 The Joel Test: 12 Steps to Better Code](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
原文 作者提出了12 个标准来验证是否是优秀的程序员, 下面是我的回答, 每一题一分
- Do you use source control? YES
你使用源码控制么?
我用 git
Can you make a build in one step? NO
你能一步打包出一个产品么?(由源码到产品)
白天编码 夜晚自动打包Do you make daily builds?
没看懂 好像是 你每日编译么?-
Do you have a bug database? YES
你是否有bug 资料库 我有类似的
bug 资料库 如下- 完整的 bug 代码 (bug复现)
- 你希望这段代码 实现什么操作
- 实际上 这段 bug 代码 造成了 什么后果
- 代码 属于哪里
- bug 是否已经修复
Do you fix bugs before writing new code? YES
写新代码前 你会修复旧bug么?
修复旧 bug 时间不可控, 可能需要 3 天 可能只要 3 分钟
实现 新功能的时间 可控性更强
新鲜出炉的 bug 修复起来很快
过几天 再 修复 就需要耗费 一定的时间
过几个月 估计 你都看不懂自己的代码了
旧代码有bug , 我会浑身不舒服, 不解决掉 没法写新代码
- Do you have an up-to-date schedule? NO
你🈶时间计划么? 好像没有
时间计划 可以确保你 列出最重要的功能 提前去实现 不会陷入 功能主义
分清楚主次
公司事情太乱了, 根本没法做时间计划, 经常有别的事情打断现在的进程, 个人时间计划是建立在公司计划的基础上的, 公司做事情都没有计划 个人谈计划没意义.
- Do you have a spec? NO
你有文档说明么?
一个原则: 没有文档 坚决不写代码
只有简易 的文档, 因为不写文档 我吃过大亏
- Do programmers have quiet working conditions? NO
你写代码的环境是否 安静
程序员 需要一个安静的环境
如果 写程序过程中 被打断一下 你需要 至少 15分钟 或者更多时间 来回复到之前的工作状态
天天直播产品和项目人员撕逼大赛, 吵得马路对面都听得到我就吐个槽, 因为公司没有产品 也没有项目经理, 都是老板一声令下 就没日没夜的干活. 至于效果么!!! 呵呵 呵呵呵呵
- Do you use the best tools money can buy?
用钱 买过好的工具么? NO
可能是从小养成的消费坏习惯, 我很少买付费的软件, 额 印象笔记算吧, 买了一年 我现在密码都不记得了.
- Do you have testers? NO
有测试人员么
这个 ... 作者说的有点绝对, 程序员需要专门的测试员, 作者说 开发人员去测试 是人才浪费, 我倒是觉得 自己写的东西自己去测, 有点谁污染水治理的感觉. 我们可是创造者啊
如果专业的测试人员, 挺好, 上次公司招了几个非cs应届生做测试, 每测出来一个bug 就跑过来 质问我说: 你看bug.
我就......
- Do new candidates write code during their interview? YES
你会让你的应聘者 当场写代码么?
让你的应聘者 写代码
举双手 双脚赞同这一点, 这年头 靠谱的程序员比大熊猫还稀少啊, 我承认我也不靠谱, 可是我有一颗向往靠谱的心
- Do you do hallway usability testing?
-
你做过走廊测试么? NO
走廊测试 , 在走廊中 抓5个人 来使用你刚刚写的代码, 这样 让你更了解代码可用性
一个好的 UI 设计并不难 你可以通过这本书学习 UI 设计 UI设计即使 你再不怎么会 UI 设计 把 你的软件 拿给少数人看(5\6 人足够了), 听取他们的意见 你的产品会更 美观