為何選擇 Prettier?
建立並執行程式碼風格指南
採用 Prettier 最主要的原因就是停止所有關於程式碼風格的無休止爭論。普遍認為,擁有共同的程式碼風格指南對專案和團隊來說很有價值,但達成共識卻是一個非常痛苦且沒有回報的過程。人們對特定的程式碼撰寫方式會非常情緒化,而且沒有人喜歡花時間寫程式碼風格建議,或是接收這些建議。
那麼,為什麼要選擇「Prettier 風格指南」而不是其他隨機的風格指南呢?因為 Prettier 是唯一全自動的「風格指南」。即使 Prettier 無法 100% 按照您喜歡的方式格式化所有程式碼,但考慮到 Prettier 的獨特優勢,這樣的「犧牲」是值得的,您覺得呢?
- 「我們希望釋放腦力,結束關於程式碼風格的討論。雖然這些討論有時會 fruitful,但大多數情況下都是浪費時間。」
- 「曾經有位工程師花了很大的力氣清理我們所有的程式碼,因為我們一直在爭論三元運算式的風格,而且程式碼風格不一致。這很愚蠢,但這是一個奇怪的持續『大辯論』,浪費了很多時間在來回溝通上。現在我們更容易達成共識:只要執行 Prettier,並採用它的風格就好。」
- 「厭倦了告訴人們如何編寫產品程式碼的風格。」
- 「我們選擇 Prettier 的首要原因是停止浪費時間在爭論程式碼風格的細節上。」
- 「設定 githook 減少了 PR 中程式碼風格問題的數量,這些問題會導致 ESLint 規則錯誤或我之後必須挑剔或清理的事情。」
- 「我不希望任何人再對其他人的程式碼風格吹毛求疵。」
- 「這讓我想起史蒂夫·賈伯斯每天都穿同樣的衣服,因為他每天都要做無數個決定,他不想把時間浪費在選擇衣服這種瑣碎的事情上。我認為 Prettier 就像這樣。」
幫助新手
Prettier 通常是由在目前的程式碼庫和 JavaScript 方面有經驗的人引進的,但從中受益最大的是程式碼庫的新手。有人可能會認為它只對程式設計經驗非常有限的人有用,但我們看到它加快了公司資深工程師的上手速度,因為他們之前可能使用不同的程式碼風格,以及來自不同程式語言的開發人員。
- 「我使用 Prettier 的動機是:讓我看起來很懂 JavaScript。」
- 「我總是把空格放在錯誤的地方,現在我不用再擔心這個問題了。」
- 「當你是初學者的時候,你會因為語法犯很多錯誤。多虧了 Prettier,你可以減少這些錯誤,並節省很多時間專注於真正重要的事情。」
- 「作為一名教師,我也會告訴我的學生安裝 Prettier,以幫助他們學習 JS 語法並擁有可讀性高的檔案。」
撰寫程式碼
人們使用 Prettier 之後通常會意識到,他們實際上花了很多時間和精力在格式化程式碼上。透過 Prettier 編輯器整合,您只需按下神奇的快速鍵,程式碼就會被格式化。無論如何,這都是一個令人大開眼界的體驗。
- 「我想寫程式碼,而不是花時間在格式化上。」
- 「它消除了我們日常生活中 5% 的痛苦 - 也就是格式化。」
- 「都 2017 年了,當你新增一個參數導致程式碼超過 80 個字元的限制時,將呼叫分成多行仍然很痛苦 :(」
易於採用
我們非常努力地使用最沒有爭議的程式碼風格,經過多輪修復所有邊緣情況,並完善了入門體驗。當您準備將 Prettier 導入您的程式碼庫時,它不僅在技術上應該讓您輕鬆完成,而且新格式化的程式碼庫也不應該引起重大爭議,並且應該被您的同事輕鬆接受。
- 「它的開銷很低。我們能夠在不費力氣的情況下,將 Prettier 應用於非常不同類型的程式碼庫。」
- 「它幾乎沒有錯誤。如果在實施過程中出現主要的風格問題,我們會對將它應用於我們的 JS 程式碼庫持謹慎態度。我很高興地說,情況並非如此。」
- 「每個人都將它作為 pre-commit 腳本的一部分來運行,我們中的一些人也使用編輯器儲存時自動格式化的擴充功能。」
- 「它很快,在我們其中一個較大的 JS 程式碼庫中,我們能夠在 13 秒內運行 Prettier。」
- 「對我們來說,Prettier 最大的好處是能夠一次格式化整個程式碼庫。」
清理現有程式碼庫
由於制定和執行程式碼風格是一項浩大的工程,它常常被忽略,導致您需要處理不一致的程式碼庫。 在這種情況下,執行 Prettier 可以快速解決問題,程式碼庫將變得一致且更易於閱讀,幾乎不需花費任何時間。
- 「看看程式碼 :) 我只需要恢復理智。」
- 「我們繼承了一個約 2000 個模組的 ES6 程式碼庫,它是由一個全球團隊中 20 位不同的開發人員在 18 個月內開發的。 幾乎不用研究就能感覺到這是一個勝利。」
搭上潮流列車
當人們選擇採用 Prettier 時,他們考慮的不僅僅是專案的純技術層面。 誰建立和使用它,以及它在社群中傳播的速度有多快,都會產生不小的影響。
- 「對我來說,令人驚奇的是:1) 兩個月前才發布。2) 似乎每個主要的 JS 專案都已經採用它。3) 7000 顆星,每月 100,000 次 npm 下載量」
- 「由開發 React 和 React Native 的同一批人所建立。」
- 「我喜歡參與熱門的新事物。」
- 「因為很快就會有人要求它。」