大家好。
有句話這樣說來著,幸福的家庭都是相似的,不幸的家庭各有各的不幸, 這句話放到咋們互聯(lián)網(wǎng)程序員上也是一樣的。
大神級(jí)程序員都是相似的,而菜雞程序員卻菜的各有千秋,分分鐘能搞垮一個(gè)項(xiàng)目。
程序員不知不覺中如何搞垮一個(gè)項(xiàng)目?結(jié)合小賀最近一段時(shí)間的真實(shí)血淚經(jīng)歷,幾個(gè)小妙招教給你。
系統(tǒng)設(shè)計(jì)
第一,就是系統(tǒng)的關(guān)鍵服務(wù)盡量要做單節(jié)點(diǎn)部署,因?yàn)橹挥嘘P(guān)鍵服務(wù)設(shè)計(jì)成了單點(diǎn),發(fā)生故障的時(shí)候才會(huì)影響全局,恢復(fù)起來就沒那么容易。
第二,就是每個(gè)服務(wù)之間盡可能的細(xì)分,要盡量互相依賴,只有互相依賴的系統(tǒng)。內(nèi)部才會(huì)更復(fù)雜,出現(xiàn)問題排查難度才會(huì)成幾何級(jí)數(shù)增加。
第三,就是不建立服務(wù)預(yù)警,不能讓問題過早的暴露出來。
第四,不要上云服務(wù),服務(wù)架構(gòu)一定要簡(jiǎn)單清晰,最好不同模塊用不同語言寫,部署在不同的服務(wù)器上,服務(wù)器一定要選便宜的為公司節(jié)約成本。
第五,接口調(diào)用過期時(shí)間調(diào)大一些,再加上一個(gè) 100 次的失敗重試的循環(huán),不用緩存,盡量讓巨量的訪問請(qǐng)求在一毫秒內(nèi)全部打到數(shù)據(jù)庫上去,這樣才能最大可能測(cè)出數(shù)據(jù)庫的性能。
備份權(quán)限
第六,就是數(shù)據(jù)不做備份處理,浪費(fèi)磁盤空間,服務(wù)器如果怕忘了密碼,最好設(shè)置成 123456,這樣大家都能記得住。
第七,相信團(tuán)隊(duì)里的每個(gè)人,給予他們修改線上數(shù)據(jù)庫表的權(quán)限,允許開發(fā)直接登錄生產(chǎn)的機(jī)器,最好賦予 root 權(quán)限,這樣緊急操作線上數(shù)據(jù)簡(jiǎn)單方便快捷。
第八,不要使用版本管理,業(yè)務(wù)變更只新增代碼,不要?jiǎng)h除或修改舊的程序,要多做冗余,因?yàn)橐院罂赡苓€要用。
代碼規(guī)范
第九,把代碼的變量都優(yōu)化成非常簡(jiǎn)單粗暴的形式,比如 aa,bb,cc,還有不要寫注釋,盡量保持在 0%,沒有任何注釋和文檔說明,別人來接手你的代碼根本看不懂,你的價(jià)值也瞬間體現(xiàn)。
第十,新出的技術(shù)要趕緊用起來,別管懂不懂,兼容與否,就是要新。
第十一,寫代碼盡量 if 里面套多幾個(gè) if,不需要抽象寫法,全部代碼寫到一個(gè)函數(shù)里面,for 循環(huán)盡量套多幾個(gè) for,這樣代碼看起來邏輯很順暢。
第十二,多用點(diǎn)反射,異常直接拋出去不要捕獲保證異常信息,讓前端知道,開啟多例依賴注入,能多個(gè)線程做的事情盡量開多幾個(gè)一起做,事半功倍。
測(cè)試
第十三,就是不要做壓力測(cè)試,性能測(cè)試,要對(duì)團(tuán)隊(duì)的代碼質(zhì)量有信心,不相信團(tuán)隊(duì)的事情,是萬萬不能做的。
第十四,不寫單測(cè),代碼編譯過了還要而測(cè)試,多浪費(fèi)時(shí)間,如果要寫測(cè)試,也不要 mock,要在真實(shí)環(huán)境做測(cè)試,這樣才能反應(yīng)真實(shí)的問題。
安全
第十五個(gè),允許團(tuán)隊(duì)成員將自己的 ssh 公鑰傳到服務(wù)器里,不然員工怎么方便開展工作呢。
第十六個(gè),web 服務(wù)端, nginx 調(diào)度器和 Hadoop 集群以及 SQL 服務(wù)全部部署在一臺(tái)機(jī)子上,多花錢的事咱們絕對(duì)不干。
第十七個(gè),什么動(dòng)靜分離,什么反向代理,iptables 都不要開,交換機(jī)永遠(yuǎn)不要做 valn 隔離,不然各部門同事怎么交流怎么開展工作呢。
第十八個(gè),在后臺(tái)管理頁面,一定要留一個(gè),一鍵刪庫的按鈕,防止黑客盜取用戶信息。當(dāng)發(fā)生這種情況的時(shí)候,我們?cè)谌魏吻闆r地點(diǎn)登錄后臺(tái),在黑客盜取數(shù)據(jù)前先東西都?xì)Я恕?/p>
第十九個(gè),所有的查詢語句直接優(yōu)化為 select *,不用 explain 查看 SQL 執(zhí)行背后是否使用索引,減少開發(fā)時(shí)間。
最后一個(gè)大招,所有代碼都不用測(cè)試直接上,要相信團(tuán)隊(duì)的開發(fā)能力。
好了,完成了以上步驟,恭喜你,達(dá)成成就:把老板給炒了。
PS:以上 20 條,每一條背后都有可能對(duì)項(xiàng)目/團(tuán)隊(duì)帶來致命的傷害,作為程序員的我們一定要時(shí)刻告誡自己,小心別把老板給炒了
大家還知道哪些高級(jí)技巧?歡迎在評(píng)論區(qū)留言。
我們下期再見。
審核編輯 :李倩
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
9777瀏覽量
87806 -
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30374 -
變量
+關(guān)注
關(guān)注
0文章
614瀏覽量
28929
原文標(biāo)題:程序員如何分分鐘搞垮一個(gè)項(xiàng)目?
文章出處:【微信號(hào):C語言與CPP編程,微信公眾號(hào):C語言與CPP編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
2025年第二季恩智浦“芯”品大盤點(diǎn)
程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)
零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?

阿里云升級(jí)通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補(bǔ)充

UCD3138A64/UCD3138128程序員手冊(cè)

機(jī)械革命發(fā)布CODE AI程序員本
Linux驅(qū)動(dòng)程序程序員指南

AI編程工具會(huì)不會(huì)搶程序員飯碗
第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開幕
90后程序員的職業(yè)成長(zhǎng)漫談

一個(gè)socket對(duì)應(yīng)一個(gè)連接嗎
京東上萬程序員都AI用它!

評(píng)論