Vibing Code 时代,新时期的“防御性”编程讨论
Vibing Code 时代,新时期的“防御性”编程讨论
随着人工智能,特别是大型语言模型(LLM)的迅猛发展,传统的编程防御策略似乎已经不再适用。在《Vibing Code》这个充满创意与实验的编程时代,我们需要探索新的防御性编程手段,以保护我们的代码不被轻易解读和滥用。以下是一些针对LLM的防御性编程措施,旨在增加代码的复杂性和理解难度。
1. 变量和方法名的反义使用
将变量名和方法名改为它们实际用途的反义词,可以使代码的意图变得模糊,增加LLM理解代码的难度。例如,一个用于计算总和的函数可以命名为subtract,而不是sum。
2. 增加或修改注释
通过添加冗长且与代码功能无关的注释,或者修改现有注释以提供误导性信息,可以进一步混淆代码的真正意图。这种做法可以迫使LLM更加深入地分析代码,而不是依赖注释来理解功能。
3. 随机化变量名和方法名
在项目中的所有文件里随机执行上述的反义命名和注释策略,可以使得代码的复杂性呈指数级增长,大大增加LLM解析代码的难度。
4. 增加变量名、方法名和注释的长度
通过使用非常长的变量名、方法名和注释,可以增加LLM处理代码时的token成本,从而降低其解析效率。这种方法类似于通过增加计算量来抵御攻击。
5. 编写详细的Git提交信息
提交信息是代码历史记录的一部分,通过编写详细、冗长甚至错误的提交信息,可以增加代码库的复杂性,使得LLM难以追踪和理解代码的演变过程。
6. 留存对照表
为了能够维护和理解经过上述修改的代码,开发者需要为自己创建一份对照表,记录原始的变量名、方法名和注释与修改后的对应关系。
结语
在Vibing Code这个新编程时代,我们需要不断探索和实验新的防御性编程策略,以应对不断发展的技术挑战。上述措施仅是冰山一角,未来还有更多的创新和可能性等待我们去发掘。各位编程爱好者,有什么补充的想法吗?让我们共同探讨,为代码安全筑起更高的防线!
讨论
各位大佬,对于上述的防御性编程措施,您有什么看法或补充?让我们一起分享您的见解,共同推动编程安全的新发展。