怎样写产品级别质量的代码
2015-05-22 14:14
183 查看
常常会问起怎么写production quality code, 产品级别的代码意味着对质量有严格的考量,不同于demo级别或普通开发级别的代码。
那么产品级别的代码和普通开发级别的代码究竟有何不区别?这主要是他们面临的环境不一样。
1) 产品总归是质量问题,它会暴露各种并发问题,负载问题,内存和CPU等各方面的压力.
2) 产品输入数据的来源千差万别,或输入的数据压根就不正确。如果在生产环境里没有考虑到,
结局会很痛苦
3) Boundary conditions 边界条件,产品需要考虑数据或场景里的所有边界条件
如果写代码时考虑到了上面的情况,并通过了产品测试,那么这样的代码就是production quality code.
那么如何做到呢?
1) 做好需求分析,把业务场景搞清楚,解决办法是多问相关业务人员,多讨论。讨论透了好开工
2) 仔细考虑分析
3) 边界检查。比如,对于错误输入,要考虑null,空,小数字,极大数字。函数调用时机等问题,
这种在unit test的时候就应该解决掉
4) 并发,这种一般在线上才会暴露,这种一般要在设计阶段就有考虑好
5) 异常处理,对异常场景要有明确的预定处理方案,不要对任何奇怪的输入而导致异常
6) Recoverable,要有容灾能力,并在异常等事故中恢复
7) 可维护性,代码清晰可读,意味着不容易出错,后面换人也容易。
那么产品级别的代码和普通开发级别的代码究竟有何不区别?这主要是他们面临的环境不一样。
1) 产品总归是质量问题,它会暴露各种并发问题,负载问题,内存和CPU等各方面的压力.
2) 产品输入数据的来源千差万别,或输入的数据压根就不正确。如果在生产环境里没有考虑到,
结局会很痛苦
3) Boundary conditions 边界条件,产品需要考虑数据或场景里的所有边界条件
如果写代码时考虑到了上面的情况,并通过了产品测试,那么这样的代码就是production quality code.
那么如何做到呢?
1) 做好需求分析,把业务场景搞清楚,解决办法是多问相关业务人员,多讨论。讨论透了好开工
2) 仔细考虑分析
3) 边界检查。比如,对于错误输入,要考虑null,空,小数字,极大数字。函数调用时机等问题,
这种在unit test的时候就应该解决掉
4) 并发,这种一般在线上才会暴露,这种一般要在设计阶段就有考虑好
5) 异常处理,对异常场景要有明确的预定处理方案,不要对任何奇怪的输入而导致异常
6) Recoverable,要有容灾能力,并在异常等事故中恢复
7) 可维护性,代码清晰可读,意味着不容易出错,后面换人也容易。
相关文章推荐
- 怎样判断代码质量的好坏?
- 使用FindBugs改善你的代码质量—为什么使用以及怎样使用
- [转]软件产品质量和代码质量
- 【代码评审】【畅言】提高软件产品质量的有效方法——同行评审
- MDU某产品OMCI模块代码质量现状分析
- 团队代码中Bug太多怎么办?怎样稳步提高团队的代码质量
- 执行失败SSIS 错误代码 DTS_E_PRODUCTLEVELTOLOW。产品级别对于 组件“模糊查找”(9516) 而言不足。
- 怎样衡量代码质量?
- 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
- 怎样量化评价搜索引擎的结果质量
- 提升你代码质量的10个Ruby小技巧
- 如何利用工具提高你的Android代码质量(Checkstyle、Findbugs、PMD)
- 怎样编写高质量的C代码----你真的会么???
- 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知
- 第一次亲身感受良好的ASP.NET代码积累,强壮的软件产品是【马力强劲的印钞机】
- [翻译]:怎样从C/C++代码中对C#进行回调
- 如何提高代码的质量
- 【怎样写代码】工厂三兄弟之抽象工厂模式(五):扩展案例I
- 怎样把你的产品融入到客户的心智
- 产品开发实录(1)——代码重构