第5章 什么叫防御,性编程啊?

>>> 戳我直接看全本<<<<
更新时间:2024-09-13 12:29:40

然后看着控制面板.....没有异常报错。打开网页,输入地址,

用鼠标点击功能,一切正常。如此这般,几个功能全部搞定。陈默活动了一下手指,

“其实正常流程应该先写单元测试,再实现功能,不过一是时间有限,

二是这点程度还不需要我写单测。这样你这个项目的工作就完成了,

这几天应该可以不用加班了。”齐萌萌亲眼看到代码一点点丰满起来,聚沙成塔,

充满了玄奥的规则,脸上充满了敬畏。这些代码在师父的手里仿佛一个个听话的小朋友,

令行禁止,异常听话。原计划她一周工作量的功能实现,在师父的手里没坚持过一刻钟。

看了看时间,13分14秒,这就是她与师父之间的鸿沟,“刚才这些,

其实有一个统一的名称,叫防御性编程!”不知道是否错觉,

齐萌萌感觉师父说到最后莫名顿了一下。“什么叫防御性编程啊?

”陈默坐回自己座位,冲对方勾了勾手,示意过来,

“防御性编程是一种细致、谨慎的编程方法。

它要求程序员在编写代码时预见可能出现的问题,并提前采取措施来避免这些问题。

这种编程习惯更加注重错误的预防和控制,以减少可能出现的灾难性后果。

刚才的代码示范是名门正派的用法,正所谓道高一尺魔高一丈。

接下来我所教你的乃是防御性编程的邪道用法。其实原来是没有这些的,

随着公司与员工之间的博弈加剧,往往后者处于绝对的劣势。一些前辈就想到了此招,

那就通过编写晦涩难懂的代码,令自己手里握有一些筹码,即便自己最后被裁,

也要让自己负责的那些代码是不可维护的!

从而在一定程度上提升自己的‘不可取代性’,达到让公司投鼠忌器的目的!

要不看你是我徒弟,这招我一般不轻易示人,因为一旦施展,必将引发严重的后果,

如同七伤拳,伤人更伤己。不过为师目前功力深厚,已经可以无视这种副作用了。

”说着陈默把自己之前负责的主要功能模块代码找出来,陷入了沉默。

此时的他再看自己之前所写的这些代码,简直没眼看,只是为了完成功能而完成功能,

毫无优雅可言,比齐萌萌那坨代码能强上一些,但也有限。过了一会,

陈默方才把屏幕稍微向齐萌萌那边偏了偏。这一次陈默全功率开动,

双手噼里啪啦快速敲击着键盘,速度快的都能看到残影,

这是丰富的经验和年轻的肉体融合才具备的功力。这让他很是满意现在的状态,

年轻真好,随后就听到齐萌萌的压抑不住的惊叹,“哇,师父,

你好快.....”这可不兴说.....陈默眼角抽了一下,

手中原本行云流水的敲击声瞬间顿了一下,

速度稍微降档....原本的代码被改的面目全非,

当然陈默不是跟拼积木一样在上面不断累加,而是怎么复杂怎么来。循环嵌套,

高级语法,在代码中封装了一层又一层“防盗门”,

及范围包括不限于代码、配置文件、数据库.....原本二十行就能实现功能的代码,

短短几分钟就极速膨胀了近千行,别看多,乍一看充满了代码的美感,

如果仔细一读会让人头皮发麻,技术越高的选手越容易陷进去,不可自拔。

相当于把原本一两句话能说清的事情,水上几十章,比如山坡上突然冒出了一伙山贼,

定睛一看竟是梁山一百单八将,

他们分别是“宋江、吴用、卢俊义、林冲.....”名字念完再念绰号,

然后背景羁绊全部整上....让人看上一眼就忍不住骂娘,简直不当人子。

在写代码的过程中,陈默每写下一小段,都会跟齐萌萌解释其含义,深入浅出。

而齐萌萌看着面前的这堆代码,在师父的鬼斧神工下,不断拆解、崩散、融合、重组,

变成了一点都看不懂的样子,脸上满是震撼。这时一个员工从旁边经过。

原本已经路过陈默工位的他耳朵微微一动,咦了一声又折返了回来,

随后在后面津津有味地看了起来。【陈默敲代码的速度见涨啊,都快赶上我了,

难道扇老板还有这好处?】【哎,这些已经测试完毕的代码为什么要动?

】【这是在优化?不,这改动程度已经是重构了,现在重构?

都快验收了这不是没事找事么?】【嗯?这语法还能这么写?倒是学到一招,没白看。

】【不过怎么看上去像反向重构,越来越复杂了,这样还能跑通么?

奇怪.....】这哥们脸上的神情从开始的好奇慢慢变为费解,随后听着陈默的讲解,

表情在疑惑和恍然之间来回切换,

好像一个钉在十字路口的红绿灯.....半个小时后,

当陈默把自己之前的代码核心逻辑全部重构一遍,程序开始执行,没有报错,

几分钟整个流程点了一遍一次过。“这就是所谓的防御性编程,看明白了?

”齐萌萌瞪着懵懂的大眼睛,情理之中的摇了摇头,有看没有懂。

陈默欣慰的点了点头,“看不懂就对了,说不定过几天我来看我写的代码都看不懂,

这就是眼中有码心中无码的至高境界。所以只能祝王德发好运,

希望后续这几个功能验收的时候不要有改动,否则.....”“否则怎样?

”陈默双手作开花状,嘴里BOOM了一声,“艺术就是爆炸!

”系统能不能验收通过才不是她一个实习生的关注点,齐萌萌有一点比较好奇,

“师父,你刚才敲代码,不需要思考么?一气呵成,

简直....”她一时想不出什么形容词,最后只能竖了个大拇指。“我一直在思考啊,

最开始停了一分钟我就在想大概代码结构该怎么去构建,

然后等实现的时候手里敲这段代码的时候,脑海里面已经提前预判想下一块代码了,

跟卖油翁一样,唯手熟尔。这都是你往后要学的地方,说多了你也记不住,行了,

今天为师灌输给你的东西有点多,你先消化一下。”陈默拿着杯子准备去打水,

起身发现不知道何时身后一步不动杵着个人,宛如雕像。