99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員淺談如何快速提高個人開發(fā)能力?

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師飛燕 ? 2018-06-08 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源于我的知識星球“碼農(nóng)翻身”的一個討論帖子,編程新手面對新的技術(shù)和項目,如何學習,如何快速提高個人開發(fā)能力?抓狂的觀點很有意思,我建議他擴展了一下,寫成了這篇文章。

說服自己

拿我自己這一年的工作經(jīng)歷來說吧。

首先,說服自己很重要,什么叫說服自己呢,就是一定要先把自己“忽悠”了,讓自己覺得現(xiàn)在做的事情非常的牛x。

去年這個時候,我也是剛畢業(yè)進公司,上來就要搞一個之前從沒有接觸過的技術(shù),怎么辦?

首先,開始瘋狂暗示自己,這個項目很牛x --- 大名鼎鼎 Erlang 平臺,號稱可以寫出十幾年不用停機,超高可用性的項目,同時搭配吸取了 Ruby on Rails 精髓的 Elixir/Phoenix 開發(fā)框架,開發(fā)速度據(jù)說是 Java 的 20 倍。如此牛逼的技術(shù),學起來還不得偷著樂?

然后搗鼓開發(fā)環(huán)境吧,語言太新,沒有成熟 IDE,正好可以學學多年來一直想學的 Emacs --- 這可是號稱神之編輯器,號稱偽裝成編輯器的操作系統(tǒng),號稱無所不能。

硬著頭皮學,一開始保存文件快捷鍵都要想一下怎么按,把快捷鍵列表放在屏幕另一邊,一邊看一邊寫,竟然也能慢慢上手了。

然后項目跑起來,學習語言,理解核心要點,開始寫代碼,寫項目 --- 從一開始寫爬蟲,到研究如何打包項目,熱部署,再到代碼結(jié)構(gòu)的設(shè)計優(yōu)化 ...

甚至橫向發(fā)展: 前端,交互設(shè)計,SEO 都開始涉及。慢慢的也能理解更深層次的東西了,非常有成就感。

但是還不能滿足,能不能更好?學習一下別的大牛是怎么做的?都用的什么?最新的開源項目用的什么技術(shù)?學過來!

于是埋頭研究,把公司老舊技術(shù)替換成更好的新技術(shù),GraphQL,持續(xù)集成/持續(xù)部署(CI/CD) ...

同時自己也搞點個人愛好,比如給自己博客用上公司還不敢用的更加激進的新技術(shù),折騰一下 ArchLinux,嘗試自己搭建一個代理服務(wù),等等等等 ...

這樣既能提升自己的水平,又給公司創(chuàng)造了價值,這樣帶著榮耀感去學,怎么會覺得枯燥?

總之,“自我催眠”,認為自己做的事情很牛x,這樣做起來才會有激情。不然如果自己都覺得無聊,一看見就煩,那樣能做好才奇怪。

內(nèi)功

貌似學了這么多東西,如果僅僅只能學到點新技術(shù)的用法,能行么?新技術(shù)日新月異,瞎追是追不上的。這就又回到老掉牙的話題了,內(nèi)功。

真正的聰明人聰明在思考問題的方式和你不一樣。聰明人有聰明人的思路,而你想不到這個思路。 但要知道大部分人并不是聰明人,所以也不要自卑。

扯遠了,再說內(nèi)功。為什么有的人學知識特別快?可能并不是因為他有多聰明,而是他內(nèi)功扎實。也就是對計算機的知識體系有一定程度上的理解。

比如在你懂了計算機網(wǎng)絡(luò)之后,就可以很快理解 RESTAPI,GraphQL,RPC 之間的異同,也可以明白即時通訊協(xié)議 XMPP,MQTT 的優(yōu)劣。

比如你了解 Lambda 演算,編譯原理,形式語言,自動機,也就能理解一個語言為什么要這么設(shè)計語法,為什么不能這么寫。

比如你懂了數(shù)據(jù)結(jié)構(gòu),你就能理解數(shù)據(jù)庫,搜索引擎中的細節(jié)原理。

這些知識并沒有被什么邪惡組織封鎖,只要你想學,網(wǎng)絡(luò)上有大把的資源供你所學。

所以你眼中的聰明人真的是天才么?不排除真的有天才,但我想更多的是普通人,只不過他學的稍微比你多一點,知識體系比你更系統(tǒng)一點罷了。

所以只要你愿意學,愿意思考,愿意動腦子,愿意較真,愿意折騰,也一定能成為別人眼中的聰明人。

道理我都懂,但是到底要怎么做?

技術(shù)是復雜的,而且每個人都有自己的學習習慣,所以具體例子可能并不適用于所有人。

所以到底怎么做才能快速提高開發(fā)能力?

別急,先講兩個故事。

利其器

