编程通常遵循一个相当简单的程序:编辑源文件,编译源代码成可执行的格式,调试结果.尽管将源代码翻译成可执行程序是常规的过程,如果做的不正确,程序员可能会浪费大量的时间去追踪问题.大多数的开发者都经历过这样的挫折:修改一个函数并运行新代码却发现他们的修改并没有修正bug.后来他们发现他们再也不能执行这个修改过的函数,由于一些程序的错误,如未能重新编译源代码.未能重新链接成可执行文件.未能重建成一个jar包.由于不同版本程序的开发,或由于其他平台和支撑库的其他版本,随着程序复杂性的增加,这些寻常的工作…