請問各位寫代碼都是從零開始嗎?比如做課程設計等。網上的源碼該如何利用?自己寫了其中多少代碼算自己寫的?

實在很困惑什麼樣的代碼算是自己真正實現的?一定要根據演算法從零開始自己想數據結構等等親自實現嗎?網上一般都有源碼,看懂了進行改動,這樣算自己寫的嗎?就是說以實現真正功能為目的,合理利用網上的源碼,是更有效率、利於學習的方法呢?作為編程初學者,不知道標準,請教下各位程序員一般都是怎樣做的。


我一直都是全部代碼自己寫,Windows API有的就不自己寫,Windows API沒有的不會寫再去找庫,反正最後看起來也比別人快很多(逃


對於簡單的項目,懶得找別人寫的,自己都動手寫了

對於難的,根本找不到可抄的,然後就只能自己寫了。。。


如果你是一個初學者,建議你每一行代碼都要自己寫,尤其是在教學計劃內的作業、實驗課程序和課程設計,千萬不要偷懶。每個賦值、循環體、系統調用、自定義函數等等,都值得你去思考、動手、研究和比較。比如說,一個最簡單的二重循環,兩個循環變數,哪個放外層,哪個放內層,都是要考量的,最後程序的性能和質量會有很大區別。

同時,對於一個學生,網上的開源項目是非常值得你去閱讀、了解、把玩和鑒賞的。簡單的說,一個最簡單的排序,有各種各樣的演算法,每個演算法又有各種各樣的變種,每個變種又會有不同的實現方法。拿到這些代碼,和你自己寫的比較比較,把玩把玩,是非常有好處的,可以幫助你加深對計算機演算法和系統的了解。

如果你搞研究或者工作了做開發,那顯然要擅長重用已有的代碼,包含使用網上的開源項目。這樣既可以提高你的工作效率,也有很大可能提高你的代碼質量。這裡面都是學問。


很多網上的源碼也要重構才好用,更別說要插入到自己的業務中了。

課程設計還是手打吧。


大部分時間我都是在複製粘貼自己寫過的代碼,遇到看不懂的代碼就會查MSDN或者網上的例子,把不懂的函數的七大姑八大姨的函數都弄明白,有時候實在不懂就不懂好了。 前幾天看了好幾個月前的自己寫的一個小Demo,發現突然一下子就看懂了以前不懂的代碼。源碼看得多了,修改的多了,積累的多了,自己會寫的就多了。 當然我不是個程序白痴,理論知識還是起碼要知道的。

p.s.我學習的過程。

有任務需求,網上找很多個源碼例子。查看下載源碼的代碼關鍵部分。學習,修改,思考,學習,修改,思考……複製粘貼代碼修改實現任務需求。


如果是處在學習階段,比如你說的課程設計這種,最好是都自己寫,網上的源碼就算你看懂了,也會有很多細節上的坑需要你踩過了才知道,這是對開發經驗重要積累,成塊地直接Copy過來對你的幫助並沒有自己實現一遍那麼大。

如果是實際項目開發,而不是技能提升,為了顧及開發效率,那就還是可以去找一些現成的庫什麼的,一般來說比自己重新造輪子還是要快不少。


每次當我想實現或者被要求實現某一功能的時候,我的身體中就充滿了查克拉,然後就實現了。


看懂了照著源代碼改和自己不看裸寫一遍完全是不同的概念,課程設計最好還是全部自己手寫比較好。


所有課設項目都自己寫,課設一般分組,組裡好多人不幹活,其實相當於自己做完一個項目,從需求分析,概要設計,詳細設計,編碼測試一人搞完,對能力提升作用很大的。到後期做一些項目基本可以復用之前的代碼,如果這時候還要從頭寫說明自己之前寫的代碼太爛,同時也會參考一些開源代碼提升自己的眼界(這個詞覺得不太優雅)

我覺得代碼量必須積累夠,代碼量夠了很多東西就自然懂了,不然別人告訴你框架、優化。。。。之類的你也能聽也懂,但是沒法深入理解,沒法進一步提升了


抄所有能*符合你要求*的代碼,如果你覺得太簡單,說明要麼你畢業設計選題就簡單(或者項目不夠大),要麼你根本不知道你抄的代碼是幹嘛的


推薦閱讀:

哪些編程習慣會導致內存泄漏?
如何成為一個內力深厚的程序員?正確的補充計算機基礎知識?
SQL如何實現1-1,1,1-2-1,2-1,2-1-2-3,1-3,10-1這樣的排序?
經常有人發錯 SQL 的發音,如何華麗麗的引導糾正他們又不失優雅?

TAG:程序員 | 編程 | 代碼 | 計算機專業 |