货物崇拜编程和巧合式编程

简介: 这周学到了两个编程领域的词语:货物崇拜编程 和 巧合式编程。

这周学到了两个编程领域的词语:货物崇拜编程巧合式编程

先说一下,这两个词语都是贬义词,需要开发者引以为戒。

一、货物崇拜编程

在了解「货物崇拜编程」之前,需要知道「货物崇拜」这个词语的来源。

货物崇拜的英文是 Cargo Cults,又译货物运动。

最为知名的货物崇拜,是于第二次世界大战太平洋战争时,美军于太平洋的美拉尼西亚岛建立临时基地。当时岛上的土著看见美军于「大铁船」(军舰)内出来,觉得十分惊讶。此外他们也看到有一些「大铁鸟」(军用飞机)运送穿着美军军服的人。这些土著看见这种情况感到很惊讶,并觉得这些「大铁船」及「大铁鸟」十分厉害。加上美军也提供部分物资给土著,而这些物资对土著来说十分有用,结果令这些土著将美军当作神。
第二次世界大战完结后,美军离开美拉尼西亚岛,只留下一些美军军服及一些货物。这些土著便认为这些货物具有神奇力量,又相信「神」(美军)他日会回来,带来更多货物,使他们展开一个幸福新时代。但是美军当然一直也再没有回来,因此这些土著便自己发展出一套敬拜仪式,崇拜美军军服以及货物。该宗教的表现形式是土著会穿着美军军服升起美国国旗,图腾则是木刻的飞机。一般把这种新的宗教被称为「约翰布鲁姆教」。

「货物崇拜编程」就是「货物崇拜」的衍生词。

货物崇拜编程通常是一个程序员既没理解他要解决的 bug,也没理解表面上的解决方案的典型表现。 这个名词有时也指不熟练的或没经验的程序员从某处拷贝代码到另一处,却不太清楚其代码是如何工作的,或者不清楚在新的地方是否需要这段代码。也可以指不正确或过份的应用设计模式,代码风格或编程方法,却对其原理不明就里。

🤔 如何避免货物崇拜编程?

1、培养责任感,对你写的每一行代码负责

如果你充满了责任感,你就会对你写的每一行代码保持警惕,即便是从其他地方 Copy 的代码,你也会想方设法的去了解它的来龙去脉,会带来什么潜在的问题,以及如何避免。

责任感带动你进行思考和怀疑,进而开展学习,最后你就不会盲从。

2、不要止步于会使用

任何一门技术都是为了解决问题而生,如果你想成为优秀的程序员,必须要深入的了解技术背后的原理和它解决问题的思路。这一点绝不能偷懒。

3、邀请高手审核你的代码

可以请团队中,有经验的同事,对你的代码进行审核,如果你能架得住对方的审核以及提问,那么说明你对你写的代码还是很了解的。

二、巧合式编程

巧合式编程就是写了一段代码,发现它可以正常运行,以为就万事大吉了,但是突然有一天运行在别的环境中,就直接出问题了,而且你还不知道为什么出问题。这个就是典型的巧合式编程。

🤔 如何避免巧合式编程?

1、先有设计,然后再产出,不要想到一处写一处;

2、你能给任何人解释清楚你写的代码;

3、尽量不要使用自己并不理解的技术进行编程,如果你都不确定它为什么能用,那么你也不会知道它为什么出错;

4、只依赖可靠的东西,不要依赖假设。如果你不知道某件事是否可靠,就要做最坏的打算;

5、不要只测试代码,还要测试假设。不要猜,去实际试一下,写一个断言来测试假设。

三、写在最后

编程应该深思熟虑。

相关文章
|
监控 自动驾驶 数据中心
电子工程在生活中的应用
电子工程在现代生活中有着广泛的应用,包括通信、计算机、医疗设备、汽车电子、家用电器和能源等领域。手机、电视、互联网、医疗成像设备、汽车控制系统、家电产品等都是电子工程技术的应用。电子工程在现代生活中无处不在,几乎所有的科技产品和设备都离不开电子工程技术的支持。
174 0
|
7月前
技术好文共享:蒙提霍尔悖论(三门问题)终极分析
技术好文共享:蒙提霍尔悖论(三门问题)终极分析
55 1
|
8月前
|
开发者
代码与禅:在软件开发中寻找内在平静
【5月更文挑战第28天】 在快速迭代的科技世界中,软件开发者往往沉浸于无尽的代码海洋。本文探讨了如何将禅宗哲学融入编程实践,以提升开发效率和内在平和。通过禅修的三个核心原则——专注、简洁、当下意识,我们能够重新审视代码的本质,优化思维模式,并最终达到技术与精神的和谐统一。
|
缓存 Java 编译器
初入编程之门的个人建议1.0
初入编程之门的个人建议1.0
57 0
|
前端开发 JavaScript Java
编程其实是一门武林绝学,你是哪个门派?
编程其实是一门武林绝学,你是哪个门派?
146 0
|
存储 安全 区块链
Jogger慢跑者跑鞋/链游项目系统开发(开发方案),Jogger跑鞋NFT链游模式系统开发详细案例及源码技术
  区块链是一种将数据区块按照时间顺序组合成的链式结构,是去中心化系统中各节点共享且共同维护的分布式数据账本,具体的:各节点由P2P组网方式相互连通和交互,受激励机制激励贡献自身算力,
|
设计模式 XML 前端开发
软件体系结构期末考试总结(上)
软件体系结构期末考试总结
171 0
软件体系结构期末考试总结(上)
|
消息中间件 开发框架 负载均衡
软件体系结构期末考试总结(下)
软件体系结构期末考试总结(下)
96 0
软件体系结构期末考试总结(下)
|
设计模式 IDE Java
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
146 0