请问_defensive programming_是什么，它主要有什么作用？请以markdown格式回答，并确保您的答案不长于140个字。另外，答案中必须提到错误处理、异常处理和单元测试。
user
```markdown
**Defensive Programming** 是一种编程实践，强调在代码中加入错误检测，如错误处理、异常处理和单元测试，以提高软件的健壮性和可维护性。
```
assistant