如何成为专家或初学者更好的编码器

您在做正确的事情以成为更好的编码器吗?

编程就像任何其他人类活动一样—钟形曲线的最右端将有神童,将有中等能力的人,而在最左端将有人。

我相信只有那些有智力障碍的人才能达到编程能力水平,这会阻碍他们在大多数人类智力活动中的能力。

因此,假设您具有一般的认知能力,您能否成为一名出色的编码员? 变得出色的一个明显的必要要求是首先获得基本能力。

对编程而言,还有很多事情,而不仅仅是对研究和对新代码不了解的呆子。

如何成为专家或初学者更好的编码器

#10。 保持好奇心

当遇到障碍时,大多数与我互动的人都会感到沮丧或好奇。 有时两者兼而有之。

但是,更多的好奇心和更少的挫败感往往会导致更好的学习曲线。 编程需要不断学习。

您第一天不会阅读,第二天会建立一个帝国。 这是一个渐进的学习过程,可以随着您的好奇心而加速。

#9。 要谦虚

通过消除所有假设,他们的代码在语义和语法上都是正确的,更好的程序员往往会迅速发现并修复他们的错误。

准备好接受您的错误,因为它们使您了解出错的地方以及可以改进的地方。

什么不会杀死你,只会使你变得更坚强。

编程是一个简单的过程,一旦掌握了它,就永远不会想离开。

#8。 愿意改变

与其他行业相比,编程变化如此之快。 昨天的最佳实践可能不是今天的最佳实践。

例如,在前端JavaScript库的世界中,React和Redux带来了不变的状态哲学,而Vue / Vuex已经在引入“让我们改变状态”的哲学。

就像暴风雨中的树一样,如果随风摇曳,您将保持站立状态。

#7。 很多练习

最佳软件工程实践与一般实践之间的差距非常大,可能比其他任何工程学科都大。

这就像多年的练习使您处于一种状态,您在演奏乐器时不必考虑每个手指的位置。

一旦知道了要执行的一段代码,该代码似乎就从您的指尖流到了键盘上。

#6。 了解你的工作

研究计算机科学的基础:硬件如何工作,编译器如何工作,不同算法如何工作。

了解如何根据问题的大小分析算法所需的时间,内存和I / O访问权限; 这可能会告诉您您的方法是否可行。

您知道“ NP Complete”是什么意思吗? 你应该。

#5。 停止自己编写代码

什么?

别等,我先出来!

伟人不仅解决编码问题。 伟大的人创造了其他人可以用来解决问题的工具。

下游人员是否在组织中并不重要。

重要的是您的代码是可读,可理解,可用,可扩展,兼容,可亲,可喜等的

中级和优秀的程序员可以创建API,组件和框架,其他团队可以持续与之交互,但通常需要进行协调,修改和协作。

优秀的程序员可以构建API和组件,删除麦克风/键盘,走开并仍然具有影响力。

考虑一下好的API是什么样的。 接口的自文档,分配和资源保留语义是一致的,线程问题得到了清晰的管理和一致的表达等。

组件呢? 功能可以轻松扩展,集成负担减少,接口允许自然扩展 ,组件作者梦dream以求的问题可以得到简洁解决等。

#4。 知道基础

这就是人们上计算机科学课的原因。

您可以说可以自己学习这些信息,但是要困难得多,因为您不知道重要的是什么 ,也不知道如何以有效的学习方式向自己展示这些信息,并且基于已学到的知识。

学习任何一种计算机语言都不能替代任何方法。 对于软件,您需要很好地了解以下主题。 至少,您应该能够使自己了解正在发生的事情以及发生的原因。

#3。 解决问题

您需要了解如何针对要解决的问题(“要求”)写出连贯的描述,而不必致力于解决方案(除非客户指示,否则您还是应该抗拒)。

您必须了解如何组成系统元素来解决问题(这是“编码人员”无法造就出色工程师的地方:他们认为问题与代码有关)。

另外,我认为您应该希望自己成为一名更好的软件工程师 ,而不是编码人员。

通常,您需要将复杂的需求分解为较小的部分,为零件发明解决方案,然后重新组合部分解决方案以实现完整的解决方案。

我不知道学习此方法的好方法, Polya的书“ How to Solve It”是一个经典的开始。

我认为AI社区对此进行了深入研究,我将学习基本的AI课程以更结构化的方式了解这一背景。

我也喜欢“麻省理工学院模型”:选择10种解决方案 解决问题既适用于设计整体解决方案,也适用于底层编码。

有许多很棒的编码语言,其中最好的一种是Java,它被用于许多行业。

#2。 持续学习

您不能只停止在学校学到的东西。 寻求并阅读有关计算机科学,软件工程和您的专业领域的技术文献。

随时准备向他人了解和学习 ,这就是您将来成为团队合作者和更好的编码器的原因。

那里有大量的专业协会和技术期刊。 选择几个并尝试跟上信息库的步伐。

您不能,但是尝试起来会更好。 参加与您的工作相关的会议。

#1。 养成习惯

纪律是一种习惯的微妙和固有的方面。 学习如何编程将需要您几乎每天都编写或阅读代码。

这种纪律是一种挑战,直到它成为一种习惯。 习惯几乎是无意识的,并已成为您日常工作的一部分。

就像去健身房锻炼身体一样,每天写或读一个小时的代码需要成为您日常工作的一部分。

这些是成为一名优秀程序员的一些方法,但这不仅是目的。 这只是您的方向。

努力工作,理解概念以及相当了解您的工作和代码显然是更重要的事情。

综上所述,您可以执行以下操作来评估自己 (这只是带有基本事实的幽默,不是真实的):

你还在犯错误吗?

如果不是>您不是一个好的程序员。

如果是>那些与您以前制作的内容不同吗?

如果不是>您不是一个好的程序员。

如果是>这些错误与语法或语言是否不同?

如果不是>您不是一个好的程序员。

如果是>您还在学习新概念吗?

如果不是>您不是一个好的程序员。

如果是>您是否遵循堆栈溢出并且对内存,如何使用它以及如何工作有很好的了解?

如果否>开始关注,您将是一个很好的程序员。

如果是>太好了。 你是一个优秀的程序员。

和平了!

From: https://hackernoon.com/top-10-best-ways-to-become-a-better-coder-31e46cd0b092