女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

最牛B的編碼套路

m3eY_edn_china ? 來源:未知 ? 作者:李倩 ? 2018-03-09 14:39 ? 次閱讀

最近,我大量閱讀了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(練習編程),寫成于2005年,讀后令我驚訝不已:

與你所相信的恰恰相反,單純地每天埋頭于工作并不能算是真正意義上的鍛煉——參加會議并不能鍛煉你的人際交往能力;回復郵件并不能提高你的打字水平。你必須定期留出時間,集中鍛煉,這樣才能把事情做得更好。

我認識很多杰出的程序員——這是在亞馬遜工作最好的額外“福利”之一。如果仔細觀察他們,你會發現他們時時都在鍛煉。他們已經很優秀了,但他們仍然不忘鍛煉。他們鍛煉的方法林林總總,而我在這篇文章中只會介紹其中的幾種。

據我了解,這些杰出程序員之所以如此成功,就是因為他們一直在鍛煉。完美的身材要靠定期的鍛煉才能獲得,而且必須堅持鍛煉才能保持,否則身材就會走形。對于編程和軟件工程來說,道理是一樣的。

這是一個重要的區別——我每天都開車去上班,但我的駕駛水平遠遠不如專業車手;類似的情況,天天編程可能并不足以使你成為一名專業的程序員。那么,什么才能把一個普通人變成一名專業車手或者專業程序員呢?你需要鍛煉什么呢?

答案就在《科學美國人》的一篇名為“The Expert Mind”(專家思維)的文章里:

愛立信提出,重要的并不是經驗本身,而是“努力的學習”,也就是要不斷地挑戰自身能力之外的東西。一些狂熱的愛好者花費了大量的時間去下棋、打高爾夫球或者玩樂器,但他們可能始終停留在業余水平上,而一個訓練有素的學生卻可以在相對較短的時間里超越他們,原因就在這里。值得注意的是,在提高水平方面,花費在下棋上的大量時間(即使參加各種比賽)似乎還是比不過專門的訓練來得更為有效。訓練的主要價值在于發現弱點,并有針對性地進行提高。

“努力的學習”意味著,要常常去處理那些剛好在你能力極限上的問題,也就是那些對你來說有很大可能失敗的事情。如果不經歷一些失敗的話,你可能就不會成長。你必須不斷地挑戰自我,超越自己的極限。

那樣的挑戰有時會在工作中碰到,但也未必。將鍛煉從職業工作中分離出來,這在編程領域常被人稱為“編碼套路”(Code Kata)。

Code Kata的概念是由David Thomas提出的,他是《程序員修煉之道:從小工到專家》的作者之一。這個概念主要指的是,針對某一種特定技術或技能進行重復性的練習,從而將其熟練掌握。——譯者注

所謂套路,就是一系列的招式。這個概念借鑒于武術。

如果你想要看一些編碼套路的例子(也就是努力學習和磨練編程技能的方法),SteveYegge的文章里倒是提出了一些不錯的建議。

他把它們稱作為“實踐演練”:

1. 寫一份自己的簡歷。把自己所有的相關技能都羅列出來,然后把那些在100年后還用得到的標出來。給每個技能打分,滿分為10分。

2. 羅列出你所景仰的程序員。盡量包括那些與你一起工作的人,因為你會在工作中從他們身上獲取一些技能。記錄下他們身上的1 ~ 2個閃光點,也就是你希望自己有所提高的方面。

3. 查看維基百科上的“計算機科學”欄目,找到“計算機領域先驅者”這個分類,從這個列表中挑選一個人,閱讀他的事跡,并且在閱讀時打開任何你感興趣的鏈接。

4. 花20分鐘通讀別人的代碼。讀出色的代碼和讀糟糕的代碼都是有益的,兩者都要讀,輪流切換。如果你無法感覺出它們之間的區別,可以求助于一位你尊敬的程序員,讓他給你展示一下什么是出色的代碼、什么是糟糕的代碼。把你讀過的代碼給別人也看看,問問他們的看法。

5. 羅列出你最喜歡的10個編程工具——那些你覺得你用得最多、非有不行的工具。隨機挑選其中的一個工具,花一個小時去閱讀它的文檔。在這一個小時里,努力去學習這個工具的某個你不曾意識到的新功能,或者發現某種新的使用方法。

6. 想一想,除了編程之外你最擅長什么事情?再想一想,你是通過怎樣的鍛煉才變得如此熟練和專業的?這對于你的編程工作又有什么啟發呢?(怎么把這些經驗應用到編程方面?)

7. 拿出一疊簡歷,并和一組面試官在同一個房間里待上一個小時。確保每份簡歷都至少被3個面試官看過,并且要給出1 ~ 3分的評分。針對那些不同面試官評判大相徑庭的簡歷展開討論。

8. 參與一個電話面試。事后寫下你的反饋,拋出你的觀點,然后與主持電話面試的人聊一聊,看看你們是否達成了一致的結論。

