当前位置: 首页 > 科技观察

一位从小学习编程的小姐姐说:我成为更好的程序员的三点心得

时间:2023-03-12 18:19:20 科技观察

本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系转载来源。编者按:近日,一位外国小姐姐分享了自己的编程学习经历,引起了很多关注。她叫KeriSavoca,从小就学习HTML和开发网站。然后我学习了SQL语言、JavaScript和Ruby。在这个过程中,她也积累了很多感悟和经验,并与大家分享。有人看完后表示,文中确实有扎实??的干货。希望对你有所启发。编程不是告诉计算机做某事。许多人认为编程就是告诉计算机做某事。你只需要写一个命令,就像doX一样,问题就解决了。这其实是一个很大的误区。编程需要的不是做X,而是:DoXtoYGetXfromY从YGetX,andputitinZCreateXinYCreateXinY,andmakeitdoZ等等。只有当您开始编写代码来解决实际问题时,您才能意识到这一点。例如,从BigQuery中提取一组数据并将其连接到DataStudio以制作条形图。一般情况下,点击一个按钮就可以对X轴上的参数进行升序或降序排序,但是如果想在BigQuery中按照维度进行自定义排序,则需要代码来解决这个问题。假设你要完成的X轴上的排序顺序是:A、D、E、B、C、F。排序顺序与“table001”中的“location”维度相关,可以这样解决:ELECT*,CASEWHENlocation='A'then1WHENlocation='D'then2WHENlocation='E'then3WHENlocation='B'then4WHENlocation='C'then5WHENlocation='F'then6ELSE0ENDasSortOrderFROMtable001现在可以根据SortOrder进行排序,这是自定义的,而不是升序或降序.这称为doX,但编程远未结束。因为这些只存在于控制台,没有真正的应用。在编程的这个阶段,它只完成了一半。这听起来像是常识,但对于刚接触编程的人来说,可能需要一段时间才能理解和欣赏这个概念。编写代码来解决问题,不要过分依赖教程但是从说明性教程学习编程时很难学会。因为你实际上并不是在解决一个问题,而是在按照一系列的指令进行操作。当您正确地按照这些说明进行操作时,将会产生特定的结果。但是,如果您要解决一个未解决的问题怎么办?没有可遵循的说明。在学习编程时,应该注意所学的技能应该是可以迁移的。如果您不能将练习的技能应用到不同的场景中,那么遵循教程是没有意义的。基于这种考虑,上面的例子应该加上这个词,因为:DoXtoYbecause…GetXfromYbecause…GetXfromY,andputitinZbecause…CreateXinYbecause…CreateXinY,and让它做Z因为......当你学习制作待办事项列表应用程序时,你应该学习的是如何使用相同的概念使应用程序以相似的方式运行。尝试更多的伪代码来提高算法思维。当您编写的代码不起作用时,您应该怎么办?许多人的做法是反复试验,尝试不同的方法来解决问题。只有两种结果:要么它最终起作用,要么它不起作用。这不是缺乏对编程语言的理解,而是算法思维的问题。比如你想写一段代码,从Y中得到X,放到Z中,但是发现不知从哪里得到了Z,又想放到X中,怎么办?只是反复试验可能会解决问题,但很难知道究竟出了什么问题。英国学校学生经常玩的一个游戏“FizzBu??zzQuestions”,经常被用作编程面试的题目,也可以作为测试练习“伪代码”:写一个程序打印这些数字从1到100。但是当一个数字是3的倍数时,打印“Fizz”而不是数字,5的倍数用“Buzz”,如果是3或5的倍数则打印“FizzBu??zz”。技术博主文博(webary)在过去的一篇博文中说过,对于这么小的问题,很多优秀的程序员都可以轻松写出方法,但是很多计算机专业的毕业生做不到或者花更多的时间去做。其背后的原因是忽略了如何想出问题的解决方案,而是一上来就去思考代码实现的问题。伪代码是一种更好的方法,它会引导你从算法开始思考。这不需要你去想用什么语言来解决问题,而是先想出解决问题的办法。原文链接:https://medium.com/better-programming/the-3-realizations-that-made-me-a-better-programmer-af7d1bcab4d3简单但复杂的FizzBu??zz面试编程题https://www.cnblogs.com/webary/p/6507413.html