回覆列表
  • 1 # Stee_Chong

    首先我不知道我對你說的複製貼上理解是不是正確的,我的理解是你每次遇到程式設計需求,主要是是靠找現有的程式程式碼進行一個改進,而不是自己獨立進行程式碼的書寫和除錯最佳化。

    在這種理解上,你對你使用的程式語言應該是有一定的基礎了,至少是能看懂別人的程式碼,但離自己獨立編寫程式還有一定距離。我並不是計算機專業出生,但作為一個通訊類的科研狗,接觸過MATLAB,Python,C++,OC等方面的程式設計。算不上一個合格的碼農,但對於基本的程式需求是可以應對邏輯關係而不參照別人的程式碼進行獨立的程式設計實現的。根據我自己的經驗給出一些建議,當然也希望專業人士批評指正。

    1需求分析:在程式設計之前,你肯定已經知道自己到底要透過程式實現什麼樣的功能。各個功能之間存在什麼樣的邏輯關係,對於簡單的程式設計,通常心裡打個草稿就行了,而邏輯關係比較複雜的程式,比如你要用Xcode開發一個應用,APP通常存在一個功能之間的邏輯流轉關係,我建議你把邏輯流程畫成一個草稿。這時候你基本可以搭好程式的邏輯框架,接下來你只需要對各個邏輯模組具體的功能進行分析即可,也就是將功能細化成數學對應關係,比如功能是實現對輸入與某一系列資料(比如字串)的匹配,那此時可能需要遍歷需要匹配的資料列表。這時候你就可以將遍歷這一數學含義轉化為一個迴圈函式段來實現,依次類推,基本可以將所有的要實現的功能轉化為函式段,而且各個函式段的跳轉關係則由你的邏輯關係草圖連線,他們之間可能包含著更大的輸入輸出數學對應關係,也既一個函式的返回值可能用於另外的函式,他們之間可能存在著一對一或一對多的關係,此時可以透過一系列條件語句來實現。這樣,你基本可以透過最基礎的一些邏輯語句實現整個程式了,我的建議是一般最開始用你最先能想到的語句,也即簡單的語句來實現,後期在除錯通過後,可以透過不斷用更高效的程式段來代替原有的程式碼來提高執行效率。此外,在這一階段,最好能把每個函式段需要用到的資料型別,輸入輸出函式的數學表達形式弄清楚。

    2程式碼書寫:分析完功能,基本上對你所開發的程式有了個基本的設計,那麼你現在可以開始著手寫程式碼了,首先我比較偏愛使用終端和命令列還有快捷鍵來操作終端,我覺得這樣比較高效,基本可以告別滑鼠了。如下圖,使用一些簡單的命令可以選擇你需要建立開啟檔案的路徑,建立檔案,開啟檔案等。圖中是mac系統上的操作,Windows命令列和mac有一定區別,但這些基本都能在網上查到。

    接下來你可以根據你設計的邏輯功能開始書寫程式碼了,這裡你有幾個需要注意的事項,第一是程式碼的工整,作為一個程式設計渣,我習慣於把程式儘量寫的美觀好看,至少在各個功能段進行一個註釋以便後期最佳化程式碼用。此外,對於縮排,建議用tab鍵(如果你看過《矽谷》這個美劇的話,應該記得很經典的一段,男主就因為程式設計師女朋友每次縮排都不聽敲空格而和女票分手,當然他是完美主義強迫症,我僅僅是覺得用tab很好對齊,不用再去想你要空多少格)。各個邏輯函式建議單獨書寫,最後用主函式呼叫即可。

    3程式除錯和最佳化:我通常採用的是對各個函式功能先進行除錯,給出輸入後,驗證輸出結果,如果正確那麼則可以跳過了,如果出現問題,則根據問題提示進行程式碼更改和查驗,此時可以對程式碼進行逐條的驗證,也既選擇程式碼執行終止的位置。將各個函式功能調通後,就可以進行整個程式的除錯了。透過前面細緻的工作,主函式只要不太複雜,基本是不會出現問題的,執行成功,你的程式基本就完成了。但此時你通常會發現,程式執行時間較長,佔用計算資源太多,計算方式比較複雜,那麼此時你需要對程式碼進行進一步最佳化,程式碼的最佳化需要一定的專業知識和經驗,比如迴圈轉換為矩陣或序列的變換等等,此時,上網查詢同類型程式碼閱讀和學習可以對你進行提高,此時你已經不是複製和貼上別人的程式碼了,而是學習別人的一些功能實現方法,在這一過程中,你可以積累很多知識儲備,在下一次寫程式碼的過程中,很多地方你就可以直接應用了。

    你的問題其實還是有很多可以講的,但是各自用的語言和平臺不一,要針對一個例子進行舉例可能不那麼容易,因此我主要寬泛的談了一下我的程式設計經驗,希望對你有所幫助,除了這些,最重要的,你需要不斷練習,實踐才是最好的老師,從複製貼上到獨立開發,並不難,如果你是計算機專業的學生,可以從基礎的作業開始,不參考別人程式碼的情況下,進行簡單的功能實現,再慢慢向複雜的程式邁進,不久就能得到很大的提高。

  • 2 # 默默的啥

    複製貼上也是技術活,會複製貼上也是快速完成程式碼最好的捷徑。作為一個6年的程式設計師。大部分程式碼是有積累的。複製貼上能大大節約類似專案開發的時間。整個類庫,或者程式碼片段的有效複製應用符合專案高效開發的需求。而且我認為這也是一種能力。

  • 3 # 海陽頂端

    一、先來消除一個誤會,抄公開的程式碼和抄公開的文章不同。

    二、如果想要提高自己的程式設計能力,哪就一定要多寫,突破複製貼上。

    如果你在大公司工作,肯定有同事之間的相互協作以及互相幫助,哪麼有個領頭人帶你的話,你程式碼能力會提高很快。但是在大公司裡就不允許你抄襲了,像前段時間支付寶抄襲微信小程式程式碼。但是如果你只是一個人在寫,哪怎麼辦,只有一個辦法,就是寫你需要的軟體,不要寫網上哪些已有的功能軟體。

    三、接第二條,具體如何做?

    1、第一步寫網上已有的軟體,你寫不出來可以去參考,就像開卷考試一樣的道理。

    2、程式碼熟練之後,自己想一個網上沒有人寫過的功能去試一下。我來舉一個自己的例子,我想用python寫一個針對某系統自動投票的軟體,但網上的都找不到好用的或全是收費的,哪麼我一定要自己寫。熟悉了一些python功能後,我又在網上找了一點自動點選的python原始碼,我再自己分析下某系統,用了幾天時間動下腦子就寫完了。在這個過程中有複製黏貼,但更多的是自己的程式碼,所以就突破了複製黏貼的步驟了。我寫的原始碼在https://www.ixigua.com/i6484139266455634446/?utm_source=toutiao&utm_medium=feed_stream#mid=3668637589這裡可以看到影片。

  • 4 # 小白房產

    剛當程式設計師時,可多看前輩們寫的程式碼,從中學習,嘗試在看懂的基礎上進行簡單修改來適用於新的場景應用。多看多學多思考,透過一段時間的積累,就能自己直接寫程式碼,跳出簡單的複製黏貼了。

  • 5 # 井151276607

    如果你能從許多的開源專案中複製到你要用的程式碼,並做到搭配有致,僅僅需要適當的改進,就可實現你要的目的。那,恭喜你,你已經成為開發達人。複製程式碼的“習慣”不必著急改掉。藉助你閱讀、理解、記憶程式碼的能力,平時多加思考、回顧已經交付的程式碼,如果是持續交付的專案,版本升級時完善早期設計甚至重新設計實現。不用很久的時間,你會發現再想拷程式碼時,很可能是需要“趕工期”的需要了。

  • 6 # java老菜鳥

    我覺得在回答這個問題之前,我們首先要做的是學會怎麼複製貼上。作為高齡程式設計師,我見過直接ctrl+c ctrl+v的程式碼,沒有一段是可以正確實現要求的,無腦抄的後果就是被炒魷魚。

    當我們需要參考別的程式碼來完成工作時,首先是要看懂你要抄的程式碼,是否符合你的需求,需要進行什麼樣的修改。否則可能會抄了一段完全不滿足需求的程式碼,自己還不知道,等測試同事給你提bug的時候,恐怕會一臉懵逼狀吧。

    學會了複製貼上,基本上可以稱為一個熟練的程式設計師了。想要突破,就要先從原理入手,理解之前貼上的程式碼的原理,並嘗試改進它,很多開原始碼除了整體框架,程式碼細節上有許多可以最佳化的地方,可以多找找。

  • 7 # IT老友

    只會複製貼上是經驗不足的表現,複製貼上程式碼是本質為了重複利用程式碼,這種程式碼複用的方法是極為笨拙的。那麼, 如何提高程式碼複用率?

    本質就是把相同或相似的程式碼抽象出來封裝在一起;不同的作為引數傳入或匯入。

    借用scrapy框架圖,scrapy框架是程式碼複用的經典例子。

    以下程式碼複用率的從低到高,當然難度也從低到高。

    1:函式/方法

    2:介面

    3:類

    4:模組/元件

    5:框架

    作為程式設計師一定要有程式碼複用的意識,多學習別人優秀的程式碼,沒有意識,多練是沒用的。

    最後,先思考再敲程式碼,多敲程式碼,少複製貼上。

  • 中秋節和大豐收的關聯?
  • 如何評價Playstation VR國行?