CSDN《某一程式員竟然吃過屎?我們走進他的生活,揭露背后的故事》
——————————接下來讓我們走進他的故事 到底是什么原因讓他吃屎

這是這位程式員的自曝,我很好奇的不是他吃過屎,我在好奇是啥味的~

接下來我們開始咨詢這位平平無奇的程式員,究竟是因為什么導致他進行這種行為?

相信不少聰明的程式員已經知道是為什么了會吃屎了~
沒錯,就是?的代碼屎山!!!
說一個網友經歷過的一座「屎山」,入職一家成立10年的軟體公司,網友當時應聘的是中級程式員,但在入職幾個月后,就神奇的調整到了高級程式員,這并不是因為他在幾個月中技術水平跨越式提升,而是因為這三個月中發生了以下事情:
- 前任組員一號和我完成交接之后跑路了!
- 前任組長和新招來的組長交接之后跑路了!
- 前任組員二號和新招來的初級程式員交接之后跑路了!
- 新任組長和我交接之后跑路了!
- 新人組員(女)在工位掩面痛哭之后,換組了!(捂著臉掉眼淚不發出聲音的那種哭)
- 組內人手嚴重不足,我白天解決生產bug,晚上寫新需求!
以上只是「屎山」一角,「屎」是因為祖傳代碼里面有很多問題是真的臭,「山」是因為屎太多了,最諷刺的是,你可能為了治理「屎山」,也在里面拉了幾次「屎」…
有時候心血來潮改點東西……代碼從頭錯到尾……//動都不要動,我試過了
有時候當你只刪了一行代碼時,可能會發生下面這種情況



你永遠都不知道成年人的崩潰往往只在一瞬間!!!!
有的人會說我不過就是動了一點點,為什么會翻車,往往自己的一點點想法,都有可能成為壓死駱駝的最后一根稻草,
針對祖傳代碼,我總結一下我的人生感悟,就是四個大字:
以卵擊石
作為一個經歷過幾次祖傳代碼的過來人的建議,
第一條:千萬不要試圖重構,
相信大家都聽說過這么一句話,十年程式員血與淚,千萬別重構代碼!
別把重構的路想得太容易走了,因為,重構可以出乎你意料地簡單,也可以出乎你意料地復雜
對屎山為什么不重構?
比較年輕的程式員往往會有重構屎山的沖動,這種想把代碼寫好的意愿是極好的,但是重構并非只是把爛代碼刪掉后簡單的再寫一遍,如果在重構之前沒有深思熟慮,再寫一遍的代碼不見得會比“屎山”更好,要不要重構
第二條:代碼精簡祖傳代碼有很多沒用的代碼,全是前輩們在走成仙路的時候留下來的坑
你可以把它們全刪掉,有的時候能起到優化祖傳代碼的目地的,這是最簡單直接的優化手段,簡單干脆直接暴力,可能會提高后期代碼的編譯速度,
第三條:不斷打補丁有Bug就補Bug
作為一個程式員,你應該感謝屎山代碼,以及大公司必然屎山代碼的工程本質,
如果代碼工程跟造橋打灰一樣是可以用工具集約化規模化,
用儀器保證精確性,從而保質保量的……縫縫補補又一年,如果不想再努力內卷,這么做那么可以長長久久的在公司過下去,
第四條:修改部分SQL陳述句和優化SQL如果是SQL查詢慢
其實這個很好辦,開啟慢查詢,找到查詢慢的地方,做減法,如果是多聯表的查詢,進行資料冗余,減少查詢量,檢查索引(既然是祖傳屎山了,我就不相信資料庫索引就一定會建得很完美),重寫SQL陳述句,這種改法非常實用,從源頭解決慢的問題,比如你一個頁面祖傳代碼有100句SQL查詢,你優化了一下,變成50句,速度能不上去?可比改代碼方便多了,或是你加一個索引,原來一句SQL要查20秒的,現在就變成5秒了,真的是不要投入的買賣,
第五條:第五條是從內部改良,或者是從外部改良,

如果可以避免成為代碼屎山呢?
狗屎山都是一點點堆積的,沒有code review的公司格外容易,不說這種杜絕方案,新人無論如何不要留下這樣的代碼,自己寫自己注釋了留下還提交到協作平臺,沒那么金貴,提上去等隊友圍觀嗎

所以避無可避,總會碰到需要重構代碼的時候,只是盡量寫得好懂些,寫好測驗,這樣重構代碼的時候不會特別痛苦,千萬要寫注釋之類的,一個好的習慣會拯救許許多多的可憐人,比如我,已經在跑路的邊緣了,
就算你寫代碼的時候覺得自己是神一樣不可能出問題,過了幾個月一看還是會覺得屎一樣,
以前我一直想寫一個邏輯分明,沒有多余代碼的專案,
第一天:產品經理把專案給我了,然后說一個月之后要上線,一般,呵呵,小意思
第二天:產品說要小小的改動一下,嗯嗯,沒問題,小意思
第三天:產品說,要加一個功能,嗯吶,妹兒難題,小意思
第四天:產品說,這個功能需要這么改一下,嗯?
有點難度啊,但是還是可以改的,產品沒說要延期上線,
第五天:這里,還有這里,還有這里這里都需要改一下,我一看代碼,頭疼了,但是還是上手去改了,…
第二十天:產品告訴我,甲方覺得剛開始沒有規劃好,需要改很多地方我:可以的,上線能不能延后一下?產品:這個是不可能的雖然很不愿意,但我還是按照產品的意思去辦事兒了,畢竟甲方爸爸踢的要求嘛
第三十天:產品過來做我旁邊,一句不說,我心想完了,又得改了,或者新的需求了,
過了五分鐘產品開口了:哥,需求有些變動,咱們開個小會?我:可以,約會議室了嗎?
產品:現在已經準備好電腦,投屏,檔案了,現在就走?然后過了半天終于對完了各種需求,這時候想要再不寫屎一樣的代碼是不可能了,上線時間是哪個時間,專案可不是剛開始的專案了,屎一樣的代碼就是這么出來的,我喜歡寫代碼,
今天就水到這里,本人還有半個小時要下班了,不能摸魚了,要好好上班
喜歡本人文章的可以給個三連哦~~~

接下來就來講一講本人在原力計劃群里面采訪的那位程式員,emmm
還是加一下馬賽克吧~

bit哥的博客主頁:https://blog.csdn.net/A757291228(喜歡可以去關注一下哦)

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/332136.html
標籤:其他
上一篇:身家過億的帝都富豪來參加1024節專屬盛典,小碼農獻上單鏈表一篇來慶祝盛典
下一篇:C++高并發服務器設計(三)
