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