一開始學校老師讓你用純文本編輯器,不讓用 IDE,所以你就選則了比較流行的 Notepad++。

這是第一步,先上手。第二步,在用的過程中尋找問題,并解決問題。

比如,經(jīng)常因為標點符號打錯而不能通過編譯,怎么辦,首先老師不讓用 IDE 的原因之一就是讓你認識到這些錯誤,養(yǎng)成一種嚴謹?shù)牧晳T。

那就打字之前小心嚴謹一點。但是就算你非常嚴謹,難免也有筆誤的時候,這個時候 Eclipse 登場了,問題解決。

然后循環(huán)這個過程 --- 遇到新的問題,解決問題。

比如有些代碼片段記不住怎么辦,用自動補全。變量改名方法結(jié)構(gòu)調(diào)整的時候非常麻煩怎么辦,用 IDE 的重構(gòu)功能,等等。

其中解決問題的時候也會遇到問題,比如怎么才能找到問題的解決辦法呢?一開始總是黑暗的,這個時候可以求助他人,比如現(xiàn)在有人告訴你,搜索引擎是個好東西,于是你知道可以用搜索引擎。

搜索引擎搜索不到怎么辦?這個時候就發(fā)揮作為人類的能力,也就是結(jié)合和運用之前的經(jīng)驗的能力,怎么辦?你現(xiàn)在只會用搜索引擎,那只好在搜索引擎里搜索“如何使用搜索引擎”... 結(jié)果還真搜到幾篇有用的內(nèi)容,一看都是來自某某公眾號的文章,果斷收藏。

發(fā)散思維之后還要收回來,得到了搜索引擎使用秘籍之后要投入使用啊,比如把某搜索引擎換成更好的搜索引擎,把整句分割成關(guān)鍵字來查詢,最終你成功搜到了想要的結(jié)果。同時,積累了數(shù)個收藏夾。

下次再遇到問題的時候,你又可以站在之前的經(jīng)驗上,繼續(xù)提高自己。

這樣你就滿足了嗎?雖然你解決了自己遇到的問題,但是有沒有可能另一種解決方式更完美呢?

所以繼續(xù)發(fā)動人類能力,于是你從你同學口中得知一種叫 IDEA 的東西,又從搜索引擎上得知 IDEA 的優(yōu)點,又在之前收藏的論壇里發(fā)現(xiàn)了一篇 IDEA 的教程,再結(jié)合自己 Eclipse 的使用經(jīng)驗,你成功的上手了 IDEA。這就是人類的能力,可以結(jié)合運用之前得到的經(jīng)驗的能力,而不是只能零散的使用。

你甚至把這個過程總結(jié)成一篇文章,得到了許多膜拜,也得到了許多批評建議,不僅能收獲了,還能輸出了。

最后,追求永無止境,能不能更好?更舒適的字體,更快的快捷鍵,更強的代碼模板 ... 總之,就像劍客對其兵刃的喜愛一樣,投入精力不斷打磨,總是有回報的。

重構(gòu)

拿著錘子不會錘釘子也不行啊。工具并不能直接提高你的編程水平,怎么辦?

繼續(xù)發(fā)動人類天賦技能,之前你已經(jīng)學到了遇到問題解決問題的能力,那寫代碼有什么問題呢?

首先第一步還是先搞起來再說,于是你花了三天時間寫了一個“高達” 80 行的程序。寫完之后覺得自己好牛x啊,厲害的不得了。

冷靜下來,這樣夠了么?不夠,因為代碼中有三段都是重復的,僅僅只有一點區(qū)別,如果以后需要改動,那就需要改動三處代碼,這樣不行。

于是你花了兩個小時把那些代碼改寫成一些函數(shù),使用之前學到的 IDE 重構(gòu)功能,消除了重復代碼,現(xiàn)在只剩下 40 行了。寫完之后感覺已經(jīng)超神了,怎么會有這么聰明的人?

冷靜,這樣還不夠,雖然提取了出來,但是方法名不能體現(xiàn)出功能,而且可讀性太差。如果過兩天來看完全不知寫的啥。

于是你整理代碼結(jié)構(gòu),增加注釋,代碼變得賞心悅目起來。寫完之后感覺精神振奮,抬頭一看,天已經(jīng)黑了,嗯,晚上能吃三個饅頭。

冷靜,這些代碼有沒有值得總結(jié)的通用邏輯?下次如果遇到類似問題能不能直接寫出最后一步的代碼而不是再這么重構(gòu)一遍?

于是你認真分析,總結(jié)出一個非常通用的邏輯,什么時候可以用,什么時候不適用。寫完長舒一口氣,晚上能睡個好覺了。

這么晚了只能吃夜宵了,路上你想,我這個東西這么厲害,怎么能忘了出去炫耀一下?馬上打開手機,正準備發(fā)帖,突然想到,聰明人大有人在,是不是已經(jīng)被捷足先登了?

