我見過的最牛叉ReactJS程式設計師 - Faisal
是什麼造就了真正偉大的工程師?在過去的 5 年裡,我有幸與各種各樣的人一起工作——從年輕的畢業生到退伍軍人。但俗話說,很少有人會觸發你的靈感。
今天,我將分享我一生中見過的最偉大的工程師之一的故事。奇怪的是,我在離開公司後才意識到他有多棒。
他不是編碼最快的
曾經我們的目標是每月釋出一次。在 sprint 週期的最後,出現了在前端建立一個基於角色的授權機制的新需求。
由於後端的程式碼已經存在,管理層希望將其推送到下一個版本。
然而,他拒絕這樣做,管理層一點也不高興。
那時我還是個大三學生,心想他為什麼要那樣做?從描述中,我瞭解到可以在2天內完成。但他仍然直接拒絕這樣做。
這不僅僅是關於速度:
這種倉促的工作已成為初創企業文化的常態,但在我的職業生涯後期,我意識到為什麼他是對的。也許在 99% 的情況下,這種做法不會造成傷害,但剩下的 1% 可能會損害公司,有時甚至會損害一個人的整個職業生涯!
他的程式碼讀起來像一首詩
在他離開公司後(由於與管理層發生衝突),我有幸在他的專案上工作很久很久。
很遺憾我無法理解我自己的程式碼(如果我在 3-4 個月後檢視它),但他的程式碼非常漂亮,像我這樣的初級開發人員完全可以理解那裡發生的事情。
這是一個例子。
export const SomeComponent = () => { const userInfo = getUserInfo(); const profileDetails = getProfileDetailsOfUser(userInfo.id); const aboutData = extractAboutData(profileDetails); const personalData = extractPersonalData(profileDetails) return ( <UserDetails> <About data={aboutData} /> <PersonalInfo data={personalData} /> </UserDetails> ) } |
一旦您開始處理一個包含數百個元件的專案,這段程式碼可以讓您內心平靜。
他關心最佳實踐
正是從他那裡,我明白了遵循最佳實踐的重要性。作為初級開發人員,這些很難理解,但隨著時間的推移,我明白遵循最佳實踐如何自動幫助編寫更清晰的程式碼。
他有一個Eslint設定。我仍然記得裡面大概有大約 30-35 條規則。那時裡面有很多我甚至搞不明白。
他有自己的做事方式
他的程式碼讓我感到困惑的一件事是他的冗長。他會以特定但一致的方式命名函式。
讓我舉一個非常簡單的例子。我們需要經常對物件陣列進行排序,對嗎?一個快速的谷歌搜尋會給出這樣的結果,我們只需更改屬性名稱。
sortedArray = objs.sort((a,b) => (a.last_nom > b.last_nom) ? 1 : ((b.last_nom > a.last_nom) ? -1 : 0)) |
但這對他來說不一樣。他會做這樣的事情。
function compare( a, b ) { if ( a.last_nom < b.last_nom ){ return -1; } if ( a.last_nom > b.last_nom ){ return 1; } return 0; } objs.sort( compare ); |
兩者都做同樣的事情,但對於他的方式,我不必撓頭看程式碼 2 分鐘就可以瞭解那裡發生了什麼。
在我職業生涯的後期,我瞭解到有意義的名稱比從程式碼庫中減少 2 行更重要。
從長遠來看,一切都與可維護性和減少技術債務有關。他是這方面的大師。
他反對改變
在react hook正式釋出後,所有社群都爭先恐後地將他們的程式碼庫重構為功能元件。但他沒有讓我們這樣做。
是的,顯然當時這可能不是一個好主意,因為現在幾乎每個新程式碼庫都是用函式元件編寫的,但儘管如此,他還是希望我們等待。
每一項新技術/庫包都像一個閃亮的玩具。每個人都喜歡玩這個。時不時會出現一些新的庫,我們會考慮如何在專案中使用它。
但他幾乎每次都拒絕新增這些。我不得不承認,我有時感到有點惱火。有時我甚至想:也許他拒絕那些是因為他自己不知道如何使用這些庫。
但隨著時間的推移,很明顯他非常瞭解新的變化,但在使用這些變化時非常小心。他明白新增任何東西都有其自身的成本,尤其是在 JavaScript 世界中。
他離開了
6-7個月後,他因為與管理層的一些衝突而換了工作。
所以他維護的專案來找我。我開始閱讀他的程式碼,後來意識到他是多麼的棒。從表面上看,我們在做同樣的工作。提供被要求的功能。
但在程式碼中,他的所作所為讓我大吃一驚。從資料夾結構到變數命名,他對每一行程式碼的用心讓我愛上了程式設計。我意識到:
一段好的程式碼是美的東西!
我仍然帶著這個哲學。
結論
我們一起工作時意見分歧。也許他不是一直都是對的,也許他的表情有些問題,使他成為一個令人討厭的人。
儘管如此,他還是我見過的最偉大的 React 開發人員(可能是最偉大的開發人員)。
你認識這樣的人嗎?
相關文章
- 程式設計師被女朋友拉黑之後...這是我見過最“科學”的方法程式設計師
- 其實,我們們程式設計師過了30歲,還可以更牛逼!程式設計師
- 你見過背誦程式碼的程式設計師嗎?程式設計師
- 我的程式設計師之路程式設計師
- 號稱史上最牛X的程式設計師簡歷,萬千辛酸匯聚於此程式設計師
- 小白程式設計師最容易踩的“坑”,你踩過幾個?程式設計師
- 年終感想——財務自由的程式設計師,你見過嗎?程式設計師
- 程式設計師那些牛B閃閃的禁術程式設計師
- 全球最厲害的 14 位程式設計師,請收下我的膝蓋~程式設計師
- 你好,我是程式設計師程式設計師
- 最爛的1%程式設計師生存指南程式設計師
- 程式設計師: 我只要技術牛就行! 軟體工程師: 那你能做個好專案嗎?程式設計師軟體工程工程師
- 程式設計師,你碰到過的最難調的Bug是什麼樣的?程式設計師
- 10.24程式設計師節專輯——程式設計師最愛的數字,1024的祕密程式設計師
- 學習風變程式設計,是我做過最正確的決定!程式設計
- [趣圖]程式設計社群調查顯示,Java程式設計師最苦逼,C++程式設計師最年老,是這樣的麼?Java程式設計師C++
- 程式設計師面試神回覆,最後一個“過分”了!程式設計師面試
- 最適合程式設計師的畫圖工具?程式設計師
- 全球最厲害的14位程式設計師程式設計師
- 我的十年程式設計師之路程式設計師
- 我關注的那些程式設計師大佬程式設計師
- 我是6年的程式設計師了程式設計師
- 工程師們看過來|這是我見過的IT圈最“潮”的產品釋出會了!工程師
- 35歲,程式設計師過不去的坎?程式設計師
- 程式設計師的中年該如何度過程式設計師
- AWS最適合程式設計師的平臺,Android支援最棒!程式設計師Android
- 什麼樣的程式設計師最易漲薪?程式設計師
- 最適合程式設計師的筆記軟體程式設計師筆記
- 漫畫 | 浮躁程式設計師的最終結局程式設計師
- 風變,我的程式設計啟蒙老師程式設計
- 程式設計師體驗——我在 RightCapital 的工作程式設計師API
- 【譯】我是一個平庸的程式設計師程式設計師
- 雷軍做程式設計師時寫的部落格,太牛了!程式設計師
- 雷軍做程式設計師時寫的部落格,太牛了。。程式設計師
- 程式設計師被懟!HR:對不起,我們不招“精通Excel”的程式設計師程式設計師Excel
- 我招了個“水貨”程式設計師程式設計師
- 我們是程式設計師(譯文)程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師