最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

編程能力感覺(jué)停滯不前?這 4 種方法,讓你的編程技能更上一層樓!

2021-03-25 18:01 作者:C語(yǔ)言編程__Plus  | 我要投稿

也許你已經(jīng)學(xué)了很久的編程,寫(xiě)了不少的代碼。但總有些時(shí)候,你還是會(huì)感覺(jué)自己的編程能力停滯不前(會(huì)的還是會(huì),不會(huì)的還是不會(huì))??赡苁且?yàn)樯硖幱谝粋€(gè)沒(méi)什么挑戰(zhàn)的長(zhǎng)期項(xiàng)目之中,亦或是仍在求職,不知如何從人群中脫穎而出。


總之,你不停地編寫(xiě)代碼卻收獲甚微。每個(gè)項(xiàng)目都是相似的,因此你解決問(wèn)題的方式也都類(lèi)似。要想脫離這種惡性循環(huán),你需要跳出思維定勢(shì),勇于挑戰(zhàn)自我。這里有一些建議可以幫助你突破瓶頸。

1.重建現(xiàn)有工具

反饋不足是編碼學(xué)習(xí)的最大阻礙之一。剛開(kāi)始的時(shí)候,這可能不是什么大問(wèn)題,因?yàn)槟銜?huì)得到一些即時(shí)反饋,比如當(dāng)你想讓你編寫(xiě)的代碼運(yùn)行時(shí),它不能進(jìn)行正常運(yùn)行。

但越有經(jīng)驗(yàn),你就會(huì)面臨越多挑戰(zhàn)。你需要考慮設(shè)計(jì)模式、架構(gòu)、可讀性、性能等等。你會(huì)發(fā)現(xiàn)每個(gè)問(wèn)題都有多個(gè)解決方案,無(wú)從評(píng)判你的方案合理與否。

幸運(yùn)的是,有一種方式可直接獲得關(guān)于編碼的反饋或不同視角:通過(guò)重建現(xiàn)有程序庫(kù)或其他工具。你只需要找到某種工具(優(yōu)先考慮常用工具),并知曉其功能。然后確定其核心功能。仔細(xì)閱讀它的程序說(shuō)明書(shū),確認(rèn)已經(jīng)掌握其應(yīng)用程序接口。現(xiàn)在,就可以準(zhǔn)備編寫(xiě)代碼了。

你無(wú)需重新創(chuàng)建一切——只需要重建一個(gè)或幾個(gè)最常見(jiàn)的使用案例。如果進(jìn)展順利,花幾天時(shí)間即可完成。完成編碼后,接下來(lái)的部分就有趣多了。你要檢查代碼,分析你所做的決定,考慮可能出現(xiàn)的極端案例和漏洞并將其標(biāo)記下來(lái)。

然后打開(kāi)你所重建工具的源代碼,回溯代碼以及同樣問(wèn)題的解決方案。思考一下,現(xiàn)在方案是否與原方案相似,是否有所改進(jìn),是否處理方式欠妥,以及其中的原因。你要試著理解程序庫(kù)代碼背后的決策。

許多程序庫(kù)都是由成熟的程序員創(chuàng)建,并由社區(qū)擴(kuò)展。通過(guò)檢查其代碼,你會(huì)學(xué)到新的模式以及解決問(wèn)題的新方式。下次再遇到類(lèi)似問(wèn)題時(shí),你便會(huì)將新知識(shí)投入實(shí)踐。


2.結(jié)對(duì)編程

結(jié)對(duì)編程是一種頗具爭(zhēng)議的方式。這是一種軟件開(kāi)發(fā)技術(shù),常指兩位程序員共同合作,但僅有一方負(fù)責(zé)編寫(xiě)代碼,而另一方則負(fù)責(zé)觀察并回顧整體工作。這兩位程序員的角色會(huì)進(jìn)行定期調(diào)換。這種方法的缺陷很明顯:只有一位程序員編程,所以軟件創(chuàng)建時(shí)間也就更長(zhǎng);但優(yōu)勢(shì)便是軟件編寫(xiě)質(zhì)量會(huì)更好。

或許結(jié)對(duì)編程對(duì)于軟件開(kāi)發(fā)的好處有待商榷,但其對(duì)于學(xué)習(xí)的幫助是顯而易見(jiàn)的。

你編寫(xiě)代碼時(shí),對(duì)方會(huì)關(guān)注你的思維模式及思考方式。分析創(chuàng)建代碼的過(guò)程,這對(duì)你們雙方都是一種挑戰(zhàn)。通過(guò)觀察其他人編寫(xiě)代碼,你會(huì)了解到對(duì)方的思維模式。你幾乎不大可能與其有著一樣的問(wèn)題解決方案,所以這是了解另一種看問(wèn)題角度的絕佳機(jī)會(huì)。

