新聞中心
最近程序員界又重新流行起來了防御性編程這個概念,早期嘞,這個概念代表是一種細致、謹慎的編程方法。

創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為云安等服務建站,云安等地企業(yè),進行企業(yè)商務咨詢服務。為云安企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
防御性編程的目的是為了開發(fā)可靠的軟件,我們在設計系統(tǒng)中每個組件的時候,都需要使其盡可能的 "保護" 自己。
但是 2023 年以來,國內的互聯(lián)網市場是什么行情,相信大家都清楚,整個市場環(huán)境都在強調降本增效、開猿節(jié)流。
因此為了體現(xiàn)程序員們在公司代碼中的不可替代性?防止被裁。"防御性編程" 概念又重新流行了起來。
不過這次它可不再是保護程序了,而是保護廣大程序員群體 。
所以我就給大家介紹一下,新時代背景下的 "防御性" 編程理念,如何實踐 。
本文大綱如下,
圖片
代碼書寫
變量名稱使用單一字符
Java 語言里變量名只能由 Unicode 字母、數(shù)字、下劃線或美元符號組成,并且第一個字符不能是數(shù)字。
那么對于單一字符的變量名稱來說,26 個字母大寫加 26 個字母小寫加下劃線以及美元符一共有 54 種變量名稱,想一想難道這些還不夠你在單個 Java 文件里給變量命名用嗎?
兄弟這一般夠用了。
使用中文命名
兄弟,大家都是中國人,肯定看得懂中文咯。
圖片
就問你,Idea 支不支持吧,有沒有提示說你變量名不規(guī)范嘛!沒提示就是規(guī)范。
還有一點,兄弟們,還記得上面 Java 語言里變量名組成規(guī)范嗎?中文也在 Unicode 編碼里面,所以其實我們還可以用中文作為變量名稱。
我已經幫你查好了,Java 里常用的 utf-8 編碼下,支持的中文字符有 20902 個,所以上面單一字符的變量名稱還需要新增 20902 種 ,簡直完美。
圖片
使用多國語言命名
圖片
不多說,我就問你看不看得懂吧,看得懂算你厲害,看不懂算你技術不行。
你問我看不看得懂,我當然看的懂,我寫的,我請百度翻譯的 。
圖片
這些變量名稱命名法則,不僅適用與 Java,也適用于 JavaScript,廣大前端程序員也有福了。
CV 大法
不要抽象、不要封裝、不要繼承、不要組合,我只會 CV。
抽象
抽象:我可以讓調用者只需要關心方法提供了哪些功能,而不需要知道這些功能是如何實現(xiàn)的。我的好處是可以減少信息的復雜度,提高代碼的可讀性和易用性,也方便了代碼的修改和擴展,我厲害吧。
我:我只會 CV。
抽象:...
封裝
封裝:我可以把數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,使其構成一個獨立的實體,對外只暴露有限的訪問接口,保護內部的數(shù)據(jù)不被外部隨意訪問和修改。我的好處是可以增強數(shù)據(jù)的安全性和一致性,減少代碼的耦合性,也提高了類的易用性??匆姏],我比抽象好懂吧。
我:我只會 CV。
封裝:...
繼承
繼承:我可以讓一個類繼承另一個類的屬性和方法,從而實現(xiàn)代碼的復用和擴展。我可以表示類之間的 is-a 關系,體現(xiàn)了類的層次結構和分類。我的好處是可以避免代碼的重復,簡化類的定義,也增加了代碼的維護性。我可是面向對象三大特征之一。
我:我只會 CV。
繼承:...
組合
組合:我可以讓一個類包含另一個類的對象作為自己的屬性,從而實現(xiàn)代碼的復用和擴展。我可以表示類之間的 has-a 關系,體現(xiàn)了類的關聯(lián)和聚合。我的好處是可以增加類的靈活性和可變性,也降低了類之間的耦合性。不要用繼承,我可是比繼承更優(yōu)秀的。
我:我只會 CV。
組合:...
不要問為什么我只會 CV,因為我的鍵盤只有 CV。
圖片
剛出道時我們嘲諷 CV,后來逐漸理解 CV,最后我們成為 CV。
CV 的越多,代碼就越復雜,代碼越復雜,同事就越難看懂,同事越難看懂,就越難接手你的代碼,你的不可替代性就越來越強。
那么我們防御性編程的目的不久達到了嘛。
兄弟,聽我說,給你的代碼上防御,是為了你好!
產品開發(fā)
運營配置、開發(fā)配置、系統(tǒng)配置直接寫死,用魔法值,沒毛病。
產品每次提需求,代碼實現(xiàn)一定要做到最小細粒度實現(xiàn),做到需求里少一個字,我的代碼里絕不會多一個詞,注釋也是不可能有的,我寫的代碼只有我看得懂不是防御性編程的基操嗎?
我的代碼我做主。
產品原型不提,我絕對不會問。要做到這系統(tǒng)有你才能每一次發(fā)版上線都是相安無事,一旦缺少了你,鬼知道會發(fā)生什么。
我們能做的就是牢牢把握項目中核心成員的位置。這個項目組少了你,絕對不行!
最后聊兩句
2023 全年都在降本增效,節(jié)能開猿的浪潮下度過。
雖然本文是給大家將防御性編程如何實踐,但是我還是希望每一個互聯(lián)網打工人都能平穩(wěn)度過這波寒冬。
積蓄力量,多思考,多元發(fā)展。
在來年,春暖花開,金三銀四之月,都能找到自己滿意的工作,得到屬于自己的果實。
網頁題目:防御性編程?這不就來了
網頁地址:http://m.fisionsoft.com.cn/article/coscgeo.html


咨詢
建站咨詢
