sponsored links

這 10 個程式設計師的好習慣,讓我變強了

本文經四猿外(id:si-yuanwai)授權轉載

如若轉載請聯絡原公眾號

我總結了 10 個程式設計師的好習慣,今天分享給大家。

1. 引入新的技術棧的時候,要以官方文件為主

在專案裡,無論使用新的 jar 包,還是用新的中介軟體,一定要去看官方文件。

現在網上的技術文章魚龍混雜,再加上國內那個不咋地的搜尋引擎,所以在網上搜靠譜的技術文章,就相當於在屎坑裡撈金子。

比如,如果你想要對 SpringBoot2 寫的程式碼進行單元測試,JUnit 版本你可能已經是 5 了。但你搜到的網上文章很可能會告訴你測試用例需要註解:

@RunWith(SpringRunner.class)

但是官方文件說了,其實如果你用 JUnit5,就不用加這個註解了,加了反而可能引起不必要的衝突。

所以,官方文件對新技術的引入是唯一的參考金標準。

2. 一定要悄悄地把程式碼測的沒問題了再交付

在職場上,什麼樣的人才能快速成長、快速得到重用?答案是可靠的人。

那就程式設計師來說,什麼樣的人才算是可靠的人?答案是交付可靠的技術產品。

那可靠的產品第一評估標準就是 bug 少。這個 bug 少是別人評估的,而不是自己評估的。

無論咱們自己程式碼實現成什麼樣子,哪怕是程式碼寫的還不完美,但是,只要咱們透過自測,在提交之前儘可能把問題解決掉,讓別人少發現你的錯誤,尤其是低階 bug,那麼你才是一位可靠的程式設計師。

所以,交付任務前,一定要自己把程式碼全方位地測試一遍,保證自己有著優秀的口碑才好。

3. 打日誌的時候儘可能把輸入、輸出以及耗時都打印出來

我們打日誌的目的是什麼?是為了定位問題的。

問題有哪些?其實大體就兩種,邏輯問題和效能問題。

邏輯問題,我們如果列印了輸入和輸出,那麼根據業務規則,這麼一對照就能很容易定位到問題。

效能問題,我們無論是透過像 grep、sort 等 shell 命令去直接對日誌做個過濾加排序,還是透過日誌蒐集加日誌搜尋等工具,都能很容易的發現到問題。甚至還可以和監控系統聯合起來,直接做預警。

所以,打日誌的時候,我們要記得把輸入和輸出以及時間都打印出來。

4. 學好 Git

Git 這東西太重要了。現在的團隊開發,用 Git 管理各種程式碼版本,程式碼分支。如果你用不好 Git,很容易就會因為合併程式碼、升級版本等情況,產生出許多沒必要的 bug。

一個用不好 Git 的團隊,可能每次上線,都會帶來那麼幾個莫名其妙的問題。

給大家分享一本非常不錯的 Git 開源手冊。

這 10 個程式設計師的好習慣,讓我變強了


這本手冊在豆瓣上評價極高,之前 9.3,現在也有 9.1 的高分,其作者是 GitHub 的員工,內容主要側重於各種場合中的慣用法和底層原理的講述,手冊中還針對不同的使用場景,設計了幾個合適的版本管理策略。

簡而言之,這本手冊無論是對於初學者還是想進一步瞭解 Git 工作原理的開發者都非常合適。

5. 優先實現功能,效能問題或許沒那麼著急

我在帶團隊的時候,經常發現有些剛入行的同事,會邊寫程式碼邊糾結自己寫的程式碼效能是否有問題。其實真的不必這樣。像我們這些老程式設計師,都知道過早最佳化有時候可能白花費功夫。

像咱們如果寫一個批處理的定時任務,這個任務要求只要在凌晨執行,在大家上班前任務完成就行。那麼,這個任務從凌晨兩點執行到六點和執行到四點,有什麼區別嗎?

最佳化程式碼一定要適度,要在寫完功能之後,看功能會怎麼被使用,根據實際的要求,去最佳化真正需要最佳化的地方。

