代码审查的价值——为何做、何时做、如何做?.对于很多公司来说,代码审查是开发人员日常工作中的重要环节。通过代码审查,可以及早发现项目中存在的问题、促进同事之间的沟通与交流,..
十种更好的表达“你的代码写的很烂”的方法。如果你有一个同事,他写的程序与其说是代码,不如说更像希腊神话中女妖美杜莎的头发,你当然不能熟视无睹,你应该做出一些反应,但你可选..
如何开发不可维护的软件? 我从别人遗留的的技术性债务中获得报酬。在我的日常工作中,我见到了很多难以维护的代码,并且我一次次地看到了很多相似的并可以避免的问题。 ..
前言:对软件开发的一次另类思考 在武侠小说中,常会把绝世武功分为两个部分:招式和心法。招式得其形,而心法传其神。从这个角度看,这本书是即讲招式也讲心法的书。招式繁杂..
在使用ORM构建基于数据库的项目时,开发者可以选择是先设计数据库表,还是先设计类或抽象模型。为了展开讨论,我们先列出Frans Bouma的结论:代码先行的ORM是愚蠢的。 ..
你是选择先写代码还是先把要做的事情记录下来?开发者真的非常讨厌花时间写东西,除非写的是代码。然而他们还对这种厌恶振振有词: 如果不是代码,它就无法通过编译,也无法确..
基于数据库系统的单元测试问题. 在实践的过程中,很多项目并不能有效地坚持单元测试,即使书写了,也不能够持续也去维护这些单元测试,最后,这些单元测试代码将被废弃不再使用。长..
软件编程21法则.任何一个有经验的程序员都知道,软件开发遵循着一些不成文的法则。然而,如果你不遵循这些法则也并不意味着会受到惩罚;相反,有时你还会获得意外的好处。下面的就是软..
高效编程之欲擒故纵. 昨天我做了一些事情使我的编程效率提高了一倍。简单,容易,但使我的生活发生了巨大的变化。 你们中可能有些人已经知道我是怎么做的。对于其他的人,这听..
如何写出无法维护的代码? 酷壳里有很多我觉得很不错的文章,但是访问量最大的却是那篇《6个变态的Hello World》,和它能在本站左边栏“全站热门”中出现的还有“如何加密源代码”,以及..
开发者需做代码审查的五大原因.每个人都承认代码审查的花销大,而且又耗时,特别是当大家忙完成软件项目又把它送去软件测试部门时。对一些开发人员来说,它更是会引发更多的办公室政..
代码重构方向原则指导. 重构是一种对软件进行修改的行为,但它并不改变软件的功能特征,而是通过让软件程序更清晰,更简洁和更条理来改进软件的质量。代码重构之于软件,相当于结构..
重构遗留程序的一次案例学习.遗留代码经常是腐臭的,每个优秀的开发者都想把它重构。而进行重构的一个理想的先决条件是,它应该包含一组单元测试用例,以避免产生回归缺陷。但是为遗..
代码覆盖率:80%!不能少 一大早,一个年轻的程序员问大师: “我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”..
使用gcov完成代码覆盖率的测试.Gcov作为gnu/gcc工作组件之一,是一款的免费的代码覆盖率测试工具,而且可以结合lcov生成美观的html的测试报表。本文介绍一些gcov的使用方法,基本原理,一些实..
最近在用 Jasmine 给 KISSY 项目添加测试代码,遇到一个困惑:如何保证测试能完整覆盖到源码的所有分支? 用 Google 搜索了下 JavaScript Coverage 工具,琳琅满目。有商业版的 JavaScript Coverage ..
你真正需要的代码测试覆盖率是多少?我写这篇文章的起因是由于看了@unclebobmartin在微博上的一些看起来言之凿凿的话语。给那些不认识Uncle Bob的人介绍一下――他是我们软件产业里最著名的一..
1. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容..
为什么编码规范里要求每行代码不超过80个字符的限制是合理的。也许在Python编码风格指导(PEP8)中最有争议的一部分要数每行代码不超过80个字符的限制。没错,实际上是79个字符,但我使用80个..
最近做了一系列的单元测试相关的工作,除了各种规范及测试框架以外,讨论比较多的就是关于代码覆盖率的产生,c/c++与其他的一些高级语言或者脚本语言相比较而言,例如 Java、.Net和php/py..