成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從小開始學編程的小姐姐自述:我變成更好程序員的三點心得體會

新聞 前端
最近,國外一名小姐姐分享了自己的編程學習經驗,引起了不少關注。

 本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

編者按:最近,國外一名小姐姐分享了自己的編程學習經驗,引起了不少關注。她名為Keri Savoca,小時候就學了HTML并開發了網站。之后又學習了SQL語言以及JavaScript和Ruby等。在這個過程中,她也積累了不少感悟與經驗,并分享了出來。有人閱讀了之后稱,文章里面的確有比較扎實的干貨。希望能夠給你帶來啟發。

從小開始學編程的小姐姐自述:我變成更好程序員的三點心得體會

編程并不是要你告訴計算機做某事

很多人都以為,編程就是要告訴計算機去做某事,就只需要編寫一個命令,就像 do X一樣,問題就解決了。

這其實是一個很大的誤解,編程需要的不是do X,而是:

  • Do X to Y
  • Get X from Y
  • Get X from Y, and put it in Z
  • Create X in Y
  • Create X in Y, and make it do Z

等等。

只有開始寫代碼來解決實際問題,才能意識到這一點。

比如說,從BigQuery 中提取一組數據,并將其連接到Data Studio中做條形圖。

一般情況下,可以通過點擊按鈕對X軸上的參數進行升序或降序排序,但你想要根據BigQuery中的維度進行自定義排序的手,就需要代碼來解決這個問題了。

假設想要完成的X軸上的排序順序是:A, D, E, B, C, F,排序順序與其在“table001”中“location”維度有關系,可以這樣解決:

  1. ELECT *, 
  2. CASE 
  3. WHEN location = ‘A’ then 1 
  4. WHEN location = ‘D’ then 2 
  5. WHEN location = ‘E’ then 3 
  6. WHEN location = ‘B’ then 4 
  7. WHEN location = ‘C’ then 5 
  8. WHEN location = ‘F’ then 6 
  9. ELSE 0 
  10. END as SortOrder 
  11. FROM 
  12. table001 

現在可以根據 SortOrder 進行排序,這是自定義的,而不是升序或降序。

這就是所謂的do X,但編程遠遠沒有結束。因為這些只存在于控制臺中,而沒有實際應用。

編程到這個階段,才剛剛完成了一半。

這聽起來像是一個常識,但對于剛開始編程的人來說,可能需要過一段時間才能夠在概念上有所理解與體會。

寫代碼是為了解決問題,不要太依賴教程

但根據說明性教程學習編程的時候,卻很難學到這一點。

因為你不是在真正解決一個問題,而是在遵循一系列的指令。

當你正確的遵循這些指令的時候,就會產生一個特定的結果。

但如果你要去解決一個尚未解決的問題時呢?就沒有任何指令可以遵循了。

在學習編程的時候要注意到,學習到的技能應該是可以轉換的。如果你不能把你練習的技能應用到不同的場景中,跟著教程學習就沒有意義。

基于這方面考慮,上面的示例應該要加上because這個詞:

  • Do X to Y because …
  • Get X from Y because …
  • Get X from Y, and put it in Z because …
  • Create X in Y because …
  • Create X in Y, and make it do Z because …

當你學會了制作一個待辦事項列表應用程序的時候,你應該學到的是,如何使用相同的概念來使應用程序以類似的方式運行。

多試試偽代碼,可以提升算法思維

當寫出來的代碼沒法運行的時候,你要怎么做?

很多人的方式是試錯,嘗試不同的方法來解決問題。

結果無非兩種:要么終于起作用了,要么不起作用。

這并不是在于對編程語言缺乏理解,而是算法思維上的問題。

比如你想寫一段代碼,從Y那里得到X,然后放到Z里面。

卻發現不知道從哪里得到了Z,然后試著把它放到了X中。

該怎么辦?只是試錯可能解決問題,但很難知道到底哪里錯了。

一種英國學校學生經常玩的游戲“FizzBuzz問題”通常被用來當做編程面試中的題目,也可以作為練習“偽代碼”的測試:

寫一個程序打印1到100這些數字。但是遇到數字為3的倍數的時候,打印“Fizz”替代數字,5的倍數用“Buzz”代替,既是3的倍數又是5的倍數打印“FizzBuzz”。

從小開始學編程的小姐姐自述:我變成更好程序員的三點心得體會

技術博主聞波(webary)在過去的一篇博文中說,就這樣的一個小問題,很多優秀程序員順手就能寫出來方式,但很多計算機專業的畢業生都不會做或者花費更多的時間去做。

背后的原因,就是忽略了如何想出解決問題的辦法,而是一上來就想代碼實現的問題。

而偽代碼是一個比較好的方式,會引導你從算法開始思考。

這不需要你去考慮用什么語言來解決問題,而是先想出解決問題的辦法。

原文鏈接:
https://medium.com/better-programming/the-3-realizations-that-made-me-a-better-programmer-af7d1bcab4d3

簡單卻又復雜的FizzBuzz面試編程問題
https://www.cnblogs.com/webary/p/6507413.html

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2010-04-07 11:36:56

JNCIP

2009-07-03 18:49:07

綜合布線工程實施

2011-04-01 15:22:12

Zabbix配置安裝

2011-09-28 13:21:16

軟件項目

2019-11-11 09:33:09

戴爾

2009-11-04 14:45:18

接入網優化

2009-08-25 13:57:09

C#泛型集合類型

2009-04-27 16:04:47

Windows 7微軟操作系統

2009-09-09 18:07:49

CCNA考試資料

2009-08-28 14:49:19

DHCP服務器管理維護

2017-11-03 09:10:48

2009-01-19 20:16:23

Oracle心得體會

2013-04-15 10:55:09

程序員

2009-07-01 14:28:20

cisco1700路由器配置

2017-11-06 09:10:56

程序員數據行業

2018-01-03 10:28:02

程序員生涯雷軍

2021-10-25 05:43:40

前端技術編程

2009-11-25 17:24:42

無線路由器

2019-05-30 15:20:04

webpack前端開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一二区视频 | 国产精品久久久久久亚洲调教 | 成人影院免费视频 | 中国毛片免费 | 国产在线精品一区二区 | 久久久精品日本 | 午夜精品福利视频 | 欧美日韩三级在线观看 | 亚洲午夜精品一区二区三区 | 国产在线不卡 | 91毛片在线看 | 99精品国产一区二区三区 | 欧美久久一级 | 草在线 | 五月天婷婷丁香 | 97综合在线 | 91久久久久久久久 | 成人福利在线 | 欧美一级片黄色 | 国产精品美女 | 做a视频 | 成人午夜免费福利视频 | 91精品国产91 | 欧美专区在线 | 91视频正在播放 | 久久另类视频 | 欧美高清视频在线观看 | 国产精品成人一区二区三区吃奶 | 美美女高清毛片视频免费观看 | 秋霞电影院午夜伦 | 男女羞羞在线观看 | 亚洲精品日韩精品 | 国外成人在线视频 | 国产精品久久久久久久久久久免费看 | 国产精品久久久亚洲 | av天天看 | 精品久久ai电影 | 国产美女一区二区 | 日韩一区在线播放 | 国产欧美精品一区二区 | 精品国产欧美日韩不卡在线观看 |