6. 先實現最確定的需求,不確定或者模糊的需求先往後放

實現需求的先後順序,注意一定要以需求的可靠程度為準。

在分配給我們的需求裡一般分兩類:

  • 有的需求是我們和產品經理都非常明確的需求;
  • 也有的需求比較模糊:開會討論時大家都覺得沒什麼問題,但是一到程式碼實現的時候,就發現還存在很多問題。

這時候,咱們應對的技巧是,先對這些需求搭一個統一的架子,把已經非常明確的需求先開發出來。

由於架子搭建出來了,這時候再和產品經理討論那些模糊的需求,很容易就能讓產品明白困難的地方,這樣就可以把溝通難度降到最低。

7. 主動找專案裡的問題並給出解決方案

問題是什麼?問題就是在實踐過程中需要解決的東西。

把這些問題一個個找出來,解決掉,這些解決問題中產生出來的方案,全會形成推動專案前進的推動力。那麼產生這些推動力的你自己,一定會從中獲益良多。

8. 評估開發週期,要留出冗餘時間

留出冗餘時間的目的很明確,在咱們開發的時候,遇到的意外情況太多了:

  • 需求又雙叒叕變了
  • 團隊人員有變化
  • 當初估算的時間樂觀了
  • 這個功能需要動老程式碼
  • 需要跨團隊合作開發
  • 領導說“加個小功能”,領導認為這個小功能不影響開發週期(此處省略二百字)
  • ……

所以,冗餘時間是要留出來的。

留出的冗餘時間不等於摸魚時間,開發還是按照正常的節奏幹,早做完早交付。

9. 不要光看書去學習技術,要把感興趣的技術透過程式碼實現出來

咱們程式設計師最重要的就是實踐,能把學到的知識轉化為實踐用到工作上。

光看書學習技術,很可能只會讓咱們產生出已經學會的錯覺。只有透過程式碼把感興趣的技術實踐練習了一遍,咱們才真正能明白這技術實際用起來是什麼樣子,需要注意什麼。

動手實踐的重要性就不多說了,我之前也寫過一些文章介紹過如何動手實踐,比如這篇透過模擬環境來學習高併發:我招了個“水貨”程式設計師

10. 英語還是挺重要的

你不得不承認,IT 這行,基本所有的創新都誕生於英語的世界。

比如 k8s,就我所知就是國內英語好的技術人員從英語社群逐漸在國內推廣開來,而這些推廣了 k8s 的先驅也自然掌握了 k8s 的話語權。大家可以看看 k8s 在市場上的流行程度,也可以看看一位 k8s 專家的工資大概是多少。

而且,我前面說過,大家引入新技術一定要看官方文件,官方文件百分之八十都是英語的,所以英語確實重要。

如果英語不好,是不是就沒機會了?沒這麼絕對。

就說我吧,不瞞大家,我英語四級沒過,但還是照樣能看英語資料,照樣和別人一起翻譯了國內的第一本 Hibernate 技術書。

當初我用 Hibernate 在國內算是比較早的一批程式設計師了,也經常去論壇回答問題,所以後來就有人找我一起翻譯書。我最開始是抗拒的,覺得自己英語太爛了,翻譯不好。後來我又想,既然我能看著英語文件學 Hibernate,要不就試試。於是就這麼著幹了一把。

作為一個過來人,我想說的是,技術文件沒有特別複雜的語法、生僻單詞,而且現在還有翻譯軟體、外掛可以幫我們閱讀。即使英語基礎一般,也沒什麼大不了的。

分類: 科技
時間: 2022-02-03

相關文章

蘋果更新iOS 15、iPadOS 15等新系統
蘋果釋出iOS 15.iPadOS 15和watchOS 8等新版系統.其中新功能包括相簿回憶功能.專注模式.新3D檢視.實況文字等.(新浪數碼)

蘋果釋出iOS 15正式版推送名單 iPhone 6s赫然在列

