如何编写不可维护的代码

Django银行信贷管理系统实战:从数据模型到业务闭环的毕业设计落地 在Python Web开发中,Django与MySQL的组合是构建信息管理系统的经典技术栈。其核心原理在于通过ORM将业务对象映射为数据表,利用模型层定义关系与约束,视图层实现状态流转与权限控制,从而保证数据一致性与业务完整性。这种技术方案的价值在于能快速搭建具备增删改查和复杂业务逻辑的系统,广泛应用于金融、电商、教务等管理场景。对于银行信贷管理这类业务,关键在于设计客户、授信、贷款合同、还款计划、逾期记录等核心数据模型,并实现授信审批、等额本息还款计划生成、逾期扫描等业务闭环。本文围绕Django+MyS 阅读详情
 
如何编写不可维护的代码
 
【翻译:How To Write Unmaintainable Code】
 
--------------------------------------------------------------------------------
一般原理
    为了刁难维护程序员,你必须明白他是如何思考的。他搞到了你的天才般的程序,他没有时间去读所有的代码,更别想理解它,他只希望快速找到他想修改的地方,修改你的代码还不会发生其他意想不到的副作用。
 
让他通过卫生纸筒子去看你的代码,让他一次只能看小小的一部分,你必须保证他在做这种工作时,永远不能得到一张全景图。你要千方百计地让他难以找到他在查找的东西。最最重要的是,你要千方百计地让他认识到,忽略(ignore)任何东西都是不安全的。
 
程序员们常常被哄骗着安心于规范。你要在每时每刻通过巧妙的违反规范,迫使他用放大镜去读你的每一行代码。
 
你可以从语言的每一个特性(feature)上获得灵感,产生不可维护的代码,当然只是恰当的滥用。
 
 
 
我会介绍一些技巧,告诉你如何编程。让你的后继者赞叹这些代码怎么这么难以维护,以至于花几年的时间都不能做最简单的修改。更进一步,如果你虔敬地遵循这些规则,你会确保你的饭碗,因为没有除你之外的任何一个人能够承受维护你的代码的炼狱。嗯,再说了,如果你虔敬地遵循这些规则,可能你自己也不能维护这些代码。
 
你不想做得过火了,你的代码不应该看上去毫无维护的希望,否则它们就可能陷入重写或者重构(refactoring)的危险之中。
 
 
--------------------------------------------------------------------------------
 
命名术
在你编写不可维护代码时,大量的技巧在于变量和方法命名的艺术中。编译器完全不理会这种事情,这就给了你一个巨大的自由创作空间,去迷惑维护程序员。
 
1.《Baby的20001个名字》新用法
       买一本婴儿取名的书,你就永远不愁找不到变量名了。Fred就是一个好名字,有容易输入。如果你喜欢容易输入的变量名,试一试adsf或aoeu。
 
2.单字符变量名
      如果你把变量取名为a,b,c,则不可能用简单的文本编辑器搜索它们。而且,没有人能够猜出它们代表什么。如果有人想打破从FØRTRAN语言以来,我们捍卫的使用i、j和k作为变量的传统习惯,即用ii,jj和kk取代它们,则告诉他们西班牙宗教裁判所是如何对付异教徒的。
3.创造性错误拼写
如果你不得不使用描述性的变量和方法名,misspell它们。通过误拼一些变量和方法名,而在其他地方有正确的拼写(例如SetPintleOpening ,SetPintalClosing),我们有效的阻击了使用grep(regex工具)或 IDE 搜索技术的企图。它有令人惊讶的功效。同时,我们还可以增加一些国际化的风格,比如在不同的场合(theatres/theaters)使用tory or tori的拼写方式。
4.要抽象
在变量和方法名中,大量的使用抽象词汇,如it, everything, data, handle, stuff, do, routine, perform和数字,比如routineX48, PerformDataFunction, DoIt, HandleStuff,还有do_args_method。
 
