回覆列表
  • 1 # 你的程式設計老師

    既然是抄襲就沒必要同情,肯定是可恥的行為。尤其是用別人的辛苦的勞動果實,換來自己豐厚的利益更是可恥。對於程式碼,核心功能程式碼,對於專案或者產品起著決定行作用的程式碼抄襲,更是不能做的,有可能會受到法律制裁的。

    抄襲就等同於給著你豐厚的工資,你卻什麼事情不幹,反而給公司帶來負面影響,可想而知事情的嚴重性。如果是非核心程式碼,個人認為還真沒有到抄襲的哪一步,我們完完全全可以修改成為自己思想的程式碼。再說,程式碼的真假判斷真不是那麼容易就判斷就行的。

    如果公司的核心功能程式碼模組都是依靠抄襲完成的,那麼這個公司未來發展前景可想而知。對於程式碼其實真沒什麼多少難度,關鍵地方應該是擴充套件性、安全性、穩定效能。這也是高手和低手的本質區別。

  • 2 # 三石科技觀察

    這個要分幾方面來看。

    如果是單純的抄襲,並且抄襲的內容本身是受保護的,這不僅僅是可恥的問題,而是直接侵犯了別人的著作權,別人有權要求停止抄襲並且提出索賠。如果雖然是抄襲,但是內容是公開的,不要求版權保護,這時候抄襲者沒有註明出處,只能給予道德譴責,並不會帶來法律問題,雖然也是不提倡的。如果抄襲的是開源軟體,這就無可厚非了,當然最好是註明出處並且也公開自己的程式碼,這是符合開源精神的一種方式。

    其實,軟體行業抄襲,或者更客氣的說“借鑑”的情況非常普遍,假如你是使用java開發的話,基本常用的工具、架構都是開源的,而且行業內也是非常鼓勵開源的行為,但是一定要遵守開源協議。

    對於軟體公司來說,雖然快速、高效的完成開發專案是非常重要的,但還是要注重企業形象,不單要從開源社群索取,也要適當的給予回報。

  • 3 # 大學生程式設計指南

    作為一個寫了十幾年程式碼的程式設計師對於抄襲程式碼這種事情,正常來講這種很難界定,抄襲或者模仿軟體功能會多一點,直接的程式碼抄襲在現實生活中屬於拿到程式碼直接複製進去然後修改下適應到對應的專案工程中,全部程式碼的抄襲這種只有在特殊場景下才會出現,透過非法手段拿到全套的原始碼然後直接在這個原始碼基礎上進行功能修改,這種屬於程式碼的抄襲,有違商業合同法。

    很抄襲想對應的開源社群,程式碼直接面向大眾任何一個人就可以拿到全套的原始碼,都可以在這個原始碼基礎上修改定製新的功能,開源思想對於國內軟體發展起到一個很大的推進作用。國內很多專案都是直接拿到開源的軟體在這個基礎上進行功能的定製開發,在一定層面上已經省去了從頭開發的費用,極大的提高了開發效率,如果開源社群已經存在相似的功能,沒有必要重複造輪子。

    程式設計師在實際開發過程中大部分的工作屬於功能模組,有些功能模組可以直接在網上找到實現程式碼,在這個程式碼基礎上修改,或者說根據程式碼實現邏輯自己重新寫一遍。谷歌公司在程式碼做的非常到位,算是行業的標杆,全公司的程式碼模組都可以直接獲取到,而且每個功能模組實現的都非常標準,新的專案開發用到直接根據關鍵字搜尋獲取下來就可以作為單元模組來使用,當然要達成這種效果,需要全公司有一個統一的編碼規範,這個規範可以直接在網路上搜到,然後每個功能模組在提交之前都會經過嚴格的稽核,保證進入公司的程式碼庫是安全可靠的,這樣別的工程師在拿到程式碼之後可以直接作為單元模組去使用,極大的提升了開發效率,所以從谷歌全球市值變化就可以感受到內部強大的驅動力。

    作為一個程式設計師程式碼只是一種外在展示形式,本質上還是程式設計思想,程式碼能力每個人的都是有差異,但隨著時間的推移純正的程式碼差距會越來越小,在程式設計思想以及框架思想上的差異直接決定了程式設計師能夠達到的高度,有些人寫了一輩子的程式碼都不具備架構能力,可能就是適合實現基本的單元模組,再複雜一點頭腦上已經摺騰不動了,這種在程式設計師裡面的佔比還不少。

    對於程式碼不需要看的那麼太重隨著時間推移程式碼能力都會提升上去,堅持的時間長了自然就會寫了,重點是指導寫程式碼的中心思想。如果程式碼還是靠抄襲過來的,證明距離真正的程式設計師還是有相當大差異的。

  • 4 # 會點程式碼的大叔

    抄襲程式碼很可恥,所以我們都叫做程式碼複用。

    好了,讓我一本正經的分析一下。

    軟體開發這個行業比較特殊,軟體開發出來之後,可以很快的複製出來多套,除了研發成本和推廣成本之外,其餘幾乎是沒有成本的(硬體算到研發成本里面),比如我買一張PS4的遊戲光碟花了500塊錢,光碟本身和包裝盒的成本幾乎可以忽略。

    所以如果是單純的把別人的軟體破解掉,核心程式碼不變,修改修改就變成自己的軟體產品,並做銷售盈利,我認為這樣的抄襲是可恥的。

    不過在程式設計師日常的開發工作中,複用別人的程式碼,是正常不過的事情。

    開源框架,這個應該是每個程式設計師都會用到;

    維護型專案,增加一個功能,大多數時候是看老程式碼怎麼寫,Copy過來改一改就完事兒了(我們是CV戰士);

    系統增加一個功能,比如第一次使用Redis,如何用程式碼實現對Redis的操作,可以搜尋引擎搜一搜相關的demo;

    更甚至,需要實現一個功能的時候,程式碼如何寫,直接找同事朋友問問,要過來一個demo就可以用了。

    當然,我們不能只是為了單純的實現功能而“抄襲”,否則真的有可能只會複製、貼上。

    不會的知識,我們參考別人怎麼使用,並且做到知道該怎麼用、什麼時候用、為什麼能用,這個知識就變成我們自己的了。

    該怎麼用:使用層面上的會使用,就是我們常說的,這個框架能跑起來,能整合到專案中;

    什麼時候用:使用場景是什麼?每一項技術、每一個框架都不是萬能的,都有自己的使用場景;

    為什麼能用:技術和框架的底層最好可以瞭解,到了這個程度,才是自己真正的掌握。

  • 中秋節和大豐收的關聯?
  • 帶拼音古詩大全?