当前位置:首页 > 工业控制 > 电子设计自动化
[导读]下面是一个Step by Step的教程,教你如何把一个清晰的代码变得复杂难懂的。当然,这只是一个“简明教程”了。还是那句话——“本文仅供朋友们“消遣作乐”,如果你要觉得有意思的话,顶个贴。如果你觉得没什么意思的

下面是一个Step by Step的教程,教你如何把一个清晰的代码变得复杂难懂的。当然,这只是一个“简明教程”了。还是那句话——“本文仅供朋友们“消遣作乐”,如果你要觉得有意思的话,顶个贴。如果你觉得没什么意思的话,一笑了之。仅供娱乐而已,不必太过认真。”

正常程序

下面是一个找出素数的程序:

1.[/c]

2.

3.下面我们来看看如何把上面这段代码搞得复杂难懂。

4.

5.<h4>第一步、把for变成while</h4>

6.通常来说,for循坏要以while循坏简单一些,上面的程序有二重for循环,我们不但要把其变成while循环,而且还要把二重循环的变成一重的循环,然后使用大量的if-else语句来判断。

7.[c]

第二步,把循坏变成递归

递归在某些时候是可以把代码变得简单,但大多数的情况下是把代码变得复杂,而且很没有效率。下面是把上面的while循环变成了递归。变成了递归后,函数的参数都变成3个了。

1.[/c]

2.

3.<h4>第三步,弄乱代码结构/使用没有含义的变量名</h4>

4.

5.关于如何弄乱代码结构,其中一个小技巧是,使用“?”表达式代替if-else语句。

6.

7.[c]

第四步,取消临时变量

临时变量一般用来保存反复使用的一个表达式的值。使用大量重复的表达式来取消这些临时变量的也可以让代码复杂起来。

1.[/c]

2.

3.<h4>第五步,继续弄乱变量名</h4>

4.

5.我们知道,下划线是合法的变量名,所以,我们不妨用__,___,____来代替m,t,c。函数名也可以使用下划线来代替。让我们来看看求素数的函数能变成什么。

6.

7.[c]

第六步,移除常量

在上面的程序中,还有一些常量,你可以通过增加一个宏定义,或是增加一个函数的形参来取代这一常量。

1.[/c]

程序到这里应该差不多了。还是那句话——“每一个程序员都有把源代码弄复杂的潜质”,大家好自为之。



来源:神秘0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

DashCam项目使用“AI Thinker ESP32-CAM”模块,该模块具有200万像素摄像头(OV2640), 10个I/O引脚,片上LED,片上闪光灯和一个MicroSD插槽来存储视频。它的微型摄像头和240M...

关键字: ESP32-Cam Wi-Fi Arduino 源代码

最新消息,电信巨头诺基亚目前正在对一起涉嫌源代码被盗的网络攻击事件进行调查。早前,一位名为“IntelBroker”的黑客在BreachForums上发布的一篇帖子中声称窃取了该公司的源代码。

关键字: 诺基亚 源代码 黑客 IntelBroker 网络攻击

C语言是一种广泛应用于编程领域的高级编程语言,它首次出现于1972年,并由Dennis Ritchie发明。C语言之所以成为一门经典的编程语言,是因为其具有简单易学、语法规则清晰、面向过程等特点,非常适合初学者入门学习编...

关键字: C语言 源代码

那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。

关键字: python 源代码 C/C++程序

武汉2022年12月20日 /美通社/ -- 12月14日,"2022全国网民网络安全感满意度调查报告发布周"《网络安全行业发展专题报告》发布会成功举办,面向全社会正式发布了报告,其中重点关...

关键字: 开源 数据库 核心技术 源代码

独立的 IDE 插件使开发人员能够检测源代码和开源依赖项中的安全漏洞

关键字: 新思科技 IDE 插件 源代码

(全球TMT2021年12月7日讯)开放原子开源基金会(简称“开源基金会”)作为中国首个以开源为主题的基金会,是开源项目的孵化器、连接器和倍增器,致力于为全球开发者搭建可持续的开源合作平台,OpenHarmony、op...

关键字: 开源 PEN 开发者 源代码

点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!最近两个月MBA美帝在职研的课程即将结束,经过个人的努力,目前两门课:全球商务、定量决策均分绩点如下,基本上逼近满分(凡尔赛了,哈哈哈),光鲜亮...

关键字: 源代码 学习笔记

击上方“嵌入式云IOT技术圈”,选择“置顶/星标公众号”干货福利,第一时间送达!1、Marlin2.0参数存储M命令Marlin2.0的存储功能主要依靠EEPROM来进行,Marlin也提供了相应的M代码来协助3D打印爱...

关键字: 固件 源代码 3D打印

在英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清看来,开源已成为软件的存在方式之一,未来的软件发展一定会越来越多以开源的方式存在。“这肯定是一个趋势。”

关键字: 软件 源代码 英特尔
关闭