社畜逆襲:從小米開始反卷互聯 第5章 什么叫防御,性編程啊?
然后看著控制面板.....沒有異常報錯。
打開網頁,輸入地址,用鼠標點擊功能,一切正常。
如此這般,幾個功能全部搞定。
陳默活動了一下手指,“其實正常流程應該先寫單元測試,再實現功能,不過一是時間有限,二是這點程度還不需要我寫單測。
這樣你這個項目的工作就完成了,這幾天應該可以不用加班了。”
齊萌萌親眼看到代碼一點點豐滿起來,聚沙成塔,充滿了玄奧的規則,臉上充滿了敬畏。
這些代碼在師父的手里仿佛一個個聽話的小朋友,令行禁止,異常聽話。
原計劃她一周工作量的功能實現,在師父的手里沒堅持過一刻鐘。
看了看時間,13分14秒,這就是她與師父之間的鴻溝,
“剛才這些,其實有一個統一的名稱,叫防御性編程!”
不知道是否錯覺,齊萌萌感覺師父說到最后莫名頓了一下。
“什么叫防御性編程啊?”
陳默坐回自己座位,沖對方勾了勾手,示意過來,
“防御性編程是一種細致、謹慎的編程方法。
它要求程序員在編寫代碼時預見可能出現的問題,并提前采取措施來避免這些問題。
這種編程習慣更加注重錯誤的預防和控制,以減少可能出現的災難性后果。
剛才的代碼示范是名門正派的用法,正所謂道高一尺魔高一丈。
接下來我所教你的乃是防御性編程的邪道用法。
其實原來是沒有這些的,隨著公司與員工之間的博弈加劇,往往后者處于絕對的劣勢。
一些前輩就想到了此招,那就通過編寫晦澀難懂的代碼,令自己手里握有一些籌碼,即便自己最后被裁,也要讓自己負責的那些代碼是不可維護的!
從而在一定程度上提升自己的‘不可取代性’,達到讓公司投鼠忌器的目的!
要不看你是我徒弟,這招我一般不輕易示人,因為一旦施展,必將引發嚴重的后果,如同七傷拳,傷人更傷己。
不過為師目前功力深厚,已經可以無視這種副作用了。”
說著陳默把自己之前負責的主要功能模塊代碼找出來,陷入了沉默。
此時的他再看自己之前所寫的這些代碼,簡直沒眼看,只是為了完成功能而完成功能,毫無優雅可言,比齊萌萌那坨代碼能強上一些,但也有限。
過了一會,陳默方才把屏幕稍微向齊萌萌那邊偏了偏。
這一次陳默全功率開動,雙手噼里啪啦快速敲擊著鍵盤,速度快的都能看到殘影,這是豐富的經驗和年輕的肉體融合才具備的功力。
這讓他很是滿意現在的狀態,年輕真好,隨后就聽到齊萌萌的壓抑不住的驚嘆,
“哇,師父,你好快.....”
這可不興說.....
陳默眼角抽了一下,手中原本行云流水的敲擊聲瞬間頓了一下,速度稍微降檔....
原本的代碼被改的面目全非,當然陳默不是跟拼積木一樣在上面不斷累加,而是怎么復雜怎么來。
循環嵌套,高級語法,在代碼中封裝了一層又一層“防盜門”,涉及范圍包括不限于代碼、配置文件、數據庫.....
原本二十行就能實現功能的代碼,短短幾分鐘就極速膨脹了近千行,別看多,乍一看充滿了代碼的美感,如果仔細一讀會讓人頭皮發麻,技術越高的選手越容易陷進去,不可自拔。
相當于把原本一兩句話能說清的事情,水上幾十章,比如山坡上突然冒出了一伙山賊,定睛一看竟是梁山一百單八將,他們分別是“宋江、吳用、盧俊義、林沖.....”名字念完再念綽號,然后背景羈絆全部整上....
讓人看上一眼就忍不住罵娘,簡直不當人子。
在寫代碼的過程中,陳默每寫下一小段,都會跟齊萌萌解釋其含義,深入淺出。
而齊萌萌看著面前的這堆代碼,在師父的鬼斧神工下,不斷拆解、崩散、融合、重組,變成了一點都看不懂的樣子,臉上滿是震撼。
這時一個員工從旁邊經過。
原本已經路過陳默工位的他耳朵微微一動,咦了一聲又折返了回來,隨后在后面津津有味地看了起來。
陳默敲代碼的速度見漲啊,都快趕上我了,難道扇老板還有這好處?
哎,這些已經測試完畢的代碼為什么要動?
這是在優化?不,這改動程度已經是重構了,現在重構?都快驗收了這不是沒事找事么?
嗯?這語法還能這么寫?倒是學到一招,沒白看。
不過怎么看上去像反向重構,越來越復雜了,這樣還能跑通么?奇怪.....
這哥們臉上的神情從開始的好奇慢慢變為費解,隨后聽著陳默的講解,表情在疑惑和恍然之間來回切換,好像一個釘在十字路口的紅綠燈.....
半個小時后,當陳默把自己之前的代碼核心邏輯全部重構一遍,程序開始執行,沒有報錯,幾分鐘整個流程點了一遍一次過。
“這就是所謂的防御性編程,看明白了?”
齊萌萌瞪著懵懂的大眼睛,情理之中的搖了搖頭,有看沒有懂。
陳默欣慰的點了點頭,“看不懂就對了,說不定過幾天我來看我寫的代碼都看不懂,這就是眼中有碼心中無碼的至高境界。
所以只能祝王德發好運,希望后續這幾個功能驗收的時候不要有改動,否則.....”
“否則怎樣?”
陳默雙手作開花狀,嘴里BOOM了一聲,
“藝術就是爆炸!”
系統能不能驗收通過才不是她一個實習生的關注點,齊萌萌有一點比較好奇,
“師父,你剛才敲代碼,不需要思考么?一氣呵成,簡直....”她一時想不出什么形容詞,最后只能豎了個大拇指。
“我一直在思考啊,最開始停了一分鐘我就在想大概代碼結構該怎么去構建,然后等實現的時候手里敲這段代碼的時候,腦海里面已經提前預判想下一塊代碼了,跟賣油翁一樣,唯手熟爾。
這都是你往后要學的地方,說多了你也記不住,行了,今天為師灌輸給你的東西有點多,你先消化一下。”
陳默拿著杯子準備去打水,起身發現不知道何時身后一步不動杵著個人,
宛如雕像。
社畜逆襲:從小米開始反卷互聯 第5章 什么叫防御,性編程啊?