在2012年秋天,我走进了我的研究生顾问办公室,并问她推荐我参加哪个计算机科学课程。我解释说我是一个完整的编程新手。她建议学习C编程。在参加一些讲座后,我发现我在这个介绍性课程中发言的大多数学生都有一些先前的编程经验。六周和80小时后,我退出了课程。
进入2013年春季学期。我注册了一个更轻松的计算机科学课程,通过网络介绍了计算机编程。我通过课程的第一季度,执行HTML和CSS,轻松执行。然后,我们启动了JavaScript(JS)。我以前的计算机科学课程的持续焦虑和压力的感觉以全面返回。在学期下降到太晚了,可以放弃课程,所以我要求一位朋友寻求帮助。
一天下午他通过我的JS代码了解了我,并解释了如何在这里和那里在这里添加一些代码,以测试功能是否按预期工作。他向我展示了什么是一种非常基本的调试形式,识别和删除计算机硬件或软件的错误的过程。他和我也不了解这60分钟的辅导会议可能在我的职业轨迹上的影响。回顾一下,这不是我在计算机科学和技术中学到的最重要的课程。
如果您之前从未写过任何代码,请想象您的任务是绘制完美的鸟类。每次完成绘图并将其转向老师时,老师都会立即决定是否是正确的或不正确的(即二元结果)。老师每次都没有完美时会撕掉这篇论文。如果你问老师有什么问题,他们会以外语(即计算机错误语言)向您解释。最终,在老师几十天的尝试后,他们可能接受你的绘画,你的分数来自错误纠正。读过这个故事,你可能不会认为我的下一个陈述是如此大胆。
学术界中的任何内容都没有测试您的耐心等能力,以承受不断拒绝的能力,而不是学习编写代码。
学习代码时唯一提供安慰的是,如果您了解调试的基本面。现在,当我画一只鸟时,如果喙看起来好,那么如果颜色是合适的,那么如果颜色是合适的,那么如果尺寸有意义的话,则会提供反馈。通过所有的反馈,您更有可能让您的提交是正确的,而无需如此多的拒绝。
无论您是定期写代码,调试的基础都非常有用。每当您需要使用任何类型的软件应用程序或工具时,它们都适用。根据我的技术经验,这是我最喜欢的各种软件应用程序和工具的调试技巧和技巧列表。
使用Web应用程序
Web应用程序是用户通过Web浏览器访问的计算机程序。常见的Web应用程序是Facebook,Gmail和Salesforce。如果您使用Web应用程序遇到问题,则通常可以使用以下之一解决问题:
- 尝试一个不同的浏览器。各种功能可能无法在某些浏览器中使用
- 关闭插件。插件可以影响浏览器中的Web应用程序
- 清除Web浏览器中的缓存
- 重新启动Web应用程序
- 检查问题是否特定于您的应用程序版本。
- 确认您拥有的安全角色。某些功能可能不可见,因为您没有权限。
- 重启你的电脑
导入数据文件
将数据文件(例如XLS,CSV,PDF等)导入Web应用程序或在一段代码中是一个常见任务。常见问题往往与以下相关关系:
- 检查列名称引用是否正确。它们可能是区分大小写的。
- 删除无法识别的任何字符。尝试在UTF-8,UTF-16或ASCII中编码文件。
- 注意正在剥离领先的零和/或领先的零。检查数据类型,无论是字符串,float还是整数。
- 从数据中删除前导和尾随空格
- 检查文件是正确的文件类型(例如,XLS,CSV,PDF,JPG)
- 确认列中的所有值都在接受的规则中。某些列需要某些数据类型(例如,字符串,整数等)和/或它们可能需要在受控列表中存在该值(例如,“红色”和“蓝色”在颜色列下接受)
- 在导入之前删除任何空行
- 导入后的电子邮件通知可能会发送到您的垃圾邮件文件夹
所有编程语言
- 检查整个脚本中的变量值,以查看它们是如何改变的
- 在函数中打印出文本,以测试是否在执行它们时
- 使用集成的开发环境(IDE)
- 在您的代码中使用大量评论
- stackoverflow和谷歌是你的朋友
- 检查您正在使用的编程语言或库的哪个版本。在版本之间可以大大改变。
- 将冗长的代码分解为更短的片段。例如,而不是用巨型JSON字符串测试代码,而是尝试在小子集上测试它。更好的是,创建自己的mini-json字符串来测试事物。
- 为每行代码逐步记下计算机的操作。Python导师提供了一个伟大的视觉,逐行浏览代码执行行。Web工具适用于Python,JavaScript,Java,C和C ++。
- 检查有人是否为您的特定用例创建了一个包,可以让生活更轻松。例如,Pandas中的操纵数据比使用本机Python更容易。
在JavaScript中编程
- 在函数中使用console.log()打印文本或变量值来测试它们是否在脚本中执行
- 经常清除浏览器缓存
- 尝试不同的Web浏览器 - 插件可以干扰代码
- 升级您的Web浏览器 - 可能无法支持旧版本
在Python中编程
- 对象名称区分大小写(例如,“变量_Name”与“变量_Name”不同)
- 密切关注错误消息。他们通常解释这个问题开始的行号。
- 检查它是一个python v2与python v3更改
- Python有很棒的文档
在SQL中编程
- 测试脚本时,利用限制(limit)获得更快的性能
- 检查是否存在特殊的语法规则或限制由于您正在使用的SQL数据库。例如,MySQL使用#开始注释行,而PostgreSQL使用 - 用于注释
- 不要将表格或可变的1个保留字命名
- 通过在Excel中的数据子集上复制预期的操作,确认输出表是正确的。
最重要的调试建议
当它来学习计算机科学和编程时,我希望我的教授强调了学习调试代码的重要性。我希望我的提示和技巧可以减少写作代码时的焦虑和挫折。哦,我挽救了最后的建议。
如果您无法解决问题,请睡在其上并稍后返回。
严重地。压力较少,新的透视可以帮助您在几分钟内识别解决方案,而您在前一天花费的时间。此建议再次为我和时间支付利息。前一天,我在JS脚本上度过了5个小时。几天后,我回到了问题,快速了解到,当我重新打开浏览器时,这是一个缓存问题。当没有时间的时候,这个建议不起作用。小心,拖延者!
原文链接:
https://towardsdatascience.com/the-most-important-programming-lesson-62467a9a4150