9. 進行一次技術面試,并且被面試的人應該是某個你不太了解的領域里的專家。讓他假定聽眾在該領域里一無所知,因此請他從最基礎的講起。努力去理解他所說的,必要時問一些問題。

10. 有機會參與別人的技術面試。期間,你只是認真地聽、認真地學。在應聘者努力解決技術問題的同時,你也要在自己腦子里嘗試解決這些問題。

11. 找到一個能和你交換實際問題的人,每隔一周,相互交流編程問題。花10 ~ 15分鐘來嘗試解決這些問題,再用10 ~ 15分鐘進行討論(無論能否解決)。

12. 當你聽到任何你一時之間也無法解決的面試問題時,趕緊回到你的座位上,把這個問題用電子郵件發給自己,以留作日后的提醒。在那一周里找出點時間,用自己最喜歡的編程語言來解決它。

我之所以喜歡Steve開出的這個清單,是因為它看上去很全面。有些程序員一想到“鍛煉”,總認為就是一些編碼上的難題。但在我看來,編程更在于人,而不是代碼。因此,通過解決世上所有的、并且晦澀的編程面試題目,在提高你的個人能力方面,這種方法是有局限的。

關于“努力的學習”,我也很喜歡Peter Norvig在“Teach Yourself Programming in TenYears”(花10年時間自學編程)一文中提出的諸多建議:

1. 與別的程序員交流。讀別人的代碼。這比任何書籍或培訓課程都更重要。

2. 動手寫程序!最好的學習方法就是邊做邊學。

3. 在本科或研究生的課程中學習編程課程。

4. 找一些項目來做,并且需要與其他程序員形成團隊來合作。在項目的進行過程中,學會辨別最出色的程序員以及最糟糕的程序員。

5. 在項目中跟隨別的程序員一起工作,了解如何維護那些不是你寫的代碼,并且學習如何寫出利于他人維護的代碼。

6. 學習多種不同的編程語言,特別是那些與你現在所熟悉的語言有著不同的世界觀和編程模型的。

7. 了解硬件對軟件的影響。知道你的電腦執行一條指令需要多少時間,從內存中取出一個字(在有緩存或沒緩存的情況下)需要多少時間,在以太網(或者因特網)上傳輸數據需要多少時間,從磁盤中讀取連續的數據或者在磁盤上跳轉到另一個位置需要多少時間,等等。

你還可以從Dave Thomas的21種實用的編碼套路中獲取靈感(CodeKata.com),或者你更愿意加入一個你家當地的“編程武館”(CodingDojo.org)。

對于“努力的學習”,我無法像Steve,Peter或者Dave那樣提供一個長長的建議列表。我遠不如他們有耐心。

實際上,在我看來,“編程套路”只需兩個招式:

1. 寫博客。我在2004年初創辦了CodingHorror.com博客,作為我自己努力學習的一種形式。它在一開始很不起眼,到后來成為我職業生涯中做過的最重要的一件事。所以,你也應該寫博客。最后“聞達于天下”的人,往往就是那些能夠有效書寫和溝通的人。他們的聲音最響亮,是他們在制定游戲規則,并且引領世界的潮流。

2. 積極參與著名的開源項目。所有的高談闊論聽起來都很好,但是,你是一個大話王還是一名實干家呢?別光說不練,這個非常重要,因為人們會用你的行動來衡量你,而不是你的言論。努力在公眾面前留下些實實在在有用的東西吧,到時候你就可以說,“我在那個項目中出過力。”

當你能編寫精彩的代碼、并且能用精彩的言辭向世人解釋那些代碼時,到那時候,我會覺得你已經掌握了最牛的編碼套路!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    967

    瀏覽量

    55509
  • 亞馬遜
    +關注

    關注

    8

    文章

    2692

    瀏覽量

    84457

原文標題:最牛B的編碼套路

