[导读]在工作中,会遇到很多使用囧然不同风格的开发者,下面是小编所知道的一些,你还知道其它的吗?散弹枪编程这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么,我会试着把传出的参数从false变成true!”,当然依然出错,于是我们的程序员会这样:“好吧,...
在工作中,会遇到很多使用囧然不同风格的开发者,下面是小编所知道的一些,你还知道其它的吗?散弹枪
编程这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么,我会试着把传出的参数从 false 变成 true!”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结对,那么,那个正规的程序可以马上变得发疯起来,并且可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程,这是因为他们破坏性的才能会造成的伤害会比只有一个还差。撞大运编程
这是一种比散弹枪编程要温和一些的编程方式,我相信这种方式可能会是大多数程序员都会使用的方式。这种编程方式经常出现于程序员并不确切知道他们在干什么,也不知道所写的程序的本质和实际,但是可以让程序工作起来。他们以一种撞大运的方式在写程序,某些时候,他们根本就不知道某个错误的原因,就开始稀里糊涂地修改代码。一旦出现问题,他们会用两条路:1)停下来,理解一下程序,找到出错的原因。2)使用散弹枪编程方式开始解决问题。测试驱动开发(Test Driven Development)是一种可以用来拯救上百万的撞大运编程的程序员。于是,他们有了一个更为NB的借口:只要我的程序通过测试了,你还有什么话好说?别骂我,测试驱动开发是一个不错的事物,其主要是用来控制撞大运开发所带来的问题。Cargo-Cult 编程
关于Cargo Cults一词来自二战期间的某些太平洋上小岛里的土著人。在战争期间,美国利用这些小岛作为太平洋战场上的补给站。他们在这些小岛上修建自己的飞机跑道以用来运输战争物资。而那些小岛上的土著人从来没有见过飞机,当他们看到飞机的时候,觉得相当的牛,可以为那些白人带来各种各样的物品和食物。当二战结束后,那些土著人仿照着修建了飞机跑道,并用竹子修建了塔台,然后就在那期望着有飞机为他们送来物品和食物。Cargo Cult编程是一种非常流行的编程方法,使用这种方法的程序员会学习其它编程高手的编程方法,虽然他们并不知道为什么高手们要那样做,但是他们觉得那样做可以让程序工作起来。举个例子,当时有大量的程序员在J2EE出现的第一年中过度地使用了EJBs和Entity Beans。刻舟求剑编程
刻舟求剑是一个很流行的寓言了。这种风格的编程在程序员的圈子里是非常常见的。比如,有一天你发现了一个空指会的异常,于是你到了产生空指针异常的地方,简单地放上一个判断:if (p != NULL)。是的,这样的fix可以让你的程序工作起来,但你并没有真正地解决问题。你只不过是在你的船边记下了剑掉下去的位置,这样做只不过把问题隐藏起来,最终只会让你的程序的行为变得神出鬼没。你应该找到为什么指针会为空的原因,然后再解决这个问题。设计模式驱动型编程
正如这种编程的名字所说的,这种编程风格使用大量的设计模式,在你的程序中,四处都是设计模式,你的代码到处都是Facade、Observer、Strategy、Adapter等。于是,你的程序要处理的业务逻辑被这些设计模式打乱得无法阅读,最后,也不知道是业务需求重来,还是设计模式重要。总之,实际业务需求的程序逻辑被各种设计模式混乱得不堪入目。侦探型编程
在解决一个Bug的时候,侦探型程序员会调查这个Bug的原因。然后,则调查引发这个BUG的原因的原因。再然后,其会分析修正代码后是否会导致其它代码失败的因果关系。再然后,他会使用文本搜索查找所有使用这个改动的代码,并继续查找更上一级的调用代码。最后,这个程序员会写下30个不同的情形的测试案例,就算这些测试案例和那个Bug没有什么关系。最最后,这个程序员有了足够多的信心,并且精确地修正了一个拼写错误。与此同时,其它一个正常的程序修正了其它5个Bug。屠宰式
编程使用这种风格的程序员,对重构代码有着一种难以控制的极端冲动。他们几乎会重构所有经手的代码。就算是在产品在Release的前夜,当他在修正几个拼写错误的bug同时,其会修改10个类,以及重构与这10个类有联系的另20个类,并且修改了代码的build脚本,以及5个部署描述符。来源:网络版权归原作者所有,如有侵权,请联系删除。
扫描二维码,关注更多精彩内容
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
-Basecamp Research推出全球首个可编程基因插入AI模型 此突破可解决遗传医学长期存在的挑战,目标是开发新一代治愈性细胞和基因疗法。 与NVIDIA合作开发,依靠NVIDIA BioNeMo的加...
关键字:
编程
SE
AI模型
RESEARCH
在C语言编程中,循环结构是处理重复任务的核心工具,而break和continue则是控制循环流程的关键指令。虽然两者都用于改变循环的正常执行路径,但它们的行为和适用场景存在本质差异。
关键字:
C语言
编程
济南2025年12月2日 /美通社/ -- 2025年11月30日,第三届山东省青少年无人机大赛泰安区域选拔赛在浪潮探索中心泰安科创教育基地举行。泰安市科协、泰山区科协、山东省无人机技术与应用协会、山东浪潮盛华智慧教育有...
关键字:
大赛
无人机
人工智能
编程
北京2025年11月3日 /美通社/ -- 近日,在IMT-2020(5G)推进组的组织下,爱立信率先成功完成了5G可编程网络技术演示。本次演示结合实际应用场景验证了可编程网络在服务保障、动态资源分配、网络能力开放以及意...
关键字:
爱立信
编程
网络技术
5G网络
本文中,小编将对PLC予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。
关键字:
PLC
编程
在下述的内容中,小编将会对PLC的相关消息予以报道,如果PLC是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。
关键字:
PLC
编程
模块化
-Cognizant正在筹办全球最大规模的氛围编程活动,以提升数千名员工的AI素养 为抓住人工智能经济将创造的巨大机遇,Cognizant与Lovable、Windsurf、Cursor、Gemini Code Ass...
关键字:
编程
NI
AN
PI
上海 2025年6月23日 /美通社/ -- 日前,以"汇聚•连接•创造"为主题的2025世界移动通信大会(MWC)上海拉开帷幕。大会期间,爱立信专家围绕"5G-A","...
关键字:
爱立信
编程
网络
AI
北京2025年3月6日 /美通社/ -- 2025世界移动通信大会(MWC25)期间,爱立信的5G可编程网络荣获"GTI年度大奖—移动技术创新突破奖"。此次获奖,标志着爱立信的5G可编程网络获得了GT...
关键字:
网络
爱立信
编程
TI
北京2025年3月4日 /美通社/ -- 日前,爱立信总裁兼首席执行官鲍毅康(Börje Ekholm)在巴塞罗那举行的2025年世界移动通信大会(MWC)上表示,移动连接将在实现人工智能(AI)和云技术能力方...
关键字:
爱立信
API
AD
编程
上海2025年2月20日 /美通社/ -- 新品亮点 产品丰富:5个系列,9款产品,工作距离覆盖300~3000mm 性能出众:采集时间0.3s,不惧反光,精度最高0.03mm@300mm 应用广泛:支...
关键字:
3D视觉
相机
编程
机器人系统
防御性编程是指一种预见代码可能出现问题并提前采取措施来防止这些问题发生的编程风格。在前端开发中,这尤其重要,因为你的代码直接与用户交互,任何错误都可能导致糟糕的用户体验,甚至安全漏洞。
关键字:
代码
编程
防御性编程是一种编程策略,旨在通过考虑到各种可能的错误和异常情况,确保程序在任何情况下都能正常工作。这种方法强调在编码过程中尽可能早地发现并处理错误,以避免在运行时出现未预见的问题。
关键字:
C语言
编程
在科技发展的浪潮中,编程成为了连接数字世界与现实世界的桥梁。然而,编程的力量既是双刃剑,既能创造奇迹,也可能带来灾难。本文旨在探讨如何通过最少的代码导致计算机硬件永久不可逆损坏,但更重要的是,强调这种行为的危险性和不道德...
关键字:
计算机硬件
编程
乌镇2024年11月19日 /美通社/ -- 日前,2024世界互联网大会乌镇峰会召开。期间,爱立信的"5G可编程网络"荣膺"世界互联网领先科技成果" 殊荣。爱立信的&q...
关键字:
互联网
爱立信
编程
网络
C++是一种通用编程语言,它支持多种编程范式,包括过程式、面向对象和泛型编程。C++的设计哲学是“零开销抽象”,即不引入任何非必要的开销。这种哲学使得C++能够高效地执行低级内存操作,并允许程序员直接控制硬件资源。
关键字:
C语言
编程
C++
北京2024年10月25日 /美通社/ -- 日前,爱立信举行秋季媒体沟通会。爱立信东北亚区执行副总裁、中国区总裁方迎偕同团队出席,共同分享了爱立信对于移动通信网络发展现状与趋势的洞察,并在"新质网络创造新质价...
关键字:
爱立信
网络
编程
5G网络
测量、工业和光学应用,需要具有可编程调谐、扫描和激励功能的通用频率合成功能
关键字:
编程
调谐
扫描
在当今高度电气化的世界中,电力供应的稳定性、精准性和灵活性对于各种设备的正常运行和性能发挥起着至关重要的作用。
关键字:
电气
编程
变频电源
我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。
关键字:
C语言
编程