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

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

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

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

一、货物崇拜编程

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

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

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

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

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

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

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

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

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

2、不要止步于会使用

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

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

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

二、巧合式编程

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

🤔 如何避免巧合式编程?

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

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

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

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

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

三、写在最后

编程应该深思熟虑。

相关文章
|
12天前
|
算法 程序员 Python
编程之舞:探索代码的和谐与美感
【10月更文挑战第41天】在数字世界的广阔舞台上,编程不仅仅是一项技术工作,它更像是一场精心编排的舞蹈。每一个算法、每一行代码都是舞者的步伐,它们共同编织出解决问题的优雅方案。本文将通过一个简单的Python代码示例,带领读者领略编程之美,体验在逻辑严谨与创意自由之间找到平衡的艺术。
|
3月前
|
算法
编程之舞:从代码中领悟生活的节奏
【9月更文挑战第20天】在数字的海洋里,每一行代码都是舞者的步伐,每一个算法都蕴含着节奏的韵律。本文将通过编程的视角,探索技术与生活的和谐共舞,揭示如何在日常开发工作中寻找到生活的节拍,以及这种节奏如何引导我们更高效地解决问题。
|
3月前
|
设计模式 存储 算法
编程之舞:探索代码的节奏与和谐
【9月更文挑战第11天】在编程的世界里,每一行代码都像是音符,共同谱写一曲旋律。本文将通过深入浅出的方式,探讨如何把握编程的韵律,让代码不仅运行高效,而且结构美观。我们将一起走进代码的微观世界,学习如何通过清晰的逻辑和优雅的设计模式来提升我们的编码技巧。
|
3月前
|
机器学习/深度学习 人工智能 算法
代码之舞:我的编程之旅
在数字世界的广阔舞台上,我是一名热情的舞者。手中的键盘是我表达创意的工具,屏幕上的代码则是我精心编排的舞蹈。从初识编程的笨拙脚步,到如今能够自如地编织逻辑与功能的华美乐章,我在技术的海洋中不断探索、学习与成长。每一次成功运行的程序都是对自我挑战的胜利,每一段优雅的代码都是对技艺精进的证明。在这条充满挑战和创造的旅程上,我学会了如何与计算机对话,如何在问题与解决方案之间架起桥梁,更学会了在失败与尝试中发现乐趣与价值。
|
5月前
|
算法 Python
魔法图书馆大冒险 编程
【7月更文挑战第26天】
42 10
|
7月前
|
开发者
代码与禅:在软件开发中寻找内在平静
【5月更文挑战第28天】 在快速迭代的科技世界中,软件开发者往往沉浸于无尽的代码海洋。本文探讨了如何将禅宗哲学融入编程实践,以提升开发效率和内在平和。通过禅修的三个核心原则——专注、简洁、当下意识,我们能够重新审视代码的本质,优化思维模式,并最终达到技术与精神的和谐统一。
|
7月前
|
算法 安全 程序员
代码之韵:寻找编程中的诗意
【5月更文挑战第11天】 在数字的严谨与逻辑的框架之下,编程往往被视为一门枯燥的技艺。然而,随着技术的不断深入与个人实践的积累,我开始领悟到编程不仅仅是冷冰冰的指令序列,它如同一种现代的文学,蕴含着独特的美学和节奏感。本文将探讨如何在编程的过程中找到那些令人着迷的“诗行”,并分享一些提升代码“艺术性”的个人感悟。
|
人工智能 IDE 算法
【周末闲谈】新的编程方式,程序员的未来何在?
【周末闲谈】新的编程方式,程序员的未来何在?
127 0
|
前端开发 JavaScript 程序员
程序员祝福圣诞快乐的方式(内涵完整代码)
程序员祝福圣诞快乐的方式(内涵完整代码)
181 0
技术总监亲自上阵,手撸了一门编程语言,同事直呼哇塞
都说程序员的三大浪漫是:操作系统、编译原理、图形学;但图形学确实是特定的专业领域,我们几乎接触不到,所以对我来说换成网络更合适一些,最后再加上一个数据库。 这四项技术如果都能掌握的话,可以在 IT 行业横着走了,加上这几年互联网行业越来越不景气,越底层的技术就越不可能被替代;所以为了给自己的 30+ 危机留点出路,从今年上半年开始我就逐渐开始从头学习编译原理。 功夫不负有心人,经过近一个月的挑灯夜战,每晚都在老婆的催促下才休息,克服了中途好几次想放弃的冲动,终于现在完成了 GScript 一个预览版。 预览版的意思是语法结构与整体设计基本完成,后续更新也不太会改动这部分内容、但还缺少一些易用功