5. A.C.R.O.N.Y.M.S.
acronyms是缩写。使用它们以保持代码的简洁。真正的程序员不定义缩写,他们非常天然的理解它们。
 
保姆级避坑指南:在Ubuntu 22.04上成功复现VMamba模型(附完整环境依赖清单) 本文提供了在Ubuntu 22.04上复现VMamba模型的详细指南,包括环境准备、CUDA与PyTorch的精确匹配、依赖安装的疑难杂症解决以及完整环境清单。特别针对Linux系统下的环境复现问题,提供了实用的避坑技巧和验证方法,帮助开发者高效完成VMamba模型的部署。 阅读详情

相关推荐

QMT中ContextInfo的使用注意

QMT中ContextInfo下声明的全局变量的使用注意事项

路在何方 2810

如何写出不可维护的代码

mghio读完需要6分钟速读仅需 1 分钟作为一个程序员,写出不可维护的代码实在是一项艺术。如果你想成为一个成功的程序员,你必须掌握如何写出最混乱、最复杂的代码,这样才能确保自己的代码无论如何都不可维护。在这篇文章中,我将向大家介绍一些如何写出混乱、不可维护代码的技巧,让你成为编程界的“艺术家”。 忽略命名规则命名规则对于写出易于理解和维护的代码非常重要。但是,如果你想要写出不可维护的代码,那...

Meldoy_mgh的博客 618

GOM Correlate拉伸试验后处理操作

本文描述了使用GOM Software 2022对拉伸试样进行后处理的操作,包括设置检测点、引伸计、输出应变数据到表格、输出报告为视频等

qq_45008924的博客 4664

How to Write Unmaintainable Code @ JDJ

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 722

CANoe信号波形分析保姆级教程:Graphic窗口从配置到实战避坑

本文详细解析了CANoe的Graphic窗口在信号波形分析中的高效配置与实战应用技巧。从信号显示模式选择、测量光标进阶操作到信号分组策略,提供工程化解决方案,帮助工程师快速定位总线信号异常,提升汽车电子开发与测试效率。

weixin_29279047的博客 267

西工大noj100题python2024第三季21-30

【代码】西工大noj100题python2024第三季21-30。

weixin_70523540的博客 1578

不可维护的代码

不可维护的代码 如果建造者以程序员编写程序的方式建造建筑物,那么出现的第一个啄木鸟将摧毁文明。 -Gerald Weinberg ( 1933-10-27 ) [温伯格第二定律] 永远不要将恶意归咎于恶意,这可以用无能来解释。 - 拿破仑 ( 1769-08-15 1821-05-05 ) 为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗

Sple的博客 1448

爬虫-Playwright逆向小红书

【代码】爬虫-Playwright逆向小红书。

weixin_44201223的博客 2430

一步步教你编写不可维护的 PHP 代码

随着失业率越来越高,很多人意识到保全自己的工作是多么的重要。那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只要你的代码没有人能够维护,那么你就成功保住了工作。编写不可维护的代码是一个特殊的技能,但奇怪的是,似乎对某些开发者来说是很自然的。不过对于剩下的开发者来说,这里有一些技巧和提示来让你开始写不可维护的代码。 首先要做的事情 第一步,从找工作开始。你应该寻找合适的公...

weixin_43814458的博客 217

【项目实战】DevOps制品管理之JFrog Artifactory介绍

JFrog Artifactory是一款领先的二进制软件制品仓库管理工具,由JFrog公司开发。

奶爸的编程之路,也就一周冷个三天 1354

4、LTE无人机认证:保障通信安全的新方案

本文针对LTE网络中无人机通信存在的安全风险,提出了一种基于可信第三方GCS的新型认证协议。该协议通过非对称加密和哈希函数保护IMSI等敏感信息,防止身份泄露、中间人攻击、拒绝服务攻击和位置追踪等威胁。利用Scyther工具对协议进行形式化分析,验证了其在机密性、一致性和活性等方面的安全属性,证明该方案能有效提升无人机在LTE网络中的通信安全性与隐私保护能力。

