> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh-hant/2022/w08-how-to-write-good-code.md).

# W08-如何寫好代碼

上週組內討論如何寫好代碼的話題，這裡做些延伸性思考。**我想說一條普適性的法則，不斷提高信源的質量。寫好代碼也是學習+實踐的過程，探索高質量的信源是很好的成長動力源。**

剛工作的時候，我經常逛的是公眾號，打開一篇文章，總能讓我錯愕於“哇，講的真好，說的真對，趕緊收藏了吧”。慢慢地，發現一些開發者社區的內容更成體系，有很大一部分內容其實來自國外，比如media、google developer，所以那段時間還熱衷於做做翻譯的活兒。再後來關注過一些書單，也聽一些前輩極力推薦過一些經典書目。讀過幾本後，發現以前看的很多內容都像是些碎片，是對書裡某些章節的摘抄、放大、實踐。這樣的書一般都不是很新，往往再版多次，但常看常新，比如《程序員修煉之道》、《重構》、《設計原本》、松本行弘系列等。

我的這段個人經歷，前期很像是“拼圖”，通過收集碎片，自我探索，形成理論，但最後發現其實是在重複造輪子。後期更像是“種樹”，先形成自己的知識結構樹，等主幹構成了，再把各種碎片信息往上掛。這樣的好處是，當你具備了信息甄別的能力，實踐轉化的能力之後，日常接受的各種信息才能發揮出最大的勢能。你知道什麼是雕蟲小技、奇淫巧技，只需一笑而過，什麼是大巧若拙、大道至簡，值得默默學習。

前面講的是為什麼要提升信源質量，下面談談什麼是高質量信源。公眾號這樣的新媒體在內容質量上不如書籍嗎，一定不是。我認為不同的信息渠道有不同的專長，質量只是其中的一個維度，硬要把渠道按照質量來排序是有失公允的。按照品牌維度去給信源質量排序會更合適些。不管是個人IP還是企業IP，好的品牌輸出的內容一定不會太差，因為品牌是與內容背後的選稿、審編、校稿所投入的精力成正比的。比如，好的品牌有社區裡的凹凸、奇舞團，出版社裡的圖靈、O'Reilly、華章、湛盧等。

信源渠道沒有高低貴賤之分，也沒有唯一超能一說。如果對某個渠道賦予超越其本身屬性的意義時，就會劍走偏鋒，因為沒有一種渠道是全能的。就像《娛樂至死》所抨擊的電視媒體盛行的年代，大家對電視的狂熱甚至想用它來重構教育，但最後大多通過電視進行寓教於樂的嘗試都失敗了。電視能帶來的就是輕鬆愉快，不要指望它能承擔更多的社會責任。在電視時代之後，我們完整地經歷了互聯網門戶時代，移動新媒體時代。每一個時代都讓我們多了一個信息獲取的選項，不存在誰必須替代誰的邏輯，只存在誰最適合做什麼的邏輯。

之前還看過萬維剛老師的觀點，他說要多看各種頂會、學術論文，那才是最高質量的信源。我也認同，但過於原教旨主義。我覺得萬老師的觀點都偏向科學精英的視角，前段時間看他的量子力學通識，導論裡有一段讓我印象深刻。他認為學科名稱裡帶“科學”兩個字的都不是科學，體現了學科的不自信，比如計算機科學。
