代碼編程入門 一個(gè)程序員的代碼編寫量,能否決定他的編程水平?
一個(gè)程序員的代碼編寫量,能否決定他的編程水平?自2003年以來,我們一直在做程序設(shè)計(jì)。一般來說,我們寫的代碼越多,我們需要的代碼就越少。在程序開發(fā)之初,我主要做了功能實(shí)現(xiàn)。負(fù)責(zé)項(xiàng)目設(shè)計(jì)的同事把界面寫得
一個(gè)程序員的代碼編寫量,能否決定他的編程水平?
自2003年以來,我們一直在做程序設(shè)計(jì)。一般來說,我們寫的代碼越多,我們需要的代碼就越少。
在程序開發(fā)之初,我主要做了功能實(shí)現(xiàn)。負(fù)責(zé)項(xiàng)目設(shè)計(jì)的同事把界面寫得很好,剩下的就是功能實(shí)現(xiàn)。實(shí)現(xiàn)寫功能并不困難。簡單地說,數(shù)據(jù)以固定格式處理后,就可以發(fā)回。在此期間,每天的代碼量相對較大,平均每天大約有500行。
隨著他們編碼能力的提高,很多代碼重用會做得更好。在整個(gè)實(shí)現(xiàn)過程中,他們會采用比較簡單的實(shí)現(xiàn)方法,也懂得如何使用模塊化的開發(fā)模式。通過這個(gè)過程,代碼的數(shù)量在一定程度上減少了,但是思考的時(shí)間變長了,有時(shí)需要一些時(shí)間來驗(yàn)證。在2006年確定自己的主要方向時(shí),代碼量再次下降。因?yàn)楣ぷ髦行囊呀?jīng)從函數(shù)編寫調(diào)整到了一些框架設(shè)計(jì)和算法實(shí)現(xiàn),這段時(shí)間每天的代碼量大約在200行左右,其中很多是編寫接口。在此期間,重點(diǎn)工作是實(shí)現(xiàn)算法,做數(shù)據(jù)分析和建模。在這段時(shí)間里,還使用了Matlab,因此編碼量大大減少,但難度增加了很多。有時(shí)需要一周甚至更長的時(shí)間來完成算法的驗(yàn)證。
2010年之后,我將機(jī)器學(xué)習(xí)和大數(shù)據(jù)添加到我的主要攻擊方向。這時(shí),我每天的代碼量又下降了,平均有100多行。有時(shí)一天可以寫幾十行代碼,對算法進(jìn)行分析、訓(xùn)練和驗(yàn)證的時(shí)間就變長了。當(dāng)java第一次被使用時(shí),代碼的數(shù)量可能會更多。后來,當(dāng)使用Python時(shí),代碼量減少了很多。目前,算法的實(shí)現(xiàn)也采用Python。
事實(shí)上,在計(jì)算機(jī)研發(fā)中,編程更像是一種工具。無論使用何種語言,最終的任務(wù)都是實(shí)現(xiàn)功能。編碼量與角色有很大關(guān)系,但與編程水平?jīng)]有直接關(guān)系。當(dāng)然,高級程序員必須有大量的代碼基礎(chǔ),這是毋庸置疑的。
為什么電腦編寫代碼可以運(yùn)行后看到圖形呢?
現(xiàn)在人們很難理解這個(gè)問題,但是他們很難把位圖作為一個(gè)直觀的操作系統(tǒng)來處理大多數(shù)系統(tǒng)應(yīng)用工程師直接使用系統(tǒng)API,而且內(nèi)部細(xì)節(jié)都是隱藏的
正是所謂的山中之石可以用來攻擊玉石。在編程的過程中,如果有條件的話,學(xué)習(xí)別人的代碼是有益的,所以也是需要經(jīng)常做的事情。
引用他人代碼不是復(fù)制他人代碼。因?yàn)槠渌说拇a不太可能直接被你的程序接管和使用。這是由采辦項(xiàng)目需求的多樣性決定的,每個(gè)項(xiàng)目的體系結(jié)構(gòu)可能不同。代碼風(fēng)格、邏輯集成和程序兼容性將限制您直接使用其他人的代碼。
如果你和我爭論,你的生活和工作就是復(fù)制別人的代碼。那沒問題。那意味著你很幸運(yùn)。如果您在Internet上稍微更改一下開放源代碼項(xiàng)目,就可以將其作為自己的項(xiàng)目發(fā)布。
這是一個(gè)非常極端的情況。我們的程序員不贊成。
在大多數(shù)情況下,在編寫函數(shù)之前,您可能需要在Internet上查找一些信息,其中還包括查看其他人完成的類似函數(shù)的代碼。您首先需要閱讀其他人的代碼,然后從中獲得對您的項(xiàng)目有用的東西。
最終整合到自己的項(xiàng)目中,并不斷優(yōu)化。最后,形成自己項(xiàng)目的健壯代碼。
我記得當(dāng)我第一次開始編寫程序時(shí),我遇到了一個(gè)從程序員那里調(diào)來的測試人員。在他看來,有人鄙視程序員的字里行間,說程序員的工作就是粘貼和復(fù)制。當(dāng)時(shí),我想,太好笑了,我覺得他是在誹謗程序員。
現(xiàn)在如果你回頭看,這個(gè)觀點(diǎn)沒有錯(cuò),因?yàn)槊總€(gè)人都可以有自己的觀點(diǎn),自己的認(rèn)知,自己的理解水平可以達(dá)到這個(gè)點(diǎn),這不是他的錯(cuò)。
綜上所述,我們在編寫程序時(shí)向別人學(xué)習(xí)代碼是不可避免的,但完全照搬別人的代碼是不現(xiàn)實(shí)的。你還想讓我們程序員做什么?
歡迎來到野狗。非常感謝。下次見。
學(xué)習(xí)編程抄代碼就夠了嗎?
好的狙擊手都被槍斃了。學(xué)習(xí)編程可不像武俠小說里那樣——你轉(zhuǎn)身背對著大師。掌門飛過,瞬間擁有掌門內(nèi)力70年。
其實(shí)真正的練武也是夏冬季練武的結(jié)果。俗話說,曲子不離口,拳頭不離手。寫代碼也一樣。多敲代碼,一可以熟悉語法,二可以鍛煉語感。
但不要只是一個(gè)代碼搬運(yùn)工。或者多看看主代碼,了解自己解決問題的思路、算法、代碼風(fēng)格、錯(cuò)誤處理、人工處理的地方。不要太依賴工具和框架。開始時(shí)多思考,多分析。
過了很久,你覺得寫代碼就像和女朋友聊天一樣。要想成為一個(gè)有文化的程序員,首先要有更多有文化的代碼。
學(xué)習(xí)編程是不是要多敲代碼?
在學(xué)習(xí)編程之前,首先選擇一種自己喜歡的編程語言,然后熟悉建筑環(huán)境,購買一些相關(guān)書籍,然后根據(jù)書中的內(nèi)容編寫第一個(gè)小程序,并輸出[Hello World!]在學(xué)習(xí)的時(shí)候,我們應(yīng)該保持一種平衡的態(tài)度。一步一步地,當(dāng)我們看到別人的代碼時(shí),我們不應(yīng)該認(rèn)為代碼太多。我學(xué)不到,然后我們就放棄學(xué)習(xí)。在學(xué)習(xí)開始的時(shí)候,我們最好不要用太多的代碼看例子,這可能會影響我們的態(tài)度,除非你有其他的基礎(chǔ)。
首先,熟悉一些基本關(guān)鍵字的用法和含義,熟悉數(shù)據(jù)類型。說到數(shù)據(jù)類型,只有少數(shù)幾種。字符串?dāng)?shù)據(jù)類型用于存儲字符串,整數(shù)類型用于存儲不帶小數(shù)點(diǎn)的數(shù)字,單精度和雙精度類型用于存儲帶小數(shù)點(diǎn)的數(shù)字,布爾類型用于存儲1和0(true和false),字節(jié)類型用于存儲字節(jié)數(shù)據(jù),非常容易記住,存儲的數(shù)據(jù)類型。然后在掌握循環(huán)語句、條件語句的基礎(chǔ)上,學(xué)習(xí)這些基本都是入門級的,做一些小程序就足夠了。但是你需要經(jīng)常使用這些知識,一段時(shí)間后你可能會忘記它。
有了這些基礎(chǔ),您可以學(xué)習(xí)自定義函數(shù)。同時(shí),自定義函數(shù)根據(jù)不同的語言有不同的定義,如C函數(shù)可以在VB中重構(gòu),但不能在VB中重構(gòu)。熟悉自定義函數(shù)之后,就可以學(xué)習(xí)類模塊了。類模塊主要是一些自定義函數(shù)。當(dāng)你認(rèn)為你能理解代碼時(shí),你可以閱讀更多其他人的代碼。嘗試修改其他人的代碼并調(diào)試輸出結(jié)果。不要復(fù)制它們來直接使用它們。這樣,你什么也學(xué)不到。我也是小學(xué)文化程度,0基礎(chǔ)自學(xué),以上是我個(gè)人的學(xué)習(xí)方法。。
雖然我沒有寫太多的代碼,但我以前讀過一段,想和大家分享,哈哈
!一個(gè)程序員接錯(cuò)了代碼,程序員看了代碼很頭疼,因?yàn)闆]有注釋行,然后偷偷地罵:這個(gè)程序是誰寫的?沒有筆記。我必須把結(jié)構(gòu)分成不同的層次。越想越委屈。但看著它,他覺得代碼越來越熟悉了。是的,這個(gè)節(jié)目是他寫的。哈哈
!因此,必要的注釋對于代碼是非常必要的。如果你想到那個(gè)程序員,你甚至認(rèn)不出你寫的程序。另一個(gè)程序員接手不是更有效嗎?
雖然我寫的代碼不多,但我偶爾會修改站點(diǎn)構(gòu)建系統(tǒng)上的一些模板文件。帶注釋的代碼組織得非常好??雌饋聿粌H賞心悅目,而且更容易找到錯(cuò)誤的代碼。我認(rèn)為對于編寫程序的人來說,要高效地編寫代碼,必要的注釋是必不可少的!