一般来说防御式编程要求程序员在编写代码时始终假设输入的数据是不可靠的甚至是恶意的。在这种思想的指导下后端程序员会对前端传来的数据进行严格的校验和过滤。只有通过了这些校验的数据才会被后端处理和存储。防御式编程的好处不仅仅在于防止恶意数据的攻击它还可以提高程序的健壮性和可维护性。因为后端程序员在编写代码时已经考虑到了各种异常情况所以当出现错误时程序能够更好地处理和恢复。同时这种编程思想也有助于团队协作因为每个程序员都清楚地知道自己的职责不会因为前端的数据问题而互相“甩锅”。在《三体》中大刘揭示了一个残酷的宇宙生存法则黑暗森林法则。宇宙如同一片黑暗的森林每个文明都是隐藏在其中的猎人小心翼翼地寻找着其他文明的踪迹同时又极力隐藏自己的存在。因为一旦暴露就可能被其他文明消灭。在这个法则下信任是奢侈品生存才是第一要务。程序员的世界也遵循类似的法则。前端传来的数据就像是黑暗森林中传来的信号你永远不知道这些信号背后隐藏着什么。是友好的问候还是致命的攻击在这个充满不确定性的网络世界里后端程序员就像是守护代码城堡的守望者必须时刻保持警惕才能写出安全可靠的代码。