閱讀代碼能讓你變得更出色
做編程工作越久,就會明白閱讀的代碼越多,自己的代碼就會變得更好,當你不得不維護其他人的代碼時,簡單和干凈的代碼幾乎總是比花哨或復雜的代碼好。另一方面,當你花足夠的時間去理解復雜代碼的時候,你就可以學到新的技巧,不論怎么樣,都能讓你有所提高。
超越語法
在你不得不全力對付任意編程語言的語法時,也就是學習如何充分利用該語言比較瑣碎的時刻。一門語言的語法往往是非常靜態(tài)的,并且如果你出錯了,你的編譯器會向你控訴。更深層次的課程涉及到什么語言更適合解決什么樣的問題,以及如何用那種語言編寫代碼以便于使它效率高和可維護。
學習新語言有許多方法:課程,教程,導師,書籍以及等等。我通常會結(jié)合這些選項來學習一門新的語言。我注意到,當涉及到非語法元素的時候,這些方法常常非常相似。你可能對有些事情,例如“總是注釋”,“逗號放到最后”,“縮進x個空格”有著自己的想法。
有時候當你閱讀其他人的代碼時,如果看到他們做錯了,你會生氣。但是隨著你代碼閱讀量的增加,你就會知道,總會有一些情形常見于別人的代碼,而你卻在你的代碼中未曾遇到過,并且你的方法沒有必要那樣執(zhí)拗。
開源無處不在
隨著開源運動的發(fā)展,可供閱讀和學習的代碼數(shù)量也大幅度增長。例如Gitlab,GitHub和到BitBucket這些網(wǎng)站就允許我們獲取全功能的應用程序,不僅可以閱讀代碼,還可以擺弄。很少有你想要學習的東西是不能在開源代碼中獲取的。
可用的代碼是如此之多,但質(zhì)量卻良莠不齊。當我們想要學習的時候,常常搞不清楚哪個好哪個不好。那就保持閱讀代碼吧,慢慢地你會學會如何區(qū)分。閱讀“壞”的代碼可以幫助你理解為什么它是“壞”的。關(guān)鍵是不要害怕嘗試任何你覺得看上去正確的東西,并且當你走錯路的時候能夠承認錯誤,并改正問題,然后繼續(xù)前行。
壞的代碼就壞的,是這樣的嗎?
在這些年里,有很多好的代碼和壞的代碼。當你看到你以前寫的代碼時,你的第一想法就是我怎么會寫這樣的垃圾代碼。這實際上意味著你還在學習中。如果你看到你以前的代碼,覺得它看上去非常偉大,那么說明你并沒有提高。
那么,我們怎么才能從壞的代碼中學到東西呢?
你閱讀的壞代碼越多,那么你就越擅長發(fā)現(xiàn)壞的代碼
當你在學習和搜索例子的時候,你會發(fā)現(xiàn)和使用大量不能工作的代碼。請記住,僅僅因為它不適合你的情況,并不能說明它就是壞的代碼。學習如何讓它工作能夠使得你變得更出色。
你怎么知道它是壞的代碼?
人們喜歡批評。閱讀評論,如果你看到很多“WTF(什么玩意)”,那么可能你看到的正是壞的代碼,試著指出為什么不好的原因。不要只留下“這代碼真爛”這樣的評論。不要裝得你好像懂得壞代碼的所有需求,要知道,總有一個它之所以被這樣寫的正當理由。如果你知道它為什么是壞代碼的原因,那么不妨留下一個有建設(shè)性的評論。或者……
讓它變成好的代碼
放一個能讓代碼變得更好的pull請求。修正語法,使用更好的方法,添加注釋或修改縮進:這些都是改進代碼的偉大方式。加一個為什么你推薦改變代碼的解釋。
回報
記住開放源代碼在你參與進去的時候效果更好。代碼更改在大多數(shù)項目中都是受歡迎的,但是有很多出力的方法。
測試開源代碼和文件錯誤報告;幫助完成文檔集;寫教程和如何做的例子;參加對話——或者僅僅只是幫助傳播。每一件事都能帶來改變,并且越多的人參與進來越好!