文章出處:【微信號:edn-china,微信公眾號:EDN電子技術設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    絕對值編碼器選型流程 5步鎖定最優型號

    絕對值編碼器選型流程 5步鎖定最優型號!絕對值編碼器明確匹配電氣接口與協議 1、總線兼容性:西門子 PLC 優先選 PROFINET 接口(如倍加福 PN 編碼器);日系設備常用 SSI 或
    的頭像 發表于 06-03 14:30 ?97次閱讀
    絕對值<b class='flag-5'>編碼</b>器選型流程 5步鎖定最優型號

    GPU顯卡維修避坑指南:手把手教你識別行業套路

    你的顯卡維修被“套路”過嗎?“一塊H100顯卡維修報價5萬?修完3個月又壞!”你是否也遇到過——高價采購的顯卡突然故障,返廠維修耗時數月,第三方服務商張口就是“核心損壞,必須換新”?在算力需求激增
    的頭像 發表于 04-02 20:31 ?629次閱讀
    GPU顯卡維修避坑指南:手把手教你識別行業<b class='flag-5'>套路</b>!

    信道編碼和信源編碼的區別

    信道編碼和信源編碼是數字通信系統中兩個至關重要的環節,它們各自承擔著不同的功能和角色。
    的頭像 發表于 01-29 16:29 ?1351次閱讀

    bcd編碼的優缺點 bcd編碼的常見錯誤

    BCD(Binary-Coded Decimal)編碼是一種二進制編碼方式,用于將十進制數(0-9)直接轉換為二進制形式。這種編碼方式在數字系統中非常常見,尤其是在需要處理數字數據的硬件和軟件中
    的頭像 發表于 12-20 17:17 ?1414次閱讀

    編碼器的種類全解析

    編碼器的種類按工作原理分類 光電式編碼器簡述: 光電式編碼器由一個中心有軸的光電碼盤,其上有環形通、暗的刻線,有光電發射和接收器件讀取,獲得四組正弦波信號組合成 A、B、C、D,每個正
    的頭像 發表于 12-11 16:57 ?1986次閱讀
    <b class='flag-5'>編碼</b>器的種類全解析

    編碼器類型詳解:探索不同編碼技術的奧秘

    編碼器類型詳解:探索不同編碼技術的奧秘 在自動化、機器控制和數據處理等領域,編碼器作為關鍵的傳感器組件,扮演著至關重要的角色。它們通過將物理位置、速度或方向轉換為電信號,為各種設備提供精確的控制
    的頭像 發表于 11-19 08:58 ?1723次閱讀
    <b class='flag-5'>編碼</b>器類型詳解:探索不同<b class='flag-5'>編碼</b>技術的奧秘

    增量編碼器與絕對值編碼器的區別

    增量編碼器與絕對值編碼器的區別:增量編碼器與絕對值編碼器在精度特點對比 增量編碼器的精度取決于脈沖的數量和測量的細分程度,通常情況下,其精度
    的頭像 發表于 11-18 16:38 ?2283次閱讀
    增量<b class='flag-5'>編碼</b>器與絕對值<b class='flag-5'>編碼</b>器的區別

    二進制編碼器與絕對編碼器的區別

    編碼器是工業自動化和機器人技術中不可或缺的組件,用于將機械位置或運動轉換為電信號。二進制編碼器和絕對編碼器是兩種常見的編碼器類型,它們各自有著獨特的特點和應用場景。 二進制
    的頭像 發表于 11-06 09:54 ?1149次閱讀

    編碼器常見的類型有哪些?

    不同的分類標準,可以有以下幾種主要類型: 一、按工作原理分類 增量式編碼器 : 將位移轉換成周期性的電信號,再把這個電信號轉變成計數脈沖,用脈沖的個數表示位移的大小。 增量式編碼器在旋轉時有相應的相位輸出(A、B兩路正交信號),
    的頭像 發表于 10-25 09:30 ?2242次閱讀

    變頻器與編碼器的連接方式

    對電機位置的精確控制。連接編碼器信號線:根據編碼器的信號輸出方式,將其信號線連接到變頻器的相應端子上。對于增量式編碼器,需要將A相、B相和Z相信號線分別連接到變頻器的A相輸入端、
    的頭像 發表于 10-23 15:52 ?1214次閱讀

    磁電編碼器和光電編碼器的區別

    磁電編碼器和光電編碼器是兩種不同類型的編碼器,它們在原理、結構、性能和應用領域上都有所不同。 磁電編碼器和光電編碼器的區別 1. 引言
    的頭像 發表于 10-12 09:54 ?2792次閱讀

    使用8b-10b線路編碼和可編程實時單元的驅動器內通信

    電子發燒友網站提供《使用8b-10b線路編碼和可編程實時單元的驅動器內通信.pdf》資料免費下載
    發表于 09-04 09:50 ?0次下載
    使用8<b class='flag-5'>b-10b</b>線路<b class='flag-5'>編碼</b>和可編程實時單元的驅動器內通信

    FPGA-5G通信算法的基本套路

    》、《信號與系統》、《數字通信原理》、《數字信號處理》、《現代信號處理》、《電磁場與電磁波》、《信息論與編碼》等一系列課程磨練過。歷經千帆,我們再來看看,通信系統的設計,套路在哪?從理論到實踐,有幾條街的距離
    發表于 08-15 17:34

    伺服電機編碼器的型號怎么看

    編碼器類型,它通過測量電機軸的旋轉角度變化來提供位置和速度信息。增量式編碼器通常有兩個輸出信號,分別為A相和B相,它們之間存在90度的相位差。通過測量A相和B相的脈沖數,可以計算出電
    的頭像 發表于 06-17 11:07 ?3081次閱讀

    伺服電機編碼器線怎么區分正負極

    控制不準確。本文將詳細介紹伺服電機編碼器線的正負極區分方法。 伺服電機編碼器線的基本結構 伺服電機編碼器線通常由三根線組成,分別是A相線、B相線和Z相線。其中,A相線和
    的頭像 發表于 06-17 10:58 ?3550次閱讀