程序員的事兒,能說抄么?那叫“復用”!
說一些我對“抄襲代碼”的定義:如果你把別人的代碼破解掉,或者竊取了別人保密的代碼,將其加工變成自己的軟件產品,并由此獲利,那么這就算抄襲,這樣的抄襲也是可恥的。而如果是在日常的開發過程中,不會寫的時候用搜索引擎搜索一下,抄幾段想要的功能自己改改,這都是正常不過的事情。
老代碼/開源項目/網上的demo
維護型項目,增加一個功能,大多數時候是看老代碼怎么寫,Copy過來改一改就完事兒了(我們是CV戰士);
把開源框架引入到項目中,這個應該是每個程序員都會用到,我們盡量不會重新造一個輪子去使用;
更甚至,需要實現一個功能的時候,代碼如何寫,直接找同事朋友問問,要過來一個demo就可以用了;
當然,大部分程序員是不太喜歡麻煩別人的,通常會通過搜索引擎解決:系統增加一個功能,比如第一次使用Redis,如何用代碼實現對Redis的操作,可以搜索引擎搜一搜相關的demo;
千萬不要為了抄而抄,需要把抄完的東西變成自己的知識
不會的知識,我們參考別人怎么使用,并且做到知道怎么用、什么時候用、為什么能用,這個知識就變成我們自己的了。
How:使用層面上的會使用,就是我們常說的,這個框架能跑起來,能集成到項目中;
When:這個框架/代碼的使用場景是什么?我們能用它解決什么樣的問題,又會代碼什么新的問題;每一項技術/框架都有適用場景;
Why:如果能把一項技術/框架的底層底層實現都深入學習到,那么才算是真正的掌握。
對于新手程序員,會反復地在“抄襲-模仿-自己寫-看到更好的代碼-抄襲-模仿”這個過程中反復,這是一個正常的學習過程。