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