2020-11-05

Atlas's blog

talk is not cheap,speak loudly

隨筆 - 19?文章 - 0?評論 - 0

第1篇 編程能力是什么

  在上一篇文章中摹芙,提出了學習編程的首先要學會站在設(shè)計者的視角贮竟,然后緊接著提出了三條原則:(1)專注一個方向,而且一段時間值研究一個蹂楣;(2)要寫博客,將想法整理出來珊皿;(3)要寫代碼剩胁,重復的來寫代碼,反復重構(gòu)届腐。這些話都很正確,但是到了具體操作的時候蜂奸,實際上就會存在一些問題犁苏,無論是方向的選擇,還是說寫博客或者說寫代碼扩所,正確的原則來自于成功者的歸納围详,卻并沒有給出可以執(zhí)行的方案。因而祖屏,在這篇博客里面助赞,嘗試根據(jù)上述的原則,提出可操作性的建議袁勺。

  在這里首先要說兩個概念雹食,一個是編程能力,一個是工作習慣魁兼。下面分別來描述婉徘。

  首先說編程能力漠嵌,上述原則的目的只有一個咐汞,那就是提高編程能力,到了這里儒鹿,就不得不說什么是編程能力化撕,否則很難說提高了,通常理解中編程就是寫代碼约炎,但是這個定義太模糊了植阴,并不能帶給我們?nèi)魏斡袃r值的啟發(fā)來提高這種能力。因而圾浅,在這里掠手,我嘗試來提出自己對于編程能力的看法,編程能力就是把解決方案用代碼呈現(xiàn)出來的能力狸捕。具體來說喷鸽,一個庫實際上就是一個解決方案,用來解決某類問題灸拍,比如正則表達式庫做祝,用來處理正則表達式砾省,而編程能力實際上就是重寫這個庫,實現(xiàn)同樣的功能混槐。如果能夠做得更好的编兄,不論是擴展性,執(zhí)行效率或者說更加容易使用声登,這些的改進都可以說是編程能力更強的一個表現(xiàn)狠鸳。在這里寫代碼= 解決方案 + 代碼實現(xiàn),當然如果在解決問題的時候悯嗓,在解決方案上能夠有很好的創(chuàng)意碰煌,那么就可以說是一個Hack了,最后绅作,如果不僅僅是解決問題芦圾,還能夠提出新的問題,那么無疑是頂級黑客俄认。不過能力是一步步提升的个少,先做一個優(yōu)秀的程序員,做好代碼實現(xiàn)的部分眯杏,然后一步步打怪升級夜焦。在這里現(xiàn)在可以說代碼實際上就是解決方案的一種表現(xiàn)形式,那么為了做好代碼實現(xiàn)岂贩。無疑需要做到以下三件事情:(1)理解解決方案茫经,如果不理解結(jié)局方案,那肯定無法寫出正確的代碼萎津;(2)利用具體的語言寫出代碼卸伞;(3)對代碼進行重構(gòu)優(yōu)化。因而锉屈,提高編程能力的思路就出現(xiàn)了荤傲,針對流程中的每個環(huán)節(jié)單獨進行強化。下面分別來描述:

  理解解決方案颈渊。這點無疑是不容易的遂黍,因為解決方案只是一個大致的思路,或者說只有關(guān)鍵環(huán)節(jié)俊嗽,往往也是描述不清楚的雾家,如同偵探,你掌握了一些證據(jù)绍豁,但是并不足以完成找到犯人芯咧,你還需要做一些工作,也就是把描述性的語言轉(zhuǎn)換成偽代碼,有了偽代碼唬党,任何一個程序員鹃共,利用任何一種語言都可以實現(xiàn)編程。那么如何具體來提高呢驶拱?個人覺得就是劃出數(shù)據(jù)的流程圖霜浴,首先用數(shù)據(jù)結(jié)構(gòu)描述問題,而后思考數(shù)據(jù)怎么傳遞蓝纲,到達最終想要的形式阴孟,通過畫圖,就可以直觀不重不漏的完成這一工作税迷∮浪浚可以先劃出已經(jīng)知道的解決方案的流程圖。實踐幾次箭养,就會有一個比較深刻的見解慕嚷,也會在后續(xù)工作中更加熟練,當然毕泌,這塊核心還是算法的問題喝检,不過,流程圖的使用無疑可以提高你的效率撼泛。

  用熟知的方法寫出代碼挠说。這點就是要熟悉所用語言的特性,包括基礎(chǔ)的語法和高級特性愿题,此外损俭,還需要知道有那些常用的模塊和庫等可以直接使用來解決問題,沒必要浪費時間去做重復的無用功潘酗。這個就是在兩個方向針對性的去看書學習杆兵,此外,最重要的還是多使用語言以及這個模塊崎脉,才能夠真正的掌握拧咳。

  代碼重構(gòu)伯顶。實際包括很多內(nèi)容囚灼,可以是小的改變,也可以是推翻重來祭衩。圍繞擴展性灶体,可用性,可讀性掐暮,可以進行專門的提升蝎抽,這時最好的方法就是找公認在這些領(lǐng)域具體這希些特點的開源項目,根據(jù)方案重寫代碼,反復對比修改樟结,指導對于重構(gòu)有了直覺上的認識养交,而不是理解了概念。

  最后瓢宦,在實際的編程過程中碎连,這三個步驟不是那麼分明,這里只是為了為了方便理解驮履,做這樣的區(qū)分鱼辙,因為腦海中又有這樣一個概念們,就可以針對性來調(diào)高自己玫镐,這對于刻意練習無疑是必不可少的倒戏。當然,也可能有別的思路恐似,這里僅僅提供個人看法杜跷,僅供參考。

  關(guān)于工作習慣矫夷,實際上是一個老生常談葱椭,就是說不止一次,一段時間按照上面做口四,而是讓整個過程變成習慣孵运,在每一次編程都是這樣來的,才能夠真正的提升編程能力蔓彩。對于養(yǎng)成習慣治笨,最好的建議是立馬去做,堅持去做赤嚼,不過這樣的話帶不來任何的啟發(fā)旷赖。這里給出一點小建議:

  (1)構(gòu)建個人的知識數(shù)據(jù)庫:方便快速準確找到可靠的消息更卒。這無疑是很重要一個建議等孵,不論是通過云盤存儲,通過博客記錄都可以蹂空。這里是一個很大的話題俯萌,目前也還在探索中,如果你有好的見解上枕,歡迎交流咐熙。

  (2)搭建工作平臺辨萍;利用好github以及博客棋恼,此外比如論壇和qq群都合理使用。論壇以及qq群方便交流,用來收集資料和見解爪飘,而博客和github則是整理輸出所收集到的資料义起,這是一個閉環(huán)的過程,不斷地循環(huán)往復师崎,搭建起來這樣一個標準化的平臺并扇,后續(xù)要做的就是去搜尋,去寫博客和寫代碼抡诞。關(guān)于那些好的資源穷蛹,目前還在整理中,最常用的比如博客園昼汗,stacjoverflow肴熏,基本就可以解決大部分問題,還有就是官網(wǎng)顷窒。

 ⊥芾簟(3)學習工具提高工作效率。(好的截圖工具鞋吉,好的編輯器)打造習慣之所以堅持不下去鸦做,就是太痛苦了,因而谓着,你需要學習一些軟件泼诱,有了這些軟件,只要一時痛苦赊锚,但是治筒,一旦學會了使用,整個效率就會大大的提升舷蒲,最終收獲到意想不到的回報耸袜。

  所以,最后牲平,總結(jié)來說堤框,你需要關(guān)注以下東西:(1)偽代碼;(2)代碼重構(gòu)技巧(擴展性纵柿,效率提升蜈抓,可讀性,可維護性藐窄,易于使用性)资昧;(3)基礎(chǔ)的知識點的掌握程度。世界有天才荆忍,但是你不會和天才競爭,你需要和不是天才的人競爭,你如何脫穎而出刹枉,答案是:正確的工作方向+正確的工作方式叽唱,最后補充一句,優(yōu)秀是一種習慣微宝,你只有拼盡全力人后受罪棺亭,才能夠在人前看起來輕而易舉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蟋软,一起剝皮案震驚了整個濱河市镶摘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岳守,老刑警劉巖凄敢,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異湿痢,居然都是意外死亡涝缝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門譬重,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拒逮,“玉大人,你說我怎么就攤上這事臀规√苍” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵塔嬉,是天一觀的道長狠怨。 經(jīng)常有香客問我,道長邑遏,這世上最難降的妖魔是什么佣赖? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮记盒,結(jié)果婚禮上憎蛤,老公的妹妹穿的比我還像新娘。我一直安慰自己纪吮,他們只是感情好俩檬,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碾盟,像睡著了一般棚辽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰肴,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天屈藐,我揣著相機與錄音榔组,去河邊找鬼。 笑死联逻,一個胖子當著我的面吹牛搓扯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播包归,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼锨推,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了公壤?” 一聲冷哼從身側(cè)響起换可,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厦幅,沒想到半個月后沾鳄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡慨削,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年洞渔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缚态。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡磁椒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出玫芦,到底是詐尸還是另有隱情浆熔,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布桥帆,位于F島的核電站医增,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏老虫。R本人自食惡果不足惜叶骨,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祈匙。 院中可真熱鬧忽刽,春花似錦、人聲如沸夺欲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽些阅。三九已至伞剑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間市埋,已是汗流浹背黎泣。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工恕刘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人聘裁。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓雪营,卻偏偏與公主長得像弓千,于是被迫代替她去往敵國和親衡便。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344