簡單好玩的編程代碼 為什么說讀代碼比寫代碼難?
為什么說讀代碼比寫代碼難?一個老程序員的感覺:寫代碼就是把想法輸出到代碼中讀代碼就是把代碼還原成想法哪個更難?程序員都是怎么工作的?您好,謝謝您的邀請。說到程序員,每個人的第一反應(yīng)一定是it男,那種在
為什么說讀代碼比寫代碼難?
一個老程序員的感覺:
寫代碼就是把想法輸出到代碼中
讀代碼就是把代碼還原成想法
哪個更難?
程序員都是怎么工作的?
您好,謝謝您的邀請。
說到程序員,每個人的第一反應(yīng)一定是it男,那種在電腦前頭發(fā)凌亂的男孩,穿著拖鞋和寬松短褲,戴著一副眼鏡,吃方便面。嗯,事實(shí)上,我一直這么認(rèn)為。至于程序員節(jié),很多人認(rèn)為敲一下電腦就可以了。真的是這樣嗎?答案當(dāng)然是否定的。如果每天敲電腦都可以的話,我也想去
!事實(shí)上,程序員節(jié)對我們來說很無聊,但是他們做的事情很有趣。每天他們都去工作,測試他們昨天寫的程序的效果,并進(jìn)行分析。特別是,游戲程序員可以提前測試游戲??傊嫫饋砗苡腥?。但對于我們這些外行來說,這當(dāng)然非常無聊,只有程序員才能熱愛自己的程序。
我以前偶然遇到一個程序員。我問他你是否愿意每天和電腦打交道。當(dāng)你想不出相同的程序時,抓頭皮是沒有用的。
他告訴我這沒有我們想象的那么無聊。他對他們的工作很感興趣。他從事游戲開發(fā)。他說,其他人永遠(yuǎn)不會理解他們在一瞬間通過一些節(jié)目思考的感受。興奮和自豪來自他們的內(nèi)心。盡管他們每天都在敲電腦,但他們看到了一些不同的東西,我會從好的程序中學(xué)到一些東西,并想知道別人怎么能寫出這么好的程序。那時候我只想理解,不是每一句話都會被別人理解,很多時候別人也不會那么理解你,但沒關(guān)系,只是快樂地生活。
對程序員來說最難的是寫代碼嗎?
對于高級程序員來說,一天可以完成10000行代碼,編寫代碼是最不熟練的事情。
對于程序員來說,最困難的是理解需求以及將自然語言轉(zhuǎn)換為數(shù)學(xué)語言的過程。這個詞就是形式化。早期的程序員需要直接與用戶聯(lián)系,花費(fèi)大量的時間與用戶溝通,抽象出用戶所需要的功能和性能,組織整個系統(tǒng)的數(shù)據(jù)字典?,F(xiàn)在很多公司把這部分工作交給產(chǎn)品經(jīng)理,這既是好事,也是壞事,所以程序員很難成長成為老板。
其次,難點(diǎn)在于系統(tǒng)架構(gòu),包括通信協(xié)議、結(jié)構(gòu)分層、軟件重用和算法。一個公司總是需要有人來做,但它可能只需要一個人來做,通常是技術(shù)總監(jiān)。
寫不出代碼應(yīng)該怎么辦?
我不會寫代碼。我覺得我寫的代碼太少了。
我有以下建議:
1。編寫更多的小程序代碼。從一開始就比別人寫,多寫幾次思考,直到最后能寫出這些小程序代碼。
事實(shí)上,編寫代碼也是一個記憶過程。這需要更多的記憶和理解。每過一段時間,回來看看你以前寫的東西。
3. 我們可以加強(qiáng)基礎(chǔ)知識的學(xué)習(xí),注重對結(jié)構(gòu)語法的理解。其實(shí)很多代碼都是自己的想法和基本語法的集合。
4. 多想想完成程序的邏輯。想想整個過程。在編寫代碼之前先考慮一下。然后寫下來。
5. 在看別人的代碼時,也要注意編寫代碼的邏輯和方法。。
雖然我沒有寫太多的代碼,但我以前讀過一段,想和大家分享,哈哈
!一個程序員接錯了代碼,程序員看了代碼很頭疼,因?yàn)闆]有注釋行,然后偷偷地罵:這個程序是誰寫的?沒有筆記。我必須把結(jié)構(gòu)分成不同的層次。越想越委屈。但看著它,他覺得代碼越來越熟悉了。是的,這個節(jié)目是他寫的。哈哈
!因此,必要的注釋對于代碼是非常必要的。如果你想到那個程序員,你甚至認(rèn)不出你寫的程序。另一個程序員接手不是更有效嗎?
雖然我寫的代碼不多,但我偶爾會修改站點(diǎn)構(gòu)建系統(tǒng)上的一些模板文件。帶注釋的代碼組織得非常好??雌饋聿粌H賞心悅目,而且更容易找到錯誤的代碼。我認(rèn)為對于編寫程序的人來說,要高效地編寫代碼,必要的注釋是必不可少的
如何高效的寫代碼呢?
無論開發(fā)人員是基于Linux系統(tǒng)還是基于windows系統(tǒng)編寫代碼,都需要區(qū)分場景。不同類型的應(yīng)用對開發(fā)環(huán)境有一定的要求:
(1)如果開發(fā)人員開發(fā)exe程序,毫無疑問開發(fā)人員需要在Windows平臺上編寫代碼;
(2)如果開發(fā)人員開發(fā)IOS應(yīng)用程序,必須在MacOS上編寫代碼;
(3)如果開發(fā)人員開發(fā)Android應(yīng)用程序,他們可以在windows或Mac上編寫代碼;
(4)如果開發(fā)人員開發(fā)java應(yīng)用程序,他們可以在windows/Linux/MacOS上編寫代碼,但建議在Linux環(huán)境下編寫代碼(雖然java是跨平臺的,但也有一些代碼與平臺不兼容);
以上,我們可以總結(jié)一下:例如跨平臺對于平臺應(yīng)用程序,一般建議在與部署環(huán)境一致的開發(fā)環(huán)境中編寫代碼,以確保兼容性。
在企業(yè)中從事后臺開發(fā)工作的程序員一般是在linux上寫代碼還是在windows上寫代碼?
讓我想想。這個問題與硬件還是軟件有關(guān)?
事實(shí)上,大的和小的互聯(lián)網(wǎng)公司在硬件方面有很大的差距。例如,許多一流的公司配備了多屏幕、符合人體工程學(xué)的椅子、咖啡館、健身房和鼓勵器(FOG)。在軟件方面可能會有更大的差距。一是人的過程操作,二是各種高質(zhì)量的軟件工具輔助,甚至現(xiàn)在還有人工智能代碼輔助。我昨天看到他們時很驚訝。好的,讓我們把它們展示給你看:
阿里已經(jīng)舉行了一次大規(guī)模的內(nèi)部代碼評估會議(我把它理解為一場敲門代碼競賽)?;旧?,阿里云、淘寶、天貓、釘子戶、博克瑪以及他們的大部門都參與了競爭。參加比賽的有1000多人,我羨慕大公司的頭號人才都是幾千人算出來的,他們工作太忙了,還有這樣的追求,然后到了決賽,一個AI評委出來現(xiàn)場給選手的代碼打分。據(jù)說畫風(fēng)是這樣的:
-鴨子,你的代碼真漂亮。
-精致精致,真是代碼中的佼佼者
-代碼一氣呵成,沒有bug,是天人合一、人與代碼融為一體的無敵境界
!……
好吧,當(dāng)然,這個機(jī)器人法官不僅是娛樂,而且?guī)椭こ處熆焖俣ㄎ诲e誤,并提出維修建議。例如,一些通過規(guī)則檢查和手動檢查無法發(fā)現(xiàn)的缺陷可以快速發(fā)現(xiàn),這可以有效地幫助工程師提高開發(fā)效率和整體代碼質(zhì)量。
這一前景相當(dāng)廣闊。您應(yīng)該知道,開發(fā)工程師在bug修復(fù)上花費(fèi)的平均時間約占總開發(fā)時間的一半。只要這個智能工具在大規(guī)模使用之前不斷優(yōu)化,就一定能夠提高效率。預(yù)計阿里將向更多的工程師開放這個工具。