1. 程式人生 > >一天只寫50行程式碼卻進了BAT,月入五萬,憑什麼?

一天只寫50行程式碼卻進了BAT,月入五萬,憑什麼?

很多童鞋,在前端學習中,總會有投機取巧的想法,總幻想著能一口吃個胖子。

在接觸過程式設計一段時間之後,新鮮感一過,總覺得有些枯燥,加上並不容易的學習內容,總會問,程式設計有沒有捷徑可走?有沒有屬於程式設計的四字真言?

在這裡插入圖片描述

別說,還真有,我們的資深老師把上萬個日夜的心血歸納成一句真言,其實程式設計的核心和王道就是:慢就是快。

都說天下武功,唯快不破。但是在程式設計的道路中,天下程式碼,而是:唯「慢」不破。
在這裡插入圖片描述
有的童鞋非常心急,拿到任務後,在原型需求和整個產品的業務邏輯都沒有搞明白之前,就開始動手了。

邊做邊開始捋需求,像老太太織毛衣一樣,只顧著往下走,不看後面的毛線團亂成什麼樣了,這樣的習慣對於前端程式設計師來講,還好說一點,但是對於後端的程式設計師來說,真的是大忌了。

因為架構的設計,資料庫的設計都是要依據這個產品的業務邏輯來實現的,《中庸》裡提到“凡事預則立,不預則廢”。

在這裡插入圖片描述

只有堅持多角度瞭解環境,深層次挖掘邏輯,全方位盤點資源,才能流暢、清晰的寫出好程式碼,不急於求成,不人云亦云,更不能攀比跟風,喪失主見,前期一定要花大量的時間來搞明白產品的需求和業務邏輯,不要著急動手去做程式碼的實現。

在正式敲程式碼實現之前,搞明白產品需求和業務邏輯到確定資料庫的設計和架構的設計,至少得佔這個專案所有時間的1/3左右才合適,甚至難度更大的系統,佔到更多時間也有可能。只要關鍵思路捋清了,剩下敲程式碼填充的工作,就容易多了。

其實,程式設計師最動腦的工作就是前期的準備工作,是對於產品的思考,後期的“啪啪啪”確實就跟體力活也差不多,要不然叫“碼農”呢!
在這裡插入圖片描述


既然前期我們準備工作都做好了,剩下的就是敲程式碼了。雖然在編碼的過程中基本是行雲流水般的操作,但是也要注意一些細節。

很多程式設計師為了追求速度沒有耐心,在一些該注意細節的地方沒有注意到,這個問題非常普遍。
在這裡插入圖片描述

現在的年輕人最大的問題是:所有人都想一蹴而就,沒有人靜下心來好好做事了,都認為“站在風口上豬都能上天”,沒有人紮紮實實提升自己的能力了;都認為機會來了,所有人都想一夜暴富,成為技術大佬,卻沒有人想到成長也是需要時間的。

後臺程式設計師邏輯判斷考慮不周全,有的甚至不寫,直到測試測試出來,才會寫;前端程式設計師不注意細節的體驗問題,出現錯誤不彈窗處理,不告知使用者,有些該提示的地方卻不提示。

這些細節問題對於專業的程式設計師來說不是不知道,歸根結底就是懶和沒耐心。
在這裡插入圖片描述

但你要知道懶這一時會帶來更多更棘手的麻煩,而勤奮和耐心可以幫助你成為一個更出色的問題終結者,它還可以提高你對計算機的認識。計算機的概念是很複雜的,它要求要靈活,耐心和努力工作去理解它。

快在編碼不假,但是要慢在細節。後端程式設計師一定要把邏輯判斷想周全,前端程式設計師一定要注意使用者體驗。這都是前人泣血的經驗之談。
在這裡插入圖片描述
有很多程式設計師都有這樣的藉口:哎呀,專案著急,週期緊,我先把功能做出來,至於其他的,後期再慢慢調整完善。

