培训班学编程的小姐姐(我变成更好程序员的三点心得体会:从小开始学编程的小姐姐自述)

我变成更好步骤员的三点心得了解:从小开头学编程的小姐姐自述

Keri Savoca 发在 Medium
量子位 报道 | 群众号 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”维度有干系,可以如此处理:

ELECT *, CASE WHEN location = ‘A’ then 1 WHEN location = ‘D’ then 2 WHEN location = ‘E’ then 3 WHEN location = ‘B’ then 4 WHEN location = ‘C’ then 5 WHEN location = ‘F’ then 6 ELSE 0 END as SortOrder FROM 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

量子位 QbitAI · 头条号签约

眷注我们,第一时间获知前沿科技动态

培训班学编程的小姐姐(我变成更好程序员的三点心得体会:从小开始学编程的小姐姐自述)(图1)

GM游戏 更多