于是你利用自己之前積累的豐富的搜索引擎使用姿勢,快速搜索到原來早就有人總結(jié)了出來,還出了書,稱之為設(shè)計模式。不禁出了一身冷汗,這要是真出去得瑟了還不得被笑話,幸好搜了一下。

吃完飯回來,翻開設(shè)計模式,哦,原來別人是這么總結(jié)的,大同小異。設(shè)計模式算是理解了,今天是太晚了,只能以后再多加練習。

一星期后,你發(fā)現(xiàn)有人在抱怨設(shè)計模式好難學啊,背也背不會,用也不會用,根本無從下手。于是給他耐心講解一二,那人發(fā)出感嘆,“大神啊,你怎么這么聰明。”

你一時語塞 ... 真的是我聰明么?

總結(jié)

僅僅只是兩個故事么?

其實,開發(fā)能力的提升都像這兩個故事中說的那樣。

如何寫出高質(zhì)高效的代碼?并不是一蹴而就,同樣需要先按以往經(jīng)驗寫出初版,然后提取、抽象,最后歸納總結(jié),甚至開源分享。為下一次更好更快的開發(fā)做好準備。

所以并不是按照某種經(jīng)驗照做就可以快速提升個人能力了,而是需要按照一定的節(jié)奏,站在之前的基礎(chǔ)上,不斷自我升級,迭代,優(yōu)化,開發(fā)水平和速度才能穩(wěn)步提高。

那到底是什么節(jié)奏呢?各位都是程序猿了,那就總結(jié)的程序一點:

遇到問題

解決問題

若解決途中再次遇到問題,則解決子問提

能不能更好?

同時,說服自己非常重要,自信,但不能自滿,要在覺得自己很牛x的情況下虛心前進,這樣有動力又走的遠。

這一點兒也不矛盾?!弘m知大海的深邃,但仍為撿到貝殼而歡呼?!贿@是我非常喜歡的一句話,作為結(jié)尾。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    954

    瀏覽量

    30417
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員
    發(fā)表于 05-13 16:45

    【「零基礎(chǔ)開發(fā)AI Agent」閱讀體驗】+ 入門篇學習

    10.AI Agent開發(fā)模式走向了零代碼可視化模式(需要我們程序員對此有著觀念上的轉(zhuǎn)變),但是掌握編程技術(shù),有助于AI Agent的開發(fā)進階
    發(fā)表于 05-02 09:26

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?762次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    低代碼與傳統(tǒng)開發(fā)的區(qū)別 低代碼與無代碼開發(fā)的區(qū)別

    的工具和圖形界面來縮短開發(fā)時間和降低技術(shù)門檻。以下是對低代碼開發(fā)與傳統(tǒng)開發(fā)的詳細對比: 適用人群 傳統(tǒng)開發(fā) :主要適用于有經(jīng)驗、有基礎(chǔ)的程序員
    的頭像 發(fā)表于 01-31 10:48 ?625次閱讀

    JetBrains IDE上架開發(fā)微信小程序的官方插件

    快速發(fā)展的特色開發(fā)需求,最近 JetBrains 官方開發(fā)并上線了一款專用于微信小程序開發(fā)的插件(插件名稱:WeChat Mini Prog
    的頭像 發(fā)表于 01-16 17:15 ?679次閱讀
    JetBrains IDE上架<b class='flag-5'>開發(fā)</b>微信小<b class='flag-5'>程序</b>的官方插件

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?721次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1111次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?535次閱讀

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導下,鴻蒙生態(tài)服務(wù)公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?753次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

    第五屆長沙·中國1024程序員節(jié)開幕

    場精彩活動將輪番上演。超200名海內(nèi)外技術(shù)人員圍繞人工智能、數(shù)據(jù)技術(shù)等前沿領(lǐng)域展開深入研討。 本屆1024程序員節(jié)中機器人與具身智能、大模型等主題引發(fā)熱烈討論;程序員開發(fā)者如何利用生成式AI提升
    的頭像 發(fā)表于 10-25 15:42 ?499次閱讀

    華為原生鴻蒙之夜官宣1024程序員節(jié)彩蛋:與鴻蒙開發(fā)者共碼未來

    歷史性突破!會上,華為終端BG CEO何剛向所有鴻蒙開發(fā)者致以誠摯的敬意,同時官宣在10月24日程序員節(jié),華為將舉辦以“共碼未來,待到山花爛漫時”為主題的致敬鴻蒙開發(fā)者專屬活動,希望更多開發(fā)
    的頭像 發(fā)表于 10-23 15:01 ?464次閱讀
    華為原生鴻蒙之夜官宣1024<b class='flag-5'>程序員</b>節(jié)彩蛋:與鴻蒙<b class='flag-5'>開發(fā)</b>者共碼未來