如何提高编码和调试技能

经验,经验和经验。

遇到并解决问题时,可以提高调试技能。 为了做到这一点,您应该通过编写从未做过的事情来挑战自己,您肯定会遇到至少一个困难。

我也建议您不断学习新知识。

最后,请参阅其他优秀程序员编写的代码,它将帮助您了解有效/正确的代码编写方式。 当您发现某些东西时,您将无法理解它的研究及其常见用途,因此您可以学得很好。

有时可能很难找到好的代码示例,但是您可以搜索开源项目和YouTube教程(由专业人员完成)。

或者,如果您在寻找/理解所需要做的事情上挣扎很多,则可以要求自由职业者为您编写一个脚本/程序,其中应包含注释以解释每一点。

(以防您使用Unity)这是一个Unity3D C#自由职业者非常便宜的服务(5 $),其中注释了他的代码:technographicpc:我将在www.fiverr.com上以5美元的价格为您编写一个Unity3D Csharp脚本48小时

好吧,这是我的拙见:

向他人学习

与更好的开发人员合作是提高您的编码技能的唯一最佳方法,没有别的选择。 如果您可以亲自与具有更好技能的人进行编码,那就去做。

最好是在监督下或与出色的开发人员合作。 寻找一个在很多地方工作过的聪明人。 在他的监督下工作,我保证您的编码能力会提高。

摆脱黑暗

你不应该在黑暗中。 就像魔术在发生。 您按一个程序弹出的按钮。 您必须了解一切正常。 如果使用ide,请尝试使用命令行一段时间。 以便更好地了解下面的情况。 源代码如何转换为字节码或机器代码,或解释后的代码如何工作。

一种家庭语言。 假设是Java。 现在,以这种语言为基础打好基础。 您应该知道一切在Java中是如何工作的。 程序的编译方式,运行方式,命令行参数的工作方式,异常的处理方式,内存的管理方式以及通过引用和值传递的内容。

现在,一旦您完成,交易到处都是一样的。 而且有何不同,您可以随时使用Google。

数据结构和算法

这是解决软件工程和计算机科学问题的基础。 在正确的时间使用正确的数据结构可以节省很多麻烦。 我举一个例子。 您需要再次检查集合中是否已存在值。 您选择矢量进行存储。 现在陷入O(n ^ 2)循环。 如果您已经使用了哈希集,那么生活将会很轻松,并且您的程序将会更快。

优秀的程序员擅长算法和数据结构。 期。 如果不是,那就停下来变得更好。 否则,您将不断看到其他人在做您永远不会理解的魔术。

分而治之

相信我,这个策略效果惊人。 考虑一下大局,然后忘记它。 了解如何逐步解决问题。 现在,以轻松的心态解决这些小问题。

哦,顺便说一句,不要只是去那里开始打字。 我不建议制作图表以及他们在课堂上教过的所有东西。 但是编写代码很慢。 快速编码会造成麻烦,您会感到紧张。 因此,请放轻松,并使其缓慢而稳定。 生活会更轻松。 相信我的作品。

了解设计合作伙伴

如果您是软件工程师,那么就离不开设计模式。 读一本关于他们的书。 我读了《 Head First设计模式》。 这是惊人的。 您可以选择自己的方式,但是如果您从未听说过设计模式,请阅读一本书。 我认为,在线内容无法在此处运行。 在您了解设计模式并理解其他代码将变得更加简单之后,您将成为一名更好的软件工程师。

随着时间的推移,他们会变得更好。 不要害怕开设超出需要的课程。 去做就对了。 您将学会自己。

那调试呢?

学习让代码在大脑中运行。 依序遵循代码并在您的大脑中继续运行。 您将解决问题。 无论如何,有很多技术。 最后,调试器是编译语言中的关键。 但是在使用调试器之前,请学习一些技巧,例如,如果结果在该阶段之前是正确的,则在各个阶段中止执行,然后输出调试信息。

之后,进入调试器。 如果您真的很擅长调试器,则可以立即跟踪错误。 切入点,进入,跳出,如果您知道这些事情,那么您已经是一个很好的调试器。 休息伴随着经验。 我想真的没有捷径可走。

广度知识

让我给您一个小测验,以便您可以测试自己拥有多少广度知识

  1. 您知道什么是http请求吗? 什么是发布和获取请求?
  2. 您知道文件权限吗?
  3. 您知道公钥和私钥吗?
  4. 您知道dns吗?
  5. 您知道lambda表达式吗?
  6. 您对并行计算了解多少? 和分布式计算?
  7. 你知道线程锁吗? 当然还有多线程。
  8. 您了解扩展应用程序吗?
  9. 您在版本控制系统方面的表现如何? 或特别是git。 我并不特别偏向git,所以。
  10. 您使用正则表达式的能力如何?
  11. 您知道散列,加盐吗? 唯一的ID?

还有更多。 如果您不知道答案,请找到它们。 当然,除非您是后端Web开发人员,并计划一生都这样做。 成为问题解决者。 而且您将能够使用任何技术。

实践,实践,实践,学习/阅读方法和技术; 重复

编码和调试需要实践,以便您开始考虑策略而不是语法。

学习如何思考编码通常需要阅读其他人针对类似类型问题发现的解决方案的书(函数式编程特别值得研究。)

但是使用这种新的“知识”需要更多的实践,实践,实践。

尽管上述内容在编码以及如何考虑调试方面都是正确的,但使用调试器之类的工具也需要进行练习,只是为了获得使用该工具的便利性。

打个比方:您可以深入了解木工,但还需要知道如何使用所购买的特定锯。

我可以用一个词总结我的答案:练习

然后继续做一次又一次。 使程序员成为优秀程序员的唯一方法就是实践。 考虑到一些问题,尝试对其进行编码,然后您一定会遇到错误。 解决它们。 这个问题肯定会使您到达一个似乎无法自己意识到就开始擅长的点。