結(jié)對(duì)編程可能會(huì)有一些難度。為了使其更簡(jiǎn)單,更高效,你應(yīng)該找一個(gè)與你水平相當(dāng)?shù)慕Y(jié)對(duì)伙伴。如果他們資歷太淺,你需要單方面不斷對(duì)其進(jìn)行指導(dǎo);如果他們技巧太成熟,他們很快就會(huì)感到無(wú)聊,對(duì)一切任務(wù)大包大攬。


3.約束自我

創(chuàng)造力十分難得。一旦習(xí)慣一種解題思路,你甚至都不會(huì)考慮替換方案,就像掛了自動(dòng)擋一樣。程序員不是唯一苦尋創(chuàng)造力的職業(yè)。對(duì)于作家來(lái)說(shuō),創(chuàng)造力更是一個(gè)大問(wèn)題。為了激發(fā)創(chuàng)造力,他們開(kāi)發(fā)出了一些小技巧。

約束是激發(fā)創(chuàng)造力的最佳技巧之一。對(duì)于作家來(lái)說(shuō),這種約束可能是針對(duì)文章的字?jǐn)?shù)(比如用少于十個(gè)單詞寫(xiě)一個(gè)故事);也可能是針對(duì)單詞的使用(比如文章中不能出現(xiàn)以“S”開(kāi)頭的單詞)。

作為一名程序員,有無(wú)數(shù)方法通過(guò)限制自己來(lái)獲取創(chuàng)造力,比如:

·避免一些語(yǔ)言特性(例如,代碼中不出現(xiàn)和switch語(yǔ)句)。

·降低數(shù)據(jù)可變性——盡可能使用純函數(shù),甚至可以使用相關(guān)工具,如Immutable來(lái)實(shí)現(xiàn)不變性。

·使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)——這是一種強(qiáng)大的技術(shù),可以優(yōu)化你的代碼,促使你改變思維模式。

·限制時(shí)間(例如,給自己三天時(shí)間來(lái)開(kāi)發(fā)一款應(yīng)用或參加一場(chǎng)黑客)。

約束自我的重點(diǎn)不在于約束,你可以任意選擇自己感興趣的方法,重點(diǎn)在于范式的轉(zhuǎn)變。這種約束會(huì)迫使你重新思考基本原理。重新思考,精煉想法,你會(huì)收獲成長(zhǎng)。


4.編寫(xiě)技術(shù)文章

長(zhǎng)時(shí)間的編程工作會(huì)讓你覺(jué)得自己的工作十分了解。但我敢保證,你并沒(méi)有。在寫(xiě)技術(shù)文章的過(guò)程中,你會(huì)感到十分震驚,你曾經(jīng)對(duì)許多編程方面的事情習(xí)以為常,不經(jīng)思考、一遍又一遍地重復(fù)著同樣的步驟。

當(dāng)以書(shū)面形式解釋編程過(guò)程時(shí),你會(huì)開(kāi)始考慮你的假設(shè)和方法,質(zhì)疑某些代碼是否是問(wèn)題的核心,其它代碼是否冗余或過(guò)分復(fù)雜。

寫(xiě)作會(huì)使你更加有條理地、批判地思考你所編寫(xiě)的代碼,將其進(jìn)行重構(gòu)以及簡(jiǎn)化,以創(chuàng)作出對(duì)其他人有幫助的學(xué)習(xí)材料。

這樣做的意義何在?你在學(xué)習(xí)。表面上看是你在教別人,但其實(shí)是你在不斷學(xué)習(xí)。要想深入地了解一門(mén)學(xué)科,沒(méi)有比教授他人更有效的方式了。好好利用這一點(diǎn),你將獲得突飛猛進(jìn)的成長(zhǎng)!

PS:另外對(duì)于學(xué)習(xí)編程或者正在工作的朋友,如果你想更好的提升你的編程能力乃至轉(zhuǎn)行,學(xué)好C語(yǔ)言C++編程!彎道超車(chē),快人一步!筆者這里或許可以幫到你~

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!



編程能力感覺(jué)停滯不前?這 4 種方法,讓你的編程技能更上一層樓!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
白水县| 抚顺市| 怀宁县| 永清县| 疏附县| 平凉市| 阿拉善盟| 张北县| 郸城县| 平原县| 女性| 长宁区| 南平市| 阳春市| 资中县| 崇州市| 西畴县| 禹城市| 新昌县| 广灵县| 泾源县| 云浮市| 霞浦县| 杂多县| 巫溪县| 新巴尔虎左旗| 大连市| 铜山县| 蒙阴县| 宜川县| 崇明县| 天台县| 吴川市| 凭祥市| 丰宁| 综艺| 开原市| 衢州市| 金门县| 谢通门县| 庆阳市|