蘋果釋出iOS 15正式版推送名單 iPhone 6s赫然在列
9月15日蘋果更新了iPhone.iPad和iWatch的產品線,同時釋出了iOS 15的正式版. 蘋果將之前iOS 15測試版的諸多特色都加了進去,包括新增擬物表情.專注模式.全新的天氣APP等20 ...

蘋果更新iOS 15等系統:通知摘要、實況文字等功能上線
三言財經9月21日訊息,今日凌晨,蘋果公司正式向全球使用者推送了iOS 15.iPadOS 15和watchOS 8等新版系統.其中新功能包括相簿回憶功能.專注模式.新3D檢視.實況文字等.

蘋果釋出 iOS 15.1/iPadOS 15.1 公測版 Beta 1

蘋果釋出 iOS 15.1/iPadOS 15.1 公測版 Beta 1
在昨日釋出開發者預覽版更新後,今日凌晨,蘋果釋出了 iOS 15.1 與 iPadOS 15.1 的第一個公開測試版本. SharePlay 在 iOS 15.1 中迴歸,蘋果再次測試了在 iOS 1 ...

蘋果釋出iOS 15.0.1版本 解決Apple Watch解鎖問題和其他錯誤修正

蘋果釋出iOS 15.0.1版本 解決Apple Watch解鎖問題和其他錯誤修正
蘋果公司釋出了iOS 15.0.1,這是iOS 15軟體的一個小更新,這是在該公司釋出基本軟體的最終版本大約一週之後,重點是錯誤修復和效能改進.iOS 15.0.1更新的Build號為19A348,可 ...

蘋果釋出 iOS 15.1 Beta 3:你會升級嗎?

蘋果釋出 iOS 15.1 Beta 3:你會升級嗎?
蘋果今日向 iPhone 和 iPad 使用者推送了 iOS/iPadOS 15.1 開發者預覽版 Beta 3 更新,版本號為 19B5060d,本次更新距離上次釋出隔了 1 周時間. 本次更新為 ...

蘋果釋出iOS 15.0.2系統 修復資訊與照片應用等一系列問題

蘋果釋出iOS 15.0.2系統 修復資訊與照片應用等一系列問題
蘋果今天釋出了iOS 15.0.2,這是9月份釋出的iOS 15作業系統的第二個更新.iOS 15.0.2是在iOS 15.0.1(一個錯誤修復更新)釋出一週半後釋出的.iOS 15.0.2更新可以免 ...

蘋果 iOS 15 正式版上線!這 20+個實用功能告訴你值不值得升

蘋果 iOS 15 正式版上線!這 20+個實用功能告訴你值不值得升
「創造更多非凡的方式以發揮 iPhone 效能」,這是蘋果對 iOS 15 的期許.從 WWDC21 釋出首個開發者預覽版起,整個夏季我們就在不斷收到更新提醒.千呼萬喚始出來,經歷 3 個月的等待後終 ...

蘋果 iOS 15 正式版上線!「實況文字」超實用,20+ 個新功能值得體驗

蘋果 iOS 15 正式版上線!「實況文字」超實用,20+ 個新功能值得體驗
「創造更多非凡的方式以發揮 iPhone 效能」,這是蘋果對 iOS 15 的期許. 從 WWDC21 釋出首個開發者預覽版起,整個夏季我們就在不斷收到更新提醒.千呼萬喚始出來,經歷 3 個月的等待後 ...

蘋果iOS 15這10大隱藏功能,真香快升級吧

蘋果iOS 15這10大隱藏功能,真香快升級吧
今天拿到貨的朋友是不是已經玩得捨不得放下了?其實,你買的不只是全新的產品,還有讓蘋果裝置"活"起來的軟體. 堪稱蘋果裝置"靈魂"的,正是與新機一起來到的iOS ...

蘋果正式推送iOS 15系統:通知摘要、實況文字等功能上線

蘋果正式推送iOS 15系統:通知摘要、實況文字等功能上線
財聯社(上海,編輯 史正丞)訊,北京時間週二凌晨1點,蘋果公司正式向全球使用者推送了iOS 15正式版系統.雖然外觀和動畫效果的調整並非重點,但年度大更新附帶的多項新功能依然為蘋果軟體生態帶來許多新的 ...

