這導致整個團隊中出現過度分析,並且使得個體之間更難以相互協作。
嗯,Go 是不同的。即使您對如何構建和維護代碼有很多強烈的意見,例如:如何命名,要遵循哪些結構模式,如何更好地實現併發。但你只有一個每個人都遵循的風格指南。你只有一個內置在基本工具鏈中的測試框架。
雖然這似乎過於嚴格,但它為您和您的團隊節省了大量時間。當你寫代碼時,受一點限制實際上是一件好事。在構建新代碼時,它為您提供了一種更直接的方法,並且可以更容易地調試現有代碼。
因此,大多數 Go 項目在代碼方面看起來非常相似。
文化
人們說,每當你學習一門新的口語時,你也會沉浸在說這種語言的人的某些文化中。因此,您學習的語言越多,您可能會有更多的變化。
編程語言也是如此。無論您將來如何應用新的編程語言,它總能給你帶來新的編程視角或某些特別的技術。
無論是函數式編程, 模式匹配(pattern matching)還是 原型繼承(prototypal inheritance)。一旦你學會了它們,你就可以隨身攜帶這些編程思想,這擴展了你作為軟件開發人員所擁有的問題解決工具集。它們也改變了你閱讀高質量代碼的方式。
而 Go 在這方面有一項了不起的財富。Go 文化的主要支柱是保持簡單,腳踏實地的代碼,而不會產生許多冗餘的抽象概念,並將可維護性放在首位。大部分時間花費在代碼的編寫工作上,而不是在修補工具和環境或者選擇不同的實現方式上,這也是 Go 文化的一部分。
Go 文化也可以總結為:“應當只用一種方法去做一件事”。
一點注意事項。當你需要構建相對複雜的抽象代碼時,Go 通常會妨礙你。好吧,我會說這是簡單的權衡。
如果你真的需要編寫大量具有複雜關係的抽象代碼,那麼最好使用 Java 或 Python 等語言。然而,這種情況卻很少。
在工作時始終使用最好的工具!
總結
你或許之前聽說過 Go,或者它暫時在你圈子以外的地方。但無論怎樣,在開始新項目或改進現有項目時,Go 可能是您或您團隊的一個非常不錯的選擇。
這不是 Go 的所有驚人的優點的完整列表,只是一些被人低估的特性。
請嘗試一下從 Go 之旅 來開始學習 Go,這將是一個令人驚歎的開始。
如果您想了解有關 Go 的優點的更多信息,可以查看以下鏈接:
- 你為什麼要學習 Go? - Keval Patel
- 告別Node.js - TJ Holowaychuk
並在評論中分享您的閱讀感悟!
即使您不是為了專門尋找新的編程語言語言,也值得花一兩個小時來感受它。也許它對你來說可能會變得非常有用。
不斷為您的工作尋找最好的工具!
題圖來自 https://github.com/ashleymcnamara/gophers 的圖稿
via: https://medium.freecodecamp.org/here-are-some-amazing-advantages-of-go-that-you-dont-hear-much-about-1af99de3b23a
作者: Kirill Rogovoy 譯者: imquanquan 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
閱讀更多 Linux技術 的文章