pink的博客 61

代价敏感 代码_一步步教你编写不可维护的 PHP 代码

php中文网最新课程每日17点准时技术干货分享随着失业率越来越高,很多人意识到保全自己的工作是多么的重要。那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只要你的代码没有人能够维护,那么你就成功保住了工作。编写不可维护的代码是一个特殊的技能,但奇怪的是,似乎对某些开发者来说是很自然的。不过对于剩下的开发者来说,这里有一些技巧和提示来让你开始写不可维护的代码。首先要...

weixin_42569429的博客 124

分区补光与ISP图像调节技术

在安防监控场景中,逆光、强光、明暗不均(如门口 / 窗边的 “阴阳脸” 画面)是导致图像细节丢失的核心问题。分区补光技术通过对画面不同亮度区域精准补光,解决 “局部过曝 / 欠曝” 难题;ISP(图像信号处理器)图像调节技术则通过算法优化,提升画面色彩、对比度与细节。二者协同可实现 “硬件补光 + 算法优化” 的双重增强,是低功耗摄像机实现高清画质的关键技术组合。分区补光与 ISP 图像调节技术:原理、协同方案及安防监控应用案例。一、核心技术原理解析。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 730

[原创] 如何编写一份不可维护的代码

  程序猿的眼里,世界唯吾独尊。斗破苍穹,如何能处身于不败之地??—— 唯有修得前无古人后无来者的独门绝技,干死同门,方能成为长老。且跟我来,传授与你天文代码技能,出之吾手,唯吾能懂,若非吾,则,此道必亡。   上车!!         孤独求败第一式:       变量不可语义命名,用123什么的就行了,eg, var1.var 2...   孤独求败第二式:...

195

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

如何写不可维护的代码-程序设计篇

如何编写不可维护的代码程序设计编写不可维护代码最重要的原则就是将同一事实尽可能的放在不同的地方,尽可能的用不同方法去描述它。1,编写可维护的代码的关键就是,将同一事实只放在同一地方。当你改变主意的时候,你只需要改变一个地方。整个程序也确保会仍旧工作。因此,编写不可维护代码的关键就是一遍又一遍的指定同一个事实,尽可能的把它放在不同地方,尽可能的用不同方法去指定它。所幸的是,象java一类

tar的专栏 1391

如何编写无法维护的代码

如何编写无法维护的代码 让自己稳拿铁饭碗 —— Roedy Green 简介 永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能。 — 拿破仑 为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而且,如果你能对照

技术归档 1635

代价敏感 代码_【PHP】一步步教你写不可维护的PHP代码

写在前边: 这是一篇很棒文章,使用有趣的叙述方式,从反面讲解了作为一个优秀的 PHP 工程师,有哪些事情是你不能做的。请注意哦,此篇文章罗列的行为,都是你要尽量避免的随着失业率越来越高,很多人意识到保全自己的工作是多么的重要。那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只要你的代码没有人能够维护,那么你就成功保住了工作。编写不可维护的代码是一个特殊的技能,但奇怪的是,似...

weixin_35987118的博客 82

老码农冒死揭开行业黑幕:如何编写无法维护的代码

图片源自:The Matrix Reloaded如何编写无法维护的代码 让自己稳拿铁饭碗 ;-)— Roedy Green(翻译版略有删节) 简介永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能。 — 拿破仑为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而且,如

爱编程 2287

如何写出让同事无法维护的代码?

对,你没看错,本文就是教你怎么写出让同事无法维护的代码。一、程序命名容易输入的变量名。比如:Fred,asdf单字母的变量名。比如:a,b,c, x,y,z(如果不够用,可以考虑a1,a2,a3,a4,….)有创意地拼写错误。比如:SetPintleOpening, SetPintalClosing。这样可以让人很难搜索代码。抽象。比如:ProcessData, DoIt, GetData...

weixin_68436326的博客 98
上一篇: java面试
下一篇: Java程序性能优化
Star_of_Java
博客等级 码龄19年 13粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值