我一直认为程序员是一个技术和艺术并存的职业。我们的代码不应该是一些单纯的程序文本,而应该更像是一副富有艺术气息的作品,就如同画家作是画家的心血一样,我们的每一行代码都应该被善待和珍视。
最近,随着一些大厂的陆续暴雷,以及一些裁员风波,我在不少自媒体平台都刷到了关于新式“防御性编程”的段子,初看感觉只是个文娱的文案,但之后回忆过往,再结合自己的工作经历,发现现在这种现象确实是越来越普遍了。

我一直认为程序员是一个技术和艺术并存的职业。我们的代码不应该是一些单纯的程序文本,而应该更像是一副富有艺术气息的作品,就如同画家作是画家的心血一样,我们的每一行代码都应该被善待和珍视。
最近,随着一些大厂的陆续暴雷,以及一些裁员风波,我在不少自媒体平台都刷到了关于新式“防御性编程”的段子,初看感觉只是个文娱的文案,但之后回忆过往,再结合自己的工作经历,发现现在这种现象确实是越来越普遍了。

|
以前的“防御性编程”
|
现在的“防御性编程”
|
|
|
定义
|
一种谨慎的编程方法,默认外部代码是不安全的,对外部调用不信任,需要自己完成检查和校验,最大限度的保护自己。是一种有效提高代码健壮性的手段。
|
通过人为的保留 bug,弱化代码性能、健壮性,通过不写注释,不写文档,提高复杂度等方式,人为降低代码的可维护性,变相提高自己的不可替代性,以达到裁员避雷的目的。
|
|
实现方式
|
严谨的编码规范
定义安全边界
边界值检查
权限检查
异常处理
|
保留 bug
弱化代码性能,为优化保留空间
不写有效的注释、文档以及提交说明
引入多余的架构,多层嵌套,超类,超长方法,海量局部变量,复杂化程序结构,提高代码的复杂度
类型、变量、方法的命名不具描述性
|
|
目的
|
得到健壮的代码
|
造就“屎山”,让作者不可替代
|
|
针对
|
外部代码
|
公司和领导
|
刚看到那些短视频,感觉有些看不惯,感觉短视频的作者肯定不是开发。但过后想想,又觉得这是一件多么无奈的事情呀!哎~~~
评论已关闭。