vps交流

聪明的程序员会写一堆只有自己看得懂的屎山


因试用期遭劝退,一男子为发泄情绪删光自己在职期间所写系统代码被判刑十个月,如何看待这一审判结果?

作者:Moenova
链接:https://www.zhihu.com/question/515566834/answer/2481155445
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

通过删库来发泄情绪的程序员是最蠢的。聪明的程序员会写一堆只有自己看得懂的屎山,并且伴随着偶发且不可复现的重**ug。一旦离职,屎山将变得不可维护。然后你不但不需要自己删库,老板还需要花额外的钱请其他程序员来删掉你的代码。屎山包括但不限于以下行为:使用大量while语句和条件判断,并在之间加塞大量自定义函数和实例化以及递归结构。并把函数暴露在其他人可以灵活修改的位置,只要一个参数变化就会导致函数返回出错,卡死在while循环。而debug通常需要几千个循环之后才能发现,极大的延缓了bug被修复的时间。函数套函数形成千层夹心,让思路乱做一团,很难理顺思考。随意起名,并和全局变量保持一致,不经意间就修改了全局变量。catch所有的exception,让bug被巧妙隐藏。使用复杂多线程多进程服务,并伴随着随机函数和等待时间,让bug很难出现。大量使用外部api请求,并写死提取方法,一旦对方api修改,立刻出bug。在数据库交互函数上灵活实现,让使用者可以传入任何值,修改数据库的任何内容,甚至只要传错一个参数就可以删掉数据。一定不要写,单元测试,也不要写document,把你的所有的时间用在老板能看得到的功能实现上,而且一定要用最复杂,最fancy的实现方式。面对老板不切实际的需求来者不拒,只要让老板在看到功能时候保持运行状态即可。实现的论文一定要用最冷门的巨巨技术,冷门意味着没几个人会甚至连业内人员都没学过,巨巨意味着难难到只有苦心钻研黑科技的你才能把抄来的代码勉强跑起来。一定要拉上业界最顶级的框架,绝不按照项目自定义内容,如果一个顶级框架不能完成就再加塞一个顶级框架,每个框架只用一点点内容,以此来显示你超强的学习能力和业务素质。这样如果有人要接手,他们需要把这些框架全部学一遍。并且经常使用那些不稳定但勉强能用的新版功能,无视大量warning,如果有就隐藏掉。旧版功能通常难以被新版支持,所以这些框架的版本在你引入项目的瞬间就被定死了。然后为了保险起见你不要升级框架,一定要用最老的框架,这样一个毕业生误以为学会了框架内容结果却发现自己学的框架太新了,还得把旧版本的内容学一遍。经常使用开源bug书写程序,这样一旦开源库修复bug,你的代码就需要重写。如果写http请求,请一定把最危险的功能设置成get方法,这样只要在聊天时对方点误点了连接,浏览器就会自动把危险的请求传给后端,然后造成大量业务崩溃。但这不是你的错,是他们不应该在聊天和邮件里乱点链接!一旦你离职,你所写的所有代码和同事的代码都会随着开源版本更新,新功能增加,外部api变化,新同事不小心传错参数,以及点错超链接造成大业务坏死。让fancy的地方尽可能简陋,让简陋的地方尽可能fancy。就能在满足其要求的情况下,引入大量bug和feature的混合物,让改动变得左右为难。这就让接手的程序员陷入如下困境:删除代码重构,工作量太大不删代码,看不懂源码清理bug,功能变得不可用不清bug,之后会引发严重问题维护代码,只能用新bug掩盖旧bug不维护代码,随着技术升级,旧代码会一点点变成bug当你已经掌握这些技巧,并付诸实践,想必公司一定得让你晋升主管。为了清理这些垃圾需要耗费成倍于你的人月方可完成删除,然后为了实现你的功能他们又需要额外的人月清理屎山可不止恢复数据那点钱。

没有垃圾的代码, 只有垃圾的程序员
有没有可能存在一种情况, 就是自己拉出来的屎山, 自己也忘记了是怎么拉的, 然后把自己整迷失了
俗称, 自己挖个坑, 不小心把自己埋了
不怕填的太多坑,自己也给绕进去吗聪明的程序员会写一堆只有自己看得懂的屎山
感谢,已收藏
删代码真蠢,直接塞一堆垃圾代码,要不然就直接静态库聪明的程序员会写一堆只有自己看得懂的屎山
哦哦知道了
确实,没用了就会被踢开
魔改旧版开源库
只有自己知道的函数。jpg
直接修改各种命名,加上乱写注释就能很恶心了