後端程式設計師總是會想,這個介面先寫完給前端呼叫,一些基礎判斷不先加,等全部完成之後再統一完善。前端程式設計師會覺得,這個彈窗是小問題,先不寫,等全部做完,再加。

這是程式設計的大忌,永遠不要抱有先實現後完善的幻想。
在這裡插入圖片描述

敲程式碼最重要的就是「一步到位」。如果全公司的人都想著,等我xxx之後再做,那業務還能有進展嗎,有這樣的員工,公司何愁不倒閉?

當幾個專案一起臨近交付期,一堆工作壓在身上,臨時抽身到過去專案做完善工作簡直是天方夜譚,如果能碰巧矇混過關,有多少程式設計師能回來完善和重構的?

太過注重結果的時候,行走的步調會紊亂,匆忙趕路的過程中,雙腳觸及地面的力度就會減輕,走得每一步都不踏實。
在這裡插入圖片描述
做出來容易做正確難,做出來指程式碼沒能正常跑起來,而做正確是指程式沒有bug隱患,清晰透徹能讓人輕易的理解意圖,不給自己挖坑,不給後人添堵。

再者,一個程式設計師最討厭的一件事是什麼?
修改程式碼,不管是修改你自己的,還是修改別人的。回來修改程式碼的時間是極大的浪費,以為你要在你寫的忙忙程式碼中找到你當時寫的不好的地方,完善它,你找程式碼的過程是非常浪費時間的。
在這裡插入圖片描述
退一萬步講,即使你辭職了,留一屁股bug給後人,這也是缺乏職業道德的事,爛攤子讓別人來收拾,實是君子所不齒。
畢竟真正閱讀程式的是人,而不是計算機,所以所寫程式碼具有良好的可讀性,是優秀程式設計師必備的素質之一。
在大型的系統開發中,往往需要很多人的通力配合,例如,開源軟體Linux之所以能夠為全球頂尖程式設計師共享、協作開發,也得益於規範化和標準化的編碼規範。
在這裡插入圖片描述
所以,編碼時,最好設想自己就是將來要來維護這些程式碼的人。
所以,請記住:對自己放鬆就是對他人苛刻,對程式碼敷衍了事、隨意編碼的惡果就是方便了你,卻害苦了團隊的其他人,最終承擔苦果的還是你自己。
在這裡插入圖片描述
規範應該儘量一致;即使有例外,也只能是少數情況,而不能是很多例外。
好的程式碼規範能夠提高程式碼的可讀性便於協作溝通,好的模式能夠上層設計上避免不必要的bug出現。
在這裡插入圖片描述
看看在大公司工作過的人的程式碼速度:大公司待過,程式碼質量很高,要求非常嚴格,要經過各種檢測和評審,有大量的指標資料需要達標!
對程式碼監視也是非常嚴格的,編碼規範時常再講,測試要求非常嚴格,平均下來一天程式碼量也就50行上下,可以想象質量如何。
在前端、程式設計過程中,程式設計師大部分的時間都是在寫程式碼,或者改程式碼,工作一段時間後,對程式碼的感覺也是有所不同,在摸索了一段時間之後你會發現,步步為營、穩紮穩打,相比一蹴而就的程式設計,慢下來節省的時間、耗費的人工和精力,提升的效率都是肉眼可見的,龜兔賽跑的哲理在今天依然實用。
在這裡插入圖片描述
說完這些之後,我們再來算一下時間成本,為什麼慢就是快呢?

在這裡插入圖片描述
因為如果你前期花足了時間準備和設計,在程式設計的時候,又儘量完善的注意到了細節,你專案最終完成的時候,bug就會少很多,就可以及時交付。

如果你認為先實現,後完善,你專案交付測試的時候bug層出不窮,你修改bug的時間絕對會大量的浪費時間,最後很容易導致專案不能按時完成和交付。

欲速則不達,見小利則大事不成,說話做事,該慢下來的事情,就必須慢下來,紮紮實實地做好。“Less is more,Slow is fast”普通人之間,最根本的差別,可能就是推遲滿足感的能力和耐心。

在這裡插入圖片描述