訊息稱21日凌晨蘋果將推送蘋果iOS 15正式版,準備升級嗎?

訊息稱21日凌晨蘋果將推送蘋果iOS 15正式版,準備升級嗎?
按照蘋果的計劃,蘋果將於9月20日開啟iOS 15正式版的推送,同步更新的還有iPadOS 15.WatchOS 8.TVOS 15等. 而按照國內時間點應該是就是明天凌晨1點左右,只要是支援iOS ...

新 iOS 15.0 正式版已出,多個新功能再次出現

新 iOS 15.0 正式版已出,多個新功能再次出現
在9月21日凌晨1點整,蘋果釋出 iOS 15.0 正式版.之前也提到21號必定會發布正式版.所以不會有假,它真的來了. 如果你已經升級到 iOS 15.0 RC 候選版的,你依舊可以在手機端升級正式 ...

iOS 15 正式版新功能總整理 25項必學重點功能一次看
蘋果今日正式推出 iOS 15 和 iPadOS 15 正式版更新,主要是針對 iPhone.iPad 與 iPod touch 所推出,iOS 15 支援 iPhone 6s 系列及新款機型,最新 ...

歐界丨iOS 15正式版來了,快來看看都有哪些新玩法

歐界丨iOS 15正式版來了,快來看看都有哪些新玩法
歐界報道: 9月21日凌晨1點,蘋果釋出iOS 15正式版,24款新裝置可升級,新功能強大. 在新更新的iOS 15正式版中,最值得一提的就是它得FaceTime通話功能,增添了全新的互動模式,使用者 ...

iOS 15.0.2釋出,修復一系列bug,網友:iOS 15 使用者可直接升級

iOS 15.0.2釋出,修復一系列bug,網友:iOS 15 使用者可直接升級
上月蘋果釋出了iOS 15正式版,諸多全新的功能讓許多果粉"為之動容",但新版本也隨之帶來了很多BUG.一週前,蘋果推送了iOS15.0.1版本的更新,針對iPhone的解鎖錯誤進 ...

果粉狂喜!iOS 15正式版釋出 FaceTime通話功能來了

果粉狂喜!iOS 15正式版釋出 FaceTime通話功能來了
[手機中國新聞]9月15日凌晨,蘋果召開秋季新品釋出會,推出了iPhone 13系列等新品.除了新品外,iOS 15也備受關注,釋出會過後,蘋果給開發者們推送了iOS15 RC版本更新,開發者可以體驗 ...

早報:iOS 15正式版釋出 廣汽豐田賽那正式開啟預定

早報:iOS 15正式版釋出 廣汽豐田賽那正式開啟預定
[手機中國早報]在9月15日蘋果秋季新品釋出會召開後,蘋果推送了備受眾人期待的iOS15 RC版本,並宣佈將於9月21日推送正式版.昨日,iOS 15正式版全面推送,新功能也如期而至.2021款廣汽豐 ...

還在糾結升不升級iOS 15?看完這三個功能,你會想馬上升級

還在糾結升不升級iOS 15?看完這三個功能,你會想馬上升級
iOS 15正式版出來了,但是鑑於之前測試版的一些bug,很多朋友都在猶豫和糾結要不要升級. 但是看完這三個功能,小編相信你會馬上想升級! 一.實況文字功能 實況文字是iOS 15的一個大殺器,實況文 ...

iOS 15 問題不斷,零日漏洞尚未修補,AirPods和Apple Music也報錯

iOS 15 問題不斷,零日漏洞尚未修補,AirPods和Apple Music也報錯
蘋果釋出 iOS 15 之後,問題接連不斷,一位安全研究人員聲稱,蘋果公司對他們報告的零日漏洞進行了冷落,該公司尚未修復iOS 15中現在存在的其他三個零日漏洞. 研究人員表示,他們在 3 月 10 ...