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

深入理解你的代码才能成为一名优秀的程序员

时间:2023-03-21 14:15:08 科技观察

为什么有些程序员似乎有一种神奇的能力,可以在眨眼之间提取代码的含义?为了回答这个问题,我首先从科学的角度来看我们理解代码的过程。事实证明,理解代码有一个心理过程,我们可以利用这些知识成为更好的程序员。它可以帮助您了解开发过程中的每个环节,让您在编程时不会被技术瓶颈所拖累。本文将简要触及关于编程理解的知识,并从三个方面讨论如何利用这些知识成为更好的程序员。成为更好的程序员的三种方法:首先,你必须知道理解代码的能力取决于三件事:知识——解决问题所需的模块链接——模块之间的粘合假设——形成链接的能力工具很明显,提高编程能力需要更全面的方法。1.获得更多的通用知识由于理解代码的能力取决于现有知识与问题的匹配次数,由此我们可以推断,你拥有的知识越多,成功的概率就越大。作为程序员,我们有必要花费大量的时间来获取新知识。而我们需要关注的更多的是原理而不是技术。考虑到这一点,让我们来看看我们需要包括的一些知识:特定于语言的知识特定于语言的知识是许多开发人员关注的焦点。了解语言和框架的来龙去脉。要了解API和语言结构,在不熟悉的语言中寻找差异,了解内部工作原理。通常有很多课程和资料可以帮助我们掌握这些知识。这类知识的问题是新知识不断涌现。新框架、新版本的语言……而且,随着时间的推移,这些知识变得不那么有价值了。编程概念这类知识的保质期更长。学校的计算机科学学位在这方面投入了大量时间。在学习语言和框架的同时,还可以学习概念性知识。但是从语言和框架中学习概念的一个问题是,有时你很难将基本概念与其语法表示分开。不同的语言表达某些概念的方式有好有坏。因此,了解几种不同的框架和语言是值得的。另一种方法是先学习概念,然后学习它在不同语言中的应用。但是,这种方法的教材和信息更难找到。编程概念包括模式、算法、数据结构等。领域知识行业知识可以为您提供一组额外的非编程概念,可用于构建心智模型。2.更好地匹配代码和常识足够的常识可以让你更好地匹配。因为你知道如何在代码中寻找线索,识别线索,快速提取代码的含义。学习识别代码标记代码标记是暗示基本概念的模式。这些模式可以跨越不同级别的复杂性。它们是一类指向更高层次概念的代码片段。例如,当您看到具有以下模式的代码时:“IterateovertheelementsinanarrayPutelementsintoanewarraybasedonacondition那么您应该知道您正在处理一个过滤器。只需将此代码模块定义为“过滤器”,而不是“用if条件从旧数组中取出一些项放入新数组循环”,这样可以避免走弯路的时间。在传统软件开发中,“模式”指的是相关经典书籍♂内容。不过,代码标识符,虽然和设计模式有关,但是是不同的东西。在以后的文章中,我会列出一些代码标识符,并说明如何识别它们。学习语言规则所谓语言规则,指的是框架约定以及编程语言使用的编码风格。比如我们在Ruby和C#中有不同的命名方式。再比如Rails喜欢使用MVC模式,而其他框架则没有(比如Meteor.js)。遵循语言rules编码使代码更容易理解。即使是专业人士。语言规则是随着时间积累的,我们可以从代码示例和同事那里学习这些规则。如果是新的语言和框架,则需要格外注意。3.更好地制定和修正假设开始时做出的假设越正确,建立心智模型的速度就越快。UseasystematicapproachUsingasystematicapproachtobuildingamentalmodelinvolvesreadeverylinecode,Focuson建立你需要的知识。这种方法效果最好,但对于大型代码库来说不切实际。系统的方法最适用于规模可控的高度关键代码。但理想在现实世界中是很少见的。通常,您要处理多年来杂乱无章地扩展的大型代码库。使用推测方法至于推测方法——寻找有趣的代码片段,目的是做出一个假设,然后再深入挖掘,看看你的假设是否正确。善于识别代码标识符,无论是在句法层面还是在更高的抽象层面,都可以帮助你形成更好的假设。这种方法当然比不上对代码的全面理解,但是相对理解起来还是比较快的。快速修复也很容易破坏系统的某些部分,所以要小心。要成为世界级的程序员,你需要掌握以上三种方法我们都想成为最优秀的程序员。在当今的技术世界中,要想取得成功,您必须跟上不断涌现的新框架和新理论。幸运的是,有一些捷径可用。如果你有目标,意识到自己的不足,那么同样的努力,你就能取得更大更快的进步。在我看来,区分一个程序员是真好还是表面好,关键在于他对编程核心概念的理